การเข้าถึง Keychain แบบเป็นโปรแกรม
- สามารถเข้าถึงรหัสผ่านที่เก็บไว้ใน keychain แบบเป็นโปรแกรมได้ด้วยคำสั่ง
security
security find-internet-password -s "https://example.com"
- มีประโยชน์เมื่อเขียนสคริปต์อัตโนมัติ
- โบนัส: หากใช้
1Password CLI ก็สามารถเข้าถึงรายการใน 1Password ได้เช่นกัน
เปิดจากเทอร์มินัล
- ใช้คำสั่ง
open เพื่อเปิดไฟล์จากเทอร์มินัลได้
- เมื่อรัน
open file.txt ไฟล์จะถูกเปิดด้วยแอปพลิเคชันเริ่มต้นสำหรับไฟล์ประเภทนั้น เหมือนกับการดับเบิลคลิกไฟล์ใน Finder
คัดลอก/วาง
pbcopy และ pbpaste เป็นยูทิลิตีบรรทัดคำสั่งสำหรับคัดลอกและวางข้อความกับ pasteboard (ซึ่งในระบบปฏิบัติการอื่นมักเรียกว่า "clipboard")
pbcopy จะนำข้อมูลที่ส่งเข้ามาทาง standard input ไปใส่ไว้ใน pasteboard
echo "Hello, world!" | pbcopy;
pbpaste จะดึงข้อมูลจาก pasteboard แล้วแสดงออกทาง standard output
pbpaste
>> Hello, world!
- มีประโยชน์มากเมื่อดึงข้อมูลจากไฟล์ไปใส่ในเบราว์เซอร์หรือแอปพลิเคชัน GUI อื่น ๆ
วันที่แบบ UTC
- หากต้องทำงานกับเซิร์ฟเวอร์บ่อย การรู้เวลาปัจจุบันตาม UTC อาจมีประโยชน์มาก (เช่น เวลาเช็กล็อกของเซิร์ฟเวอร์)
- ทำได้ในบรรทัดเดียวจากเทอร์มินัล
- หรือจะใช้
TZ=UTC date ก็ได้
ป้องกันไม่ให้ Mac หลับ
- หากต้องการไม่ให้ Mac เข้าสู่โหมดพัก ให้รัน
caffeinate ในเทอร์มินัล
caffeinate จะทำให้ Mac ตื่นอยู่จนกว่าผู้ใช้จะหยุดมัน (เช่น กด Ctrl+C)
- เดิมที
caffeinate เคยเป็นเครื่องมือจากภายนอก แต่ตอนนี้เป็นส่วนหนึ่งของ macOS แล้ว
- มักใช้เพื่อไม่ให้ Mac หลับขณะรันเซิร์ฟเวอร์
สร้าง UUID
- หากต้องการ UUID สามารถใช้คำสั่ง
uuidgen ได้
- โดยค่าเริ่มต้น
uuidgen จะแสดง UUID เป็นตัวพิมพ์ใหญ่
- สามารถใช้ร่วมกับ
tr และ pbcopy เพื่อคัดลอก UUID ตัวพิมพ์เล็กไปยังคลิปบอร์ดได้
uuidgen | tr '[:upper:]' '[:lower:]' | pbcopy
- ใช้บ่อยเวลาต้องเขียน unit test ที่ต้องมี ID
สิ่งที่ควรกล่าวถึง
mdfind: ค้นหา Spotlight จากเทอร์มินัล โดยทั่วไปมักใช้ Spotlight เอง (หรือ Raycast ที่ยอดเยี่ยม)
say: คำสั่งนี้ทำให้ Mac พูดข้อความที่กำหนด
screencapture: คำสั่งนี้ใช้จับภาพหน้าจอและบันทึกเป็นไฟล์ได้ แต่ผู้เขียนชอบใช้ cmd-shift-5 มากกว่า
networksetup: คำสั่งนี้ใช้ตั้งค่าเครือข่ายแบบเป็นโปรแกรมได้ แต่ API ค่อนข้างน่ากลัวเลยไม่ค่อยได้ใช้
14 ความคิดเห็น
เมื่อต้องการเปิดโฟลเดอร์ที่ระบุใน Finder จาก Terminal
open -a "Finder" [พาธ]
ก็สามารถเปิดได้ครับ
ผมใช้คำสั่ง
caffeinateบ่อยเหมือนกัน 555ตอนใช้ MacBook ที่บ้านซึ่งไม่ได้ใช้แล้วเป็นเซิร์ฟเวอร์ แล้วอยากให้มันไม่ดับ ผมเคยใช้แอปภายนอกอยู่ แต่ถ้าใช้
caffeinateก็น่าจะพอแล้วครับ ฮ่าๆบางอันเพิ่งเคยเห็นเป็นครั้งแรก แต่ดูแล้วน่าจะมีประโยชน์นะ
ไม่ใช่คำสั่ง แต่ผมใส่ไว้บนแถบด้านบนเพื่อใช้เช็กเวลา UTC โดยเฉพาะอยู่แล้วครับ
https://sindresorhus.com/utc-time
ถ้าใช้
openคู่กับออปชัน-aเพื่อระบุโปรแกรมที่ต้องการต่อท้ายไปด้วย จะสะดวกขึ้นอีกครับยกตัวอย่างเช่น
open . -a Visual\ Studio\ Codeใช้
code .ก็ได้นี่?!?ถ้าติดตั้งผ่าน dmg ก็จะไม่มีคำสั่ง
codeไม่ใช่เหรอครับ?แล้วตอนที่อยากเปิดด้วย IntelliJ อะไรทำนองนั้นก็มีประโยชน์เหมือนกัน :)
สามารถตั้งค่าได้ภายใน VS Code
กด
command+shift+pแล้วพิมพ์shell commandได้เลยผมตั้ง alias ให้ IntelliJ เป็น
iไว้ ดังนั้นถ้าพิมพ์i .หรือi file.txtก็จะเปิดใน IntelliJ ได้ทันที :-)ยูทิลิตีคำสั่งบน macOS ที่มีประโยชน์มีเยอะมากจริง ๆ ครับ ส่วนตัวผมก็คิดว่า
pbcopy,pbpasteเป็นสิ่งที่ใช้บ่อยเหมือนกันผมใช้งาน
pbcopyได้อย่างมีประโยชน์มากครับยังมี
networkQualityด้วยความคิดเห็นจาก Hacker News
afconvertเป็นตัวแปลงรูปแบบไฟล์เสียงที่มี AAC codec ของเฟรมเวิร์ก Core Audio รวมอยู่ด้วยafconvert in.wav -o out.m4a -q 127 -s 2 -b 160000 -f m4af -d 'aac 'diskutilมีเครื่องมือหลากหลายสำหรับสตอเรจทั้งแบบติดตั้งถาวรและแบบถอดได้mb=300; diskutil eraseVolume APFS myramdisk \hdiutil attach -nomount ram://$((mb*2048))``แอป
hearทำให้สามารถใช้การรู้จำเสียงพูดและการป้อนตามคำบอกของ macOS ผ่านบรรทัดคำสั่งได้open -n file.pdfจะเปิดอินสแตนซ์ใหม่ของแอป Preview ทำให้เปิดไฟล์เดียวกันซ้ำได้สองครั้งcaffeinate -dช่วยไม่ให้หน้าจอดับ ทำให้ดูหน้าจอได้โดยไม่ต้องขยับเมาส์Disk Utility เวอร์ชันเทอร์มินัลให้ประสิทธิภาพดีกว่า GUI (แอปไม่ค้างหรือเกิดข้อผิดพลาด)
มีรายการยูทิลิตีบรรทัดคำสั่งสำหรับ macOS ที่ติดตั้งได้ง่าย
https://ss64.com/ เป็นแหล่งข้อมูลที่มีประโยชน์ น่าจะรู้จักให้เร็วกว่านี้
ncเป็นเครื่องมือสำหรับการเชื่อมต่อและรับฟัง TCP และ UDP แบบกำหนดเองnetworkQualityเป็นเครื่องมือทดสอบความเร็วและสร้างภาระให้เครือข่ายsystem_profilerเป็นวิธีที่มีประโยชน์สำหรับดึงข้อมูลระบบอย่างกว้างขวางจากเชลล์สคริปต์wdutilนำความสามารถของแอป Wireless Diagnostics มาใช้งานในรูปแบบบรรทัดคำสั่งยูทิลิตีบรรทัดคำสั่ง macOS ที่ไร้ประโยชน์ที่สุดคือ
pdiskมี one-liner สำหรับพรีวิวไฟล์ด้วย Quick Look (ตั้ง alias เป็น
ql)qlmanage -p $argv >/dev/null 2>&1ดูเหมือนไซต์จะล่ม