GN⁺: 유용한 내장 macOS 명령줄 유틸리티
(weiyen.net)Keychain에 프로그램적으로 접근하기
-
security
명령어를 사용하여 키체인에 저장된 비밀번호를 프로그래밍적으로 접근할 수 있음
security find-internet-password -s "https://example.com"
- 자동화된 스크립트 작성 시 유용함
- 보너스:
1Password CLI
를 사용하면 1Password 항목에도 접근 가능
터미널에서 열기
-
open
명령어를 사용하면 터미널에서 파일을 열 수 있음 -
open file.txt
를 실행하면 Finder에서 파일을 더블클릭한 것처럼 해당 파일 유형의 기본 애플리케이션에서 파일이 열림
복사/붙여넣기
-
pbcopy
와pbpaste
는 텍스트를 pasteboard(다른 OS에서는 "clipboard"라고 부르는 것)에 복사하고 붙여넣을 수 있는 명령줄 유틸리티임 -
pbcopy
는 표준 입력으로 주어진 것을 pasteboard에 넣음-
echo "Hello, world!" | pbcopy;
-
-
pbpaste
는 pasteboard에 있는 것을 가져와서 표준 출력으로 출력함pbpaste >> Hello, world!
- 파일에서 데이터를 가져와 브라우저나 다른 GUI 애플리케이션에 넣을 때 매우 유용함
UTC 날짜
- 서버를 많이 다룰 때는 UTC 기준 현재 시간을 아는 것이 유용할 수 있음(예: 서버 로그 확인 시)
- 터미널에서 한 줄로 가능함
-
date -u
-
- 또는
TZ=UTC date
사용 가능
맥 잠자기 방지
- 맥이 잠들지 않게 하려면 터미널에서
caffeinate
를 실행하면 됨-
caffeinate
-
-
caffeinate
는 사용자가 중지할 때까지(예: Ctrl+C 누를 때까지) 맥을 깨어있게 함 -
caffeinate
는 예전에는 서드파티 도구였지만 이제는 macOS에 내장되어 있음 - 주로 서버를 실행할 때 맥이 잠들지 않도록 하는 데 사용함
UUID 생성
- UUID가 필요하다면
uuidgen
명령어를 사용할 수 있음-
uuidgen
-
- 기본적으로
uuidgen
은 대문자로 UUID를 출력함 -
tr
과pbcopy
를 결합하여 UUID를 소문자로 클립보드에 복사할 수 있음-
uuidgen | tr '[:upper:]' '[:lower:]' | pbcopy
-
- ID가 필요한 단위 테스트를 작성할 때 많이 사용함
언급할 만한 것들
-
mdfind
: 터미널에서 Spotlight 검색. 일반적으로 Spotlight 자체(또는 훌륭한 Raycast) 사용 -
say
: 이 명령은 맥이 주어진 텍스트를 말하게 함 -
screencapture
: 이 명령을 사용하면 스크린샷을 찍어 파일로 저장할 수 있음.cmd-shift-5
사용 선호 -
networksetup
: 이 명령을 사용하면 네트워크 설정을 프로그래밍 방식으로 구성할 수 있음. API가 매우 위협적이어서 많이 사용하지는 않음
Hacker News 의견
-
afconvert
는 Core Audio 프레임워크의 AAC 코덱을 포함한 오디오 파일 형식 변환기임- 예시:
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 디스크 파티셔닝 스킴을 사용하여 디스크를 파티셔닝하는 메뉴 기반 프로그램임
-
Quick Look으로 파일을 미리보기 위한 원라이너가 있음 (
ql
로 별칭 설정)- 예시:
qlmanage -p $argv >/dev/null 2>&1
- 예시:
-
사이트가 다운된 것 같음
- 아카이브 링크: https://archive.is/kGmn6
open 은 뒤에 -a 옵션으로 특정 프로그램 지정하는 것까지 같이 쓰면 더 편하더라고요.
예를 들면, open . -a Visual\ Studio\ Code
저는 인텔리제이는 i 로 alias 하는 등으로 해두어서 i . 또는 i file.txt 해주면 바로 인텔리제이에서 열리도록 해두었습니다. :-)