macOS Terminal Secrets / 2024 Edition

MACOS
ТАЙНИ
КОМАНДИ

Командите, shortcuts и tricks, за които 99% от Mac потребителите нямат идея. Компилирано от реален sysadmin опит, не от YouTube туторъли.

47 команди 🖥 macOS 12–15 Използвай с глава
01

$ Terminal — Командите, Които Трябва Да Знаеш

Не grep и ls. Истинските инструменти, с които admins работят ежедневно.

pbcopy / pbpaste — Clipboard от терминала
terminal
cat ~/Desktop/passwords.txt | pbcopy
pbpaste | grep "admin"

Защо е яко: Може да pipeline-ваш всяко CLI output директно в клипборда или обратно. Комбинирано с ssh user@server 'cat /etc/hosts' | pbcopy — вземаш remote файл директно в clipboard-а без да запазваш нищо локално.

mdfind — Spotlight от командния ред (но по-мощен)
terminal
mdfind -name "*.pem" -onlyin ~/
mdfind "kMDItemTextContent == '*password*'cd"

Защо е яко: Spotlight индекса съдържанието на файлове. Можеш да търсиш по metadata — дата на създаване, автор, дори GPS координати на снимки. Намери всички PDF-и, модифицирани тази седмица: mdfind -name "*.pdf" | xargs ls -lt | head -20

lsof — Виж кой държи кой файл / порт
terminal
lsof -i :8080
lsof -p $(pgrep Safari) | grep -i "\.pdf"
lsof -u $USER | grep "deleted"

Защо е яко: Последната команда показва файлове, които са изтрити но все още са отворени от процес — те заемат disk space но са "невидими". Класически forensics trick. Ако видиш deleted файл с огромен размер — намери процеса и го restart-ни за да освободиш пространство.

networksetup — Пълен контрол над мрежата
terminal
networksetup -setdnsservers Wi-Fi 1.1.1.1 8.8.8.8
networksetup -getinfo Wi-Fi
networksetup -setairportpower en0 off && sleep 3 && networksetup -setairportpower en0 on

Защо е яко: Последната команда е Wi-Fi restart без да кликаш. Идеално за script-ове при VPN проблеми или за да смениш DNS в секунда. Без System Preferences, без GUI.

caffeinate — Не позволявай на Mac-а да заспива
terminal
caffeinate -d -t 3600
caffeinate -i rsync -avz /source /dest

Флагове: -d предотвратява sleep на дисплея, -i предотвратява idle sleep, -t е timeout в секунди. Втората команда — rsync-ва БЕЗ риск Mac-а да заспи по средата.

02

# Defaults Write — Скрити настройки

defaults write е системата за конфигурация на macOS. Apple я използва вътрешно но скрива 90% от опциите от потребителите.

⚠ Warning
След повечето defaults write команди трябва да рестартираш процеса: killall Finder, killall Dock или logout/login.
Screenshot формат и локация — без GUI
power
defaults write com.apple.screencapture type jpg
defaults write com.apple.screencapture location ~/Desktop/Screenshots
defaults write com.apple.screencapture disable-shadow -bool true

Последната премахва сянката около screenshot-ите на windows. Файловете стават 40-60% по-малки и изглеждат по-clean.

Finder — Покажи скрити файлове и пълни пътища
power
defaults write com.apple.finder AppleShowAllFiles -bool true && killall Finder
defaults write com.apple.finder _FXShowPosixPathInTitle -bool true && killall Finder
defaults write NSGlobalDomain NSDocumentSaveNewDocumentsToCloud -bool false

Третата команда спира автоматичното запазване в iCloud — нов документ вече се записва локално по default, не в облака.

Dock — Ускори анимациите и добави spacer-и
power
defaults write com.apple.dock autohide-delay -float 0 && killall Dock
defaults write com.apple.dock autohide-time-modifier -float 0.15 && killall Dock
defaults write com.apple.dock persistent-apps -array-add '{"tile-type"="spacer-tile";}' && killall Dock

Dock-ът се появява моментално при hover вместо след 0.5 секунди. Третата команда добавя невидим spacer между икони — можеш да групираш apps визуално.

Изключи Gatekeeper (на собствена отговорност)
danger
sudo spctl --master-disable
sudo spctl --master-enable

Само за dev машини. Позволява стартиране на всякакви apps без Apple нотаризация. Върни го с втората команда след приключване. Алтернатива: xattr -d com.apple.quarantine /Applications/AppName.app — само за конкретен файл.

03

Keyboard Shortcuts — The Ones That Matter

Не Cmd+C и Cmd+V. Тези shortcuts, за които никой не говори.

Force Quit конкретна app без Force Quit меню
++
Spotlight Search
+Space
Screenshot на избрана зона → клипборд
+++4
Отвори нов Finder прозорец в пътя на текущия
++N
Move файл (не copy) с Cmd+V след Cmd+C
++V
Изтрий дума наляво в терминал
+W
Изчисти целия ред в терминал
+U
Отиди в началото на реда (терминал)
+A
Quick Look на файл без да го отваряш
Space (в Finder)
Емоджи и специални символи навсякъде
++Space
Минимизирай всички прозорци (показвай desktop)
++M
Reverse search в терминал history
+R
Lock screen моментално
++Q
Смени input source (клавиатурна наредба)
+Space
Screenshot само на активен прозорец → клипборд
+++4, после Space
Затвори ВСИЧКИ прозорци на app (не само активния)
++W
04

Network — Дълбок контрол

Команди за мрежова диагностика и контрол, за които нямаш нужда от Wireshark.

nettop — Realtime мрежов монитор
terminal
nettop -p tcp

Виждаш всяка TCP конекция в реално време — кой процес, към кой IP, колко bytes. По-добро от Activity Monitor за мрежа.

Flush DNS кеша
terminal
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

Двете команди заедно — пълен DNS flush на macOS Monterey+. Само първата не работи на по-нови версии.

Виж всички отворени мрежови конекции
terminal
netstat -an | grep ESTABLISHED
sudo lsof -i -n -P | grep LISTEN

Втората показва кои портове слушат и кой процес ги държи. Незаменимо при дебъгване на "порт вече зает" грешки.

airport — Скрит Wi-Fi инструмент
terminal
sudo /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -s
alias airport='/System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport'

Сканира всички Wi-Fi мрежи с SSID, RSSI (сила), канал и security тип. Добави alias-а в ~/.zshrc за бърз достъп.

05

Filesystem — Скрити трикове

ditto — По-добър cp за macOS
terminal
ditto -V ~/source ~/destination
ditto -c -k --keepParent folder.zip folder/

ditto запазва всички macOS extended attributes, resource forks и ACL-и. Когато cp или rsync чупят permissions — ditto е отговорът. Втората команда zip-ва folder без hidden Mac файлове (.DS_Store spam).

Виж размера на директории (без du -sh)
terminal
du -sh ~/Library/Caches/* | sort -rh | head -20

Топ 20 на най-тежките cache директории. Намери какво яде disk space за секунди.

Secure изтриване (SSD-safe)
danger
srm -rf /path/to/secret/folder

srm = secure remove. Overwrite-ва данните преди изтриване. На SSD/NVMe дискове с APFS шифроване това е по-малко критично, но при HDD или флашки — задължително.

06

Power User — Ninja ниво

pmset — Пълен контрол над sleep/wake
power
pmset -g
sudo pmset schedule wake "11/25/2024 09:00:00"
pmset -g log | grep -i "wake"

Третата команда показва ЗАЩО Mac-ът се е събудил нощем — дали е bilo Bluetooth устройство, мрежа или scheduled задача. Незаменимо при дебъгване на "Mac се събужда сам".

osascript — Автоматизация без Automator
power
osascript -e 'display notification "Build Done!" with title "Terminal" sound name "Glass"'
osascript -e 'set volume output volume 50'
osascript -e 'tell application "Finder" to empty trash'

osascript изпълнява AppleScript от терминала. Комбинирай с && след дълги build команди за нотификация при приключване: make build && osascript -e 'display notification "Done!" with title "Build"'

sips — Batch resize/convert изображения
terminal
sips -Z 1920 *.jpg
sips -s format png image.jpg --out image.png
for f in *.jpg; do sips -Z 800 "$f" --out "resized/$f"; done

sips е вграден image processor — без Photoshop, без ImageMagick. Resize, convert format, rotate. Третата команда resize-ва целия folder с изображения.

say — Text-to-speech от терминала
terminal
say -v "Samantha" "Build failed. Please check the logs."
cat long_file.txt | say -v "Daniel"

Добави || say "Command failed" след всяка критична команда в скриптове. Mac-ът ще те уведоми гласово при грешка дори да гледаш друг екран.

💡 Pro Tip
Комбинирай всичко: make deploy && say "Deploy successful" || say "Deploy failed, check logs" && osascript -e 'display notification "Check terminal!" with title "Deploy"'

// END OF FILE

Тези команди работят на macOS 12 Monterey+ освен ако не е отбелязано друго.
Тествай в безопасна среда преди да ползваш на production машина.