Ogromne możliwości Terminala w OS X
Ostatnio podawałem sposób na włączenie powtórzeń na klawiaturze Apple za pomocą komendy w Terminalu. W aplikacji Terminal możemy jednak zdziałać o wiele wiele więcej. Poniżej przedstawię 180 ciekawych komend, które zaprezentują Wam sporą część możliwości linii komend systemu OS X.
Strona 12 z 12
System
AirDrop
# Włącz AirDrop poprzez Ethernet i na niewspieranych Makach defaults write com.apple.NetworkBrowser BrowseAllInterfaces -bool true # Włącz (Domyślnie) defaults remove com.apple.NetworkBrowser DisableAirDrop # Wyłącz defaults write com.apple.NetworkBrowser DisableAirDrop -bool YES
AppleScript
Wykonaj AppleScript
osascript /path/to/script.scpt
Podstawy
Porównaj dwa foldery
diff -qr /path/to/folder1 /path/to/folder2
Restart systemu
sudo reboot
Wyłączenie systemu
sudo poweroff
Pokaż wersję systemu
sw_vers
Pokaż czas od ostatniego restartu (Uptime)
uptime
Schowek
Przekopiuj dane do schowka
cat whatever.txt | pbcopy
Skonwertuj zawartość schowka do Plain Textu
pbpaste | textutil -convert txt -stdin -stdout -encoding 30 | pbcopy
Skonwertuj TAB'y w schowku do SPACJI
pbpaste | expand | pbcopy
Skopiuj dane ze schowka
pbpaste > whatever.txt
Posortuj usuń zduplikowane linie ze schowka
pbpaste | sort | uniq | pbcopy
FileVault
Automatycznie odblokuj FileVault po restarcie
Jeżeli FileVault jest włączony na obecnym wolumenie to po restarcie nie będzie konieczne podawanie hasła. Komenda może nie działać na wszystkich systemach.
sudo fdesetup authrestart
Serwis FileVault
# Status sudo fdesetup status # Włącz sudo fdesetup enable # Wyłącz (Domyślnie) sudo fdestatus disable
Informacje/Raporty
Wygeneruj zaawansowany raport systemu i wydajności
sudo sysdiagnose -f ~/Desktop/
Rozszerzenia jądra systemu
Wyświetl status załadowanych rozszerzeń jądra systemu
sudo kextstat -l
Załaduj rozszerzenie jądra systemu
sudo kextload -b com.apple.driver.ExampleBundle
Rozładuj rozszerzenie jądra systemu
sudo kextunload -b com.apple.driver.ExampleBundle
LaunchServices
Przebuduj bazę danych LaunchServices
Wcześniej należy przebudować bazę danych dla locate
sudo $(locate lsregister) -kill -seed -r
Okno logowania
Ustaw tekst w oknie logowania
sudo defaults write /Library/Preferences/com.apple.loginwindow LoginwindowText "Twój tekst"
Zarządzanie pamięcią
Wyczyść pamięć cache
sudo purge
Pokaż statystyki pamięci
# One time vm_stat # Tabela danych, powtórz 10 razy, 1 sekunda przerwy pomiędzy odczytami vm_stat -c 10 1
Centrum powiadomień
Usługa centrum powiadomień
# Wyłącz launchctl unload -w /System/Library/LaunchAgents/com.apple.notificationcenterui.plist && \ killall -9 NotificationCenter # Włącz (Domyślnie) launchctl load -w /System/Library/LaunchAgents/com.apple.notificationcenterui.plist
QuickLook
Podgląd pliku poprzez QuickLook
qlmanage -p /path/to/file
Zdalne Apple Events
# Status sudo systemsetup -getremoteappleevents # Włącz sudo systemsetup -setremoteappleevents on # Wyłącz (Domyślnie) sudo systemsetup -setremoteappleevents off
Użytkownik Root
# Aktywuj dsenableroot # Deaktywuj dsenableroot -d
Uruchamianie w Safe Mode
# Status nvram boot-args # Włącz sudo nvram boot-args="-x" # Wyłącz sudo nvram boot-args=""
Zrzuty ekranu
Zrób opóźniony zrzut ekranu
Zrobi zrzut ekranu w formacie JPEG z opóźnieniem 3 sekund i wyświetleniem w aplikacji Preview/Podgląd
screencapture -T 3 -t jpg -P delayedpic.jpg
Zapisuj zrzuty ekranu w podanej lokalizacji
Zrzuty ekranu będą zapisywane w ~/Desktop
defaults write com.apple.screencapture location ~/Desktop && \ killall SystemUIServer
Ustaw format dla zrzutów ekranu
Zapis ustawiony do formatu png
. Możliwe formaty: bmp
, gif
, jpg
, jpeg
, pdf
, tiff
.
defaults write com.apple.screencapture type -string "png"
Wyłącz cień w zrzutach ekranu
defaults write com.apple.screencapture disable-shadow -bool true && \ killall SystemUIServer
Ustaw domyślną nazwę dla zrzutów ekranu
Data i czas pozostaną niezmienione
defaults write com.apple.screencapture name "Example name" && \ killall SystemUIServer
Instalacja oprogramowania
Instalacja PKG
installer -pkg /path/to/installer.pkg -target /
Aktualizacja oprogramowania
Zainstaluj wszystkie dostępne aktualizacje
sudo softwareupdate -ia
Ustaw czas pomiędzy sprawdzaniem dostępnych aktualizacji
Ustawi sprawdzanie codzienne zamiast cotygodniowego
defaults write com.apple.SoftwareUpdate ScheduleFrequency -int 1
Pokaż dostępne aktualizacje
sudo softwareupdate -l
Ustaw serwer aktualizacji
Należy to zrobić tylko w celach testowych
# Użyj własnego serwera sudo defaults write /Library/Preferences/com.apple.SoftwareUpdate CatalogURL http://su.example.com:8088/index.sucatalog # Użyj serwera Apple sudo defaults delete /Library/Preferences/com.apple.SoftwareUpdate CatalogURL
Spotlight
Indeksowanie Spotlight
# Wyłącz mdutil -i off -d /path/to/volume # Włącz (Domyślnie) mdutil -i on /path/to/volume
Wyczyść indeks Spotlight i przebuduj
mdutil -E /path/to/volume
Szukaj poprzez Spotlight
mdfind -name 'searchterm'
Pokaż zindeksowane metadane Spotlight
mdls /path/to/file
Ochrona integralności systemu
Wyłącz ochronę integralności systemu
Zrestartuj komputer z wciśniętymi Cmd + R, otwórz Terminal i wykonaj komendę:
csrutil disable && reboot
Włącz ochronę integralności systemu
Zrestartuj komputer z wciśniętymi Cmd + R, otwórz Terminal i wykonaj komendę:
csrutil enable && reboot
Data i Czas
Pokaż dostępne strefy czasowe
sudo systemsetup -listtimezones
Ustaw strefę czasową
sudo systemsetup -settimezone Europe/Warsaw
Ustawiaj zegar korzystając z czasu sieciowego
# Status sudo systemsetup getusingnetworktime # Włącz (Domyślnie) sudo systemsetup setusingnetworktime on # Wyłącz sudo systemsetup setusingnetworktime off
Wszystkie komendy wykonujecie na własną odpowiedzialność. Ich możliwości są skierowane przede wszystkim dla bardziej doświadczonych użytkowników