Chai Phonbopit
Jul 8, 2018 · 4 min read
“Close-up of a backlit laptop keyboard” by Markus Petritz on Unsplash

สำหรับบทความนี้จะเน้นไปที่ Mac Users ละกันเนอะ ซึ่งตัว Mac OS มันก็ based on Unix ฉะนั้นพวก Syntax หรืออะไรหลายๆอย่างมันไม่ต่างกันมาก เชื่อว่า Developer หลายๆคนคงปรับตัวได้ไม่ยากเนอะ

จริงๆบทความนี้ย้อนกลับไปสมัยผมเริ่มหัดใช้ Mac OS ใหม่ๆ แต่ยังดีที่ผมเคยใช้ Ubuntu มาก่อน เลยปรับตัวกับ Mac OS ไม่ยาก แต่ก็มีเพื่อนๆบางคนทีี่ใช้แต่ Windows พอมา Mac OS ก็งงไปหลายวันอยู่ พอย้อนกลับไปคิด ทีแรกเข้าใจว่า มันจำเป็นต้องเขียนเป็นบทความเลยหรอ แต่พอคิดอีกที คนที่เค้าไม่รู้ หรือไม่เคยใช้ ก็ต้องให้เวลาเค้าเรียนรู้ซักหน่อย เลยกลายมาเป็นความนี้เลย

Finder โปรแกรมแบบเดียวกับ File Explorer ของ Windows

สำหรับคนใช้ Macbook Pro / Macbook Air สามารถตั้งค่า Short key สำหรับ Trackpad ได้ ที่ Sysmte Preferences -> Trackpad

สามารถเลือกตั้งค่าได้ เช่น อยากคลิ๊กเมาท์ขวา จะใช้ 2นิ้วแตะ เป็นต้น

รู้จักกับ Terminal และ iTerm2 ซะ

แน่นอนสำหรับ Developer ที่ใช้ Mac แล้ว ถ้าเราไม่รู้จัก Terminal หรือ iTerm2 นะ เรียกว่าเชยมากๆ ขนาดใช้ Windows เรายังต้องเปิด CMD หรือ Power Shell เลย

ฉะนั้น Terminal และ iTerm2 เราหลีกเลี่ยงไม่ได้หรอกนะ ซึ่ง Terminal หรือ iTerm2 จริงๆแล้วมันเป็นโปรแกรมที่เอาไว้ให้เรารันคำสั่ง Command Line ได้นั่นเอง (คำสั่ง Command Line หรือ CLI แบบสั้นๆ) มันก็คือคำสั่งที่เราสั่งให้คอมพิวเตอร์มันรู้เรื่องนั่นแหละ จะผ่านภาษา Bash, ZSH หรืออะไรก็แล้ว ที่ระบบมันเข้าใจได้

ซึ่งปกติเราอาจจะสั่งผ่านการกดเมาท์ เช่น เปิด Finder แล้ว คลิ๊กๆ รัวๆ หรือกดปุ่ม Fn ต่างๆ แต่ Terminal เราต้องพิมพ์ล้วนๆเลย

ตัว Terminal มันมีติดเครื่องมา Default ให้เราเลย ไม่ต้องลงอะไรเพิ่มเติมซักกะนิด แค่พิมพ์ Terminal ใน Spotlight Search ก็เจอแล้ว หรือกดจาก Launchpad ก็ได้นะเออ

ส่วน Iterm2 เป็นโปรแกรมเสริม ที่มันเคลมตัวเองว่า มาแทนที่ Terminal แบบเดิมๆ ที่เพิ่งฟังค์ชั่น ให้เราสะดวกสบายขึ้น เราต้องลงเพิ่มเอง วิธีการก็ไม่อยากหรอก กด Link ด้านล่าง แล้วไปลงเองเน้อ (เป็น Developer แล้วลงโปรแกรมไม่เป็นนี่แย่เลยนะ ฮ่าๆ)

และก็ สำหรับใครที่เปิด Terminal หรือ iTerm2 แบบหน้าตาธรรมดาๆ จอดำๆ อยาก Custom เพิ่มลูกเล่น หรือเพิ่ม Feature ให้มัน Cool Cool ก็สามารถทำได้ด้วยนะ


Command Line เบื้องต้น

เปิด Terminal ขึ้นมาซะ มาลองหัด Command Line (CLI) พื้นฐานซักหน่อยกันดีกว่า ตัวอย่าง เช่น

ทำการ List Directory Content เราสามารถพิมพ์ คำสั่งด้านล่างลงไปได้เลย

ls

หรือ อยากดูว่า Folder ปัจจุบันของเราคืออะไร ก็ใช้คำสั่ง

pwd

การย้าย Directory ใช้คำสั่งเพียงแค่

cd /PATH/TO/DIRECTORY

ตัวอย่าง cd เพิ่มเติม

cd ~      # ไปที่โฟลเดอร์ home
cd .. # กลับไปโฟลเดอร์ก่อนหน้า (parent)
cd ../.. # กลับไปโฟลเดอร์ก่อนหน้า 2 ลำดับ
cd / # ไปที่โฟลเดอร์ของ system

สร้างไฟล์ ใหม่ๆ ใช้คำสั่ง touch เช่น

touch FILENAME.txt

สร้างโฟลเดอร์ใหม่ ใช้คำสั่ง mkdir เช่น

mkdir FOLDER_NAME

ก็อปปี้ไฟล์ หรือโฟลเดอร์ ใช้คำสั่ง cp โดยระบุไฟล์ที่จะ Copy และไฟล์ที่จะเซฟ เช่น

cp FILE_FROM FILE_TO
cp -r FOLDER_FROM FOLDER_TO

Move File ใช้คำสั่ง mv โดยระบุไฟล์ที่จะย้าย และปลายทาง เหมือน cp เช่น

mv FILE_FROM FILE_TO
mv -r FOLDER_FROM FOLDER_TO

แสดง Content ของไฟล์นั้นๆ ด้วยคำสั่ง cat เช่น

cat index.html

และก็ Command Line พื้นฐานอื่นๆ สามารถดูเพิ่มเติมได้จากบทความด้านล่างครับ แม้ว่าจะเป็น Ubuntu แต่ว่าใช้ได้เกือบทุกคำสั่งบน Mac OS ครับ


Permission คืออะไร

ในระบบ Unix ซึ่ง Mac OS มันก็เป็น Unix จะมีการแบ่งสิทธิ์การเข้าถึงไฟล์และโฟลเดอร์ต่างๆ เราเรียกกันว่า Permission โดย Permission นั้นมันก็จะแบ่งได้เป็น 3 ส่วน คือ

  1. READ (r): สิทธิ์ในการอ่านไฟล์หรือโฟลเดอร์
  2. WRITE (w): สิทธิ์ในการเขียนและแก้ไขไฟล์หรือโฟลเดอร์
  3. EXECUTE (x): สิทธิ์ในการสั่งรันโปรแกรม (Execute)

ลองเปิด Terminal แล้วพิมพ์ ls -la เราจะเห็น List Permission นั่นเอง

นอกเหนือจาก Permission : READ, WRITE, EXECUTE แล้ว ก็จะมีการแบ่งเงื่อนไขออกเป็น 3 กลุ่มอีก ได้แก่

  1. User : ให้สิทธ์ในการ READ/WRITE/EXECUTE เฉพาะ User นั้นๆ
  2. Group : ให้สิทธิ์ในการ READ/WRITE/EXECUTE เฉพาะ Group นั้นๆ
  3. Other: ให้สิทธิ์สำหรับบุคคลอื่นที่ไม่ใช่ User
ตัวอย่างเลข Permission

การนับเลข Permission เราจะใช้ r มีค่าเท่ากับ 4, w มีค่า 2 และ x มีค่าเท่ากับ 1

เพิ่มเติมเรื่องเลข Permission ทำไม r = 4, w = 2, x = 1 จริงๆแล้วมันคือเลขฐาน 2 เนอะ 1 = Yes และ 0 = No ซึ่ง rwx มัน = 111และ r-x จะเท่ากับ 101

ขอบคุณพี่ Tossapon Nuanchuay สำหรับข้อมูลครับ

จากตัวอย่างด้านบน เราได้เลข Permission คือ 755 วิธีการคิดคือ

  • 7 (สีน้ำเงิน) มาจาก r + w +x คือ 4+2+1 = 7 (หรือเลขฐานสอง = 111 = 7)
  • 5 (สีชมพู) มาจาก r + x คือ 4 + 1 = 5 (หรือเลขฐานสอง = 101 = 5)
  • 5 (สีเขียว) มาจาก r + x คือ 4 + 1 = 5 (หรือเลขฐานสอง = 101 = 5)

เพิ่มเติมเรื่องเลข Permission เช่น

rwx  rwx  r--
111 111 100
7 7 4

อ่านเพิ่มเติมได้จากบทความนี้เนอะ เขียนไว้นานแล้วด้วย รูปก็ก็อปจากบทความด้านล่างนี้แหละมาอธิบายต่อ 😃


รู้จัก Homebrew ด้วยนะ

ซึ่ง Homebrew ถ้าพูดกันง่ายๆเลยก็คือ Package Management บน Mac OS นั่นแหละ ใครที่ใช้ Linux แล้วชอบ apt-get installหรือ yum install ตัว Homebrew ก็ทำแบบเดียวกันเลย ส่วนรายละเอียดเพิ่มเติม ผมแนบ Link ให้อ่านเพิ่มละกัน พอดีเห็นว่ามีบทความเขียนไว้ดีมากแล้ว อ่านโลด

หรือจะอ่านเวอร์ชั่นที่ผมเคยเขียนไว้ก็ได้ครับ นานพอสมควร (ไม่การันตีความถูกต้องเนอะ ฮ่าๆ)


รู้จักกับ Dotfiles ซะ

จริงๆแล้ว Dotfiles มันเป็นแค่ไฟล์ Configuration ของ User นั้นๆ ซึ่งปกติเวลาเรา Settings ค่าต่างๆ มันจะถูกเก็บไว้ใน .zshrc , .bashrc , .vimrc หรืออะไรต่างๆ ที่มันเป็นไปได้ทั้งหมด เช่น เราตั้งค่า VS Code, Sublime Text ไว้ก็เอาไปใช้ได้

ทีนี้ก็เลยมีคนทำ Dotfiles เก็บ Configuration ของตัวเอง เผื่อเวลาย้ายเครื่องก็แค่ Copy ไปวาง เราก็ได้ File Settings แบบเดิมๆ แล้ว ตอนหลังก็เริ่มนิยม นำมาปรับแต่ง Custom มากขึ้นๆเรื่อยๆ

ซึ่ง Open Source หรือ Dotfiles ดังๆ ก็มีหลายเจ้าเหมือนกัน เช่น Thoughtbot’s dotfiles, Oh My ZSH, Pretzo, YADR

ซึ่งหลักๆเลย ก็จะมีแบบ ติดตั้งทีเดียว ได้ Environment, Tools ต่างๆที่ใช้งานด้าน Web Development ให้เราพร้อมเลยภายในคำสั่งเดียว เช่น ติดตั้ง Git, Homebrew, Node.js, Ruby on Rails, Heroku, Docker, ZSH เป็นต้น

หรืออย่าง laptop เป็น Script ที่เอาไว้ติดตั้ง Tools ให้เราพร้อมเลย เช่น tmux, Git, Open SSL, ZSH, Heroku, Image Magick, Node.js, Redis, etc เรียกได้ว่า รันสคริปหลังจากซื้อเครื่อง Macbook Pro มาใหม่ ก็เริ่ม Dev ได้เลยแหละ

Happy Coding ❤️

Devahoy

Learn and share about technologies that power the world, read more at https://devahoy.com

Chai Phonbopit

Written by

I make web stuff with JavaScript (Node & React), Blogger at https://devahoy.com 🤖

Devahoy

Devahoy

Learn and share about technologies that power the world, read more at https://devahoy.com

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade