Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Mac

คู่มือสำหรับมือใหม่: ใช้ Mac Terminal ได้จริง

สำหรับงาน Mac ประจำวัน GUI ที่นุ่มนวลเป็นทั้งประโยชน์และสะดวกสบาย แต่บางครั้ง Finder เป็น middleman ที่อึดอัด

มีวิธีเร็วกว่าหาไฟล์ 5GB ที่ซ่อนอยู่ หรือ path ของทุกไฟล์เกี่ยวกับแอปที่คิดว่าลบแล้ว งานแบบนี้ command line เป็นเพื่อนสนิท

Terminal คืออะไร?

Terminal = utility โต้ตอบกับ Mac ผ่าน command line Linux มีเครื่องมือคล้ายกัน เพราะ Linux และ macOS เป็น Unix-like OSes ภาษาที่พิมพ์ใน Terminal เรียกว่า bash — ทุกอย่างด้านล่างคือคำสั่ง bash

ก่อนเริ่ม ให้ปรับแต่ง Terminal ตามชอบ ได้ถึง download ตัวเลือกภายนอกสำหรับลุคแบบกำหนดเอง

เคล็ดลับ command line Mac ทั่วไป

Syntax ทั่วไป

คำสั่ง bash ปกติเป็นรูปแบบ:

[Command] [Options] [Input or Path to File or Directory]

ตัวอย่าง: ls -la /Applications

  • ls = command
  • -la = compound ของ 2 options (-l และ -a)
  • /Applications = path ที่จะ list

The Path (พาธ)

เข้าใจ path = เข้าใจว่า macOS มองไฟล์อย่างไร path ของไฟล์ = ตู้นกฮีบรูสของโฟลเดอร์ที่ครอบมัน + ชื่อไฟล์เอง

ตัวอย่าง: ไฟล์ My Secrets บน Desktop ของ user John Doe path = /Users/jdoe/Desktop/"My Secrets"

White Space (ช่องว่าง)

ต้อง escape white space เพื่อให้ Terminal ประมวลผลถูกต้อง bash เห็น space = จบคำสั่ง ถ้าโฟลเดอร์มี space เช่น Path Test พิมพ์ ls /Applications/Path Test จะ error — bash คิดว่าเรียก ls บน /Applications/Path ไม่เจอ จึงหยุด

แก้: ห่อชื่อใน quotes หรือ backslash:

  • ls /Applications/"Path Test"
  • ls /Applications/Path\ Test

Sudo

คำสั่งหลายตัวต้องการสิทธิ์แอดมิน ถ้าไม่ได้ login เป็นแอดมิน แต่รู้รหัสผ่าน ให้วาง sudo (ย่อมาจาก "single user do") หน้าคำสั่ง — ให้สิทธิ์แอดมินชั่วคราว

คำสั่ง Terminal ปรับปรุง Workflow

รู้พื้นฐานแล้ว มาดูคำสั่งที่มีประโยชน์มาก ดูรายละเอียดเต็มรูปแบบ (options, examples) ได้ด้วย man <command name>

find

  • แทนที่: Spotlight
  • ดีกว่าที่ไหน: เร็วกว่า ค้นหา system folders ที่ Spotlight ข้ามหรือ index ไม่ได้

Spotlight ข้าม system files ของ macOS ถ้าไม่บอก และแม้บอกก็ index ไม่ได้ดี คำสั่ง find ค้นหาอะไรก็ได้ ทุกที่ และแสดง full path

Syntax ของ find 4 ส่วน:

  1. find
  2. path ของโฟลเดอร์ที่จะค้น (/Applications)
  3. options (ตัวอย่างมี -name = ค้นหาไฟล์ที่ match ชื่อ)
  4. string ที่จะค้น (Google Chrome)

find ใช้ regex (regular expressions) อธิบายเต็มๆ ยาวเกินไป แต่ตัวอย่างนำเสนอ concept สำคัญ: asterisk (*) = wildcard character

วาง * หน้าและท้าย string = find จะ output ผลที่มีตัวอักษรก่อน/หลัง search term — Google Chrome จะเจอ Google Chrome.app

รวมกัน: find /Applications -name "*Google Chrome*"

du (disk usage)

  • แทนที่: Cmd + I ดู info
  • ดีกว่าที่ไหน: แสดงหลายโฟลเดอร์พร้อมกัน โหลดเร็วกว่า

du = "disk usage" บอกขนาดไฟล์/โฟลเดอร์/รายการไฟล์ในโฟลเดอร์ได้เร็ว

Options ที่ดี:

  • -d (depth): ตามด้วยตัวเลข จำกัดความลึกของการค้นหาในโฟลเดอร์ที่รัน du -d 1 /Applications = แสดงขนาดรวมของโฟลเดอร์/ไฟล์ใน Applications เท่านั้น ไม่รวม subfolders
  • -h (human readable): แสดงขนาดเป็น K, M, G (kilo, mega, giga bytes)

mv (move)

  • แทนที่: ลากวางย้ายไฟล์/โฟลเดอร์
  • ดีกว่าที่ไหน: เร็วกว่า ไม่ต้องนำทาง

ย้ายไฟล์/โฟลเดอร์ไปอีกโฟลเดอร์ได้ด้วย mv — เปลี่ยนชื่อ path อย่างเดียว

Syntax: mv <old file path> <new file path>

ตัวอย่าง: mv /Users/jdoe/Documents/file1 /Users/jdoe/Desktop/file1 = ย้าย file1 จาก Documents ไป Desktop

ls (list)

  • แทนที่: Cmd + i ดู info
  • ดีกว่าที่ไหน: เร็วกว่า แสดง info หลายไฟล์พร้อมกัน ปรับแต่งได้มาก

ls แสดงสิ่งในโฟลเดอร์อย่างละเอียด: permission, เวลาแก้ไขล่าสุด, เจ้าของไฟล์, ชื่อไฟล์, ไฟล์ซ่อน

Options ดีๆ:

  • -l (long): แสดง permission, modification time, owner, filename
  • -a (all): แสดงไฟล์ทั้งหมด รวม hidden files (ดีสำหรับโชว์ user Library ที่ macOS ซ่อนไว้)

mkdir (make directory)

  • แทนที่: Finder > File > New Folder
  • ดีกว่าที่ไหน: เร็วกว่า ตั้งชื่อในคำสั่งเลย ไม่ต้องดับเบิลคลิก

สร้างโฟลเดอร์ใหม่ทันที: mkdir /Users/jdoe/Desktop/cool_stuff

rm (remove)

  • แทนที่: ย้ายไป Trash และ Empty Trash
  • ดีกว่าที่ไหน: เร็วกว่า ลบไฟล์ติดขัดที่ Trash ลบไม่ได้

rm ลบไฟล์ทันที ไม่ถามยืนยัน — ใช้ด้วยความระมัดระวังสูงสุด ไม่เหมือน Empty Trash ที่ถามก่อน

ค่าเริ่มต้น rm ลบไฟล์อย่างเดียว ไม่ลบโฟลเดอร์ — ต้องใช้ -R (recursive) เพื่อลบโฟลเดอร์

ตัวอย่าง: rm -R /Users/jdoe/Desktop/cool_stuff

Master Your Mac With the Terminal

ตอนนี้รู้คำสั่ง Terminal พื้นฐาน เริ่มนำไปใช้ใน workflow ประจำวันได้ พอคุ้นเคยกับ bash แล้ว จะไปไกลกว่าแค่แทนที่งานประจำวัน — สำรวจพลังที่ command line เท่านั้นทำได้

เริ่มด้วยติดตั้ง Homebrew — package manager ตัวดีที่สุดสำหรับ macOS ติดตั้งภาษาโปรแกรม repo ใหม่ได้ แล้วลอง fun/cool commands และปรับแต่ง Terminal ให้มีประโยชน์มากขึ้น