42 คะแนน โดย GN⁺ 2024-11-07 | 14 ความคิดเห็น | แชร์ทาง WhatsApp

การเข้าถึง 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 อาจมีประโยชน์มาก (เช่น เวลาเช็กล็อกของเซิร์ฟเวอร์)
  • ทำได้ในบรรทัดเดียวจากเทอร์มินัล
    • date -u
  • หรือจะใช้ TZ=UTC date ก็ได้

ป้องกันไม่ให้ Mac หลับ

  • หากต้องการไม่ให้ Mac เข้าสู่โหมดพัก ให้รัน caffeinate ในเทอร์มินัล
    • caffeinate
  • caffeinate จะทำให้ Mac ตื่นอยู่จนกว่าผู้ใช้จะหยุดมัน (เช่น กด Ctrl+C)
  • เดิมที caffeinate เคยเป็นเครื่องมือจากภายนอก แต่ตอนนี้เป็นส่วนหนึ่งของ macOS แล้ว
  • มักใช้เพื่อไม่ให้ Mac หลับขณะรันเซิร์ฟเวอร์

สร้าง UUID

  • หากต้องการ UUID สามารถใช้คำสั่ง uuidgen ได้
    • 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 ความคิดเห็น

 
progdesigner 2024-11-13

เมื่อต้องการเปิดโฟลเดอร์ที่ระบุใน Finder จาก Terminal

open -a "Finder" [พาธ]

ก็สามารถเปิดได้ครับ

 
bobross0 2024-11-11

ผมใช้คำสั่ง caffeinate บ่อยเหมือนกัน 555

 
zzandore 2024-11-11

ตอนใช้ MacBook ที่บ้านซึ่งไม่ได้ใช้แล้วเป็นเซิร์ฟเวอร์ แล้วอยากให้มันไม่ดับ ผมเคยใช้แอปภายนอกอยู่ แต่ถ้าใช้ caffeinate ก็น่าจะพอแล้วครับ ฮ่าๆ

 
abcde987 2024-11-08

บางอันเพิ่งเคยเห็นเป็นครั้งแรก แต่ดูแล้วน่าจะมีประโยชน์นะ

 
unreal 2024-11-07

ไม่ใช่คำสั่ง แต่ผมใส่ไว้บนแถบด้านบนเพื่อใช้เช็กเวลา UTC โดยเฉพาะอยู่แล้วครับ
https://sindresorhus.com/utc-time

 
laeyoung 2024-11-07

ถ้าใช้ open คู่กับออปชัน -a เพื่อระบุโปรแกรมที่ต้องการต่อท้ายไปด้วย จะสะดวกขึ้นอีกครับ

ยกตัวอย่างเช่น open . -a Visual\ Studio\ Code

 
lazydonkey456 2024-11-07

ใช้ code . ก็ได้นี่?!?

 
whizkyu 2024-11-07

ถ้าติดตั้งผ่าน dmg ก็จะไม่มีคำสั่ง code ไม่ใช่เหรอครับ?
แล้วตอนที่อยากเปิดด้วย IntelliJ อะไรทำนองนั้นก็มีประโยชน์เหมือนกัน :)

 
sjssjs1344 2024-11-09

สามารถตั้งค่าได้ภายใน VS Code
กด command+shift+p แล้วพิมพ์ shell command ได้เลย

 
nicewook 2024-11-07

ผมตั้ง alias ให้ IntelliJ เป็น i ไว้ ดังนั้นถ้าพิมพ์ i . หรือ i file.txt ก็จะเปิดใน IntelliJ ได้ทันที :-)

 
lazydonkey456 2024-11-07

ยูทิลิตีคำสั่งบน macOS ที่มีประโยชน์มีเยอะมากจริง ๆ ครับ ส่วนตัวผมก็คิดว่า pbcopy, pbpaste เป็นสิ่งที่ใช้บ่อยเหมือนกัน

 
ilikeall 2024-11-07

ผมใช้งาน pbcopy ได้อย่างมีประโยชน์มากครับ

 
zihado 2024-11-07

ยังมี networkQuality ด้วย

 
GN⁺ 2024-11-07
ความคิดเห็นจาก 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

    • เป็นโปรแกรมแบบเมนูสำหรับแบ่งพาร์ทิชันดิสก์โดยใช้ Apple disk partitioning scheme
  • มี one-liner สำหรับพรีวิวไฟล์ด้วย Quick Look (ตั้ง alias เป็น ql)

    • ตัวอย่าง: qlmanage -p $argv >/dev/null 2>&1
  • ดูเหมือนไซต์จะล่ม