42 điểm bởi GN⁺ 2024-11-07 | 14 bình luận | Chia sẻ qua WhatsApp

Truy cập Keychain theo cách lập trình

  • Có thể truy cập theo cách lập trình vào các mật khẩu được lưu trong keychain bằng lệnh security
    security find-internet-password -s "https://example.com";
  • Hữu ích khi viết các script tự động hóa
  • Phần thưởng thêm: nếu dùng 1Password CLI thì cũng có thể truy cập các mục trong 1Password

Mở từ terminal

  • Dùng lệnh open để mở tệp từ terminal
  • Khi chạy open file.txt, tệp sẽ được mở bằng ứng dụng mặc định cho loại tệp đó, giống như khi nhấp đúp vào tệp trong Finder

Sao chép/dán

  • pbcopypbpaste là các tiện ích dòng lệnh cho phép sao chép và dán văn bản vào pasteboard (trên các HĐH khác thường gọi là "clipboard")
  • pbcopy đưa dữ liệu nhận từ đầu vào chuẩn vào pasteboard
    • echo "Hello, world!" | pbcopy;
  • pbpaste lấy nội dung trong pasteboard và xuất ra đầu ra chuẩn
    pbpaste   
    >> Hello, world!  
    
  • Rất hữu ích khi lấy dữ liệu từ tệp rồi đưa vào trình duyệt hoặc các ứng dụng GUI khác

Ngày giờ UTC

  • Nếu thường xuyên làm việc với máy chủ, biết thời gian hiện tại theo UTC có thể rất hữu ích (ví dụ: khi kiểm tra log máy chủ)
  • Có thể làm điều đó bằng một dòng trong terminal
    • date -u
  • Hoặc có thể dùng TZ=UTC date

Ngăn Mac ngủ

  • Nếu muốn Mac không chuyển sang chế độ ngủ, chỉ cần chạy caffeinate trong terminal
    • caffeinate
  • caffeinate sẽ giữ cho Mac luôn thức cho đến khi người dùng dừng nó lại (ví dụ: nhấn Ctrl+C)
  • Trước đây caffeinate là công cụ của bên thứ ba, nhưng giờ đã được tích hợp trong macOS
  • Chủ yếu dùng để ngăn Mac ngủ khi đang chạy máy chủ

Tạo UUID

  • Nếu cần UUID, có thể dùng lệnh uuidgen
    • uuidgen
  • Mặc định, uuidgen sẽ in UUID bằng chữ hoa
  • Có thể kết hợp trpbcopy để sao chép UUID chữ thường vào clipboard
    • uuidgen | tr '[:upper:]' '[:lower:]' | pbcopy
  • Thường dùng khi viết unit test cần ID

Những thứ đáng nhắc đến

  • mdfind: tìm kiếm Spotlight từ terminal. Thường sẽ dùng chính Spotlight (hoặc Raycast rất tuyệt)
  • say: lệnh này khiến Mac đọc to văn bản được đưa vào
  • screencapture: dùng lệnh này có thể chụp màn hình và lưu thành tệp. Tôi thích dùng cmd-shift-5 hơn
  • networksetup: lệnh này cho phép cấu hình thiết lập mạng theo cách lập trình. API khá đáng sợ nên tôi không dùng nhiều

14 bình luận

 
progdesigner 2024-11-13

Khi muốn mở một thư mục cụ thể bằng Finder từ Terminal

open -a "Finder" [đường_dẫn]

thì bạn có thể mở như vậy.

 
bobross0 2024-11-11

Tôi hay dùng lệnh caffeinate lắm haha

 
zzandore 2024-11-11

Trước đây ở nhà tôi dùng app bên ngoài để giữ cho chiếc MacBook không dùng tới luôn bật khi dùng làm server, nhưng có vẻ chỉ cần dùng caffeinate là được rồi haha

 
abcde987 2024-11-08

Có vài cái tôi mới thấy lần đầu, nhưng trông có vẻ hữu ích.

 
unreal 2024-11-07

Dù không phải là lệnh, nhưng tôi đang dùng nó bằng cách đưa hẳn lên thanh trên cùng để kiểm tra UTC.
https://sindresorhus.com/utc-time

 
laeyoung 2024-11-07

Mình thấy open sẽ tiện hơn nếu dùng kèm tùy chọn -a phía sau để chỉ định một ứng dụng cụ thể.

Ví dụ: open . -a Visual\ Studio\ Code

 
lazydonkey456 2024-11-07

vsc thì chắc cứ code . là được mà?!?

 
whizkyu 2024-11-07

Nếu cài bằng file dmg thì hình như không có lệnh code đúng không?
Ngoài ra, nó cũng hữu ích khi muốn mở bằng IntelliJ v.v. :)

 
sjssjs1344 2024-11-09

Bạn có thể thiết lập ngay trong VS Code.
Nhấn command+shift+p rồi gõ shell command là được.

 
nicewook 2024-11-07

Tôi đã đặt alias cho IntelliJ là i, nên chỉ cần dùng i . hoặc i file.txt là có thể mở ngay trong IntelliJ. :-)

 
lazydonkey456 2024-11-07

macOS có khá nhiều tiện ích dòng lệnh tích hợp sẵn rất hữu ích, tôi cũng có vẻ dùng pbcopy, pbpaste khá thường xuyên.

 
ilikeall 2024-11-07

Tôi đang sử dụng pbcopy rất hữu ích.

 
zihado 2024-11-07

Còn có cả networkQuality nữa.

 
GN⁺ 2024-11-07
Bình luận trên Hacker News
  • afconvert là trình chuyển đổi định dạng tệp âm thanh, bao gồm codec AAC của framework Core Audio

    • Ví dụ: afconvert in.wav -o out.m4a -q 127 -s 2 -b 160000 -f m4af -d 'aac '
  • diskutil cung cấp nhiều công cụ cho thiết bị lưu trữ cố định và di động

    • Ví dụ: mb=300; diskutil eraseVolume APFS myramdisk \hdiutil attach -nomount ram://$((mb*2048))``
  • Ứng dụng hear cho phép dùng nhận dạng giọng nói và đọc chính tả của macOS từ dòng lệnh

  • open -n file.pdf mở một phiên bản Preview mới, cho phép mở cùng một tệp hai lần

  • caffeinate -d ngăn màn hình tắt, giúp có thể xem màn hình mà không cần di chuyển chuột

  • Phiên bản Terminal của Disk Utility cho hiệu năng tốt hơn GUI (ứng dụng không bị treo hoặc phát sinh lỗi)

  • Có một danh sách các tiện ích dòng lệnh dễ cài đặt cho macOS

  • https://ss64.com/ là một tài nguyên hữu ích, giá như biết sớm hơn

  • nc là công cụ để kết nối và lắng nghe TCP và UDP tùy ý

  • networkQuality là công cụ kiểm tra tốc độ và stress test mạng

  • system_profiler là cách hữu ích để lấy thông tin hệ thống diện rộng trong shell script

  • wdutil cung cấp các chức năng của ứng dụng Wireless Diagnostics dưới dạng dòng lệnh

  • Tiện ích dòng lệnh macOS vô dụng nhất là pdisk

    • Đây là chương trình dạng menu để phân vùng đĩa bằng sơ đồ phân vùng đĩa của Apple
  • Có một one-liner để xem trước tệp bằng Quick Look (đặt bí danh là ql)

    • Ví dụ: qlmanage -p $argv >/dev/null 2>&1
  • Có vẻ như trang web đã bị sập