10 niezbędnych wskazówek dotyczących wiersza poleceń OS X dla zaawansowanych użytkowników

Dla większości zwykłych użytkowników wiersz poleceń OS X, do którego można uzyskać dostęp za pośrednictwem aplikacji Terminal, jest co najmniej tak samo mętny i zniechęcający jak wiersz polecenia systemu Windows, z którego można korzystać tylko w chwilach skrajnego niepokoju. W przypadku tych użytkowników dzieje się tak zwykle, gdy coś poszło nie tak z powodu niewyjaśnionego błędu, a wpisanie tajemniczych poleceń w monicie wydaje się jedyną nadzieją na wyleczenie. Oczywiście najprawdopodobniej faktycznie restartują launchdusługę lub usuwają plistplik.

Dla osób zaznajomionych z powłoką systemu Unix wiersz poleceń lub terminal jest potężnym narzędziem, które ma ułatwić wiele funkcji i interakcji systemowych. Ponieważ OS X jest zbudowany wokół rdzenia BSD, możesz przenieść swoje wymyślne jednolinijkowe narzędzia i pominąć uciążliwe narzędzia GUI do robienia prostych rzeczy, takich jak chodzenie po drzewie katalogów, usuwanie każdego pliku starszego niż 30 dni lub pobieranie listy plików bieżący katalog zawierający określony ciąg tekstowy. Chociaż interfejsy graficzne mogą uprościć wiele zadań, mogą również komplikować inne zadania - a na ratunek przychodzi wiersz poleceń.

OS X ma ukryte klejnoty, o których nawet zaawansowani użytkownicy mogą nie wiedzieć. Oto lista 10 przydatnych narzędzi, które umożliwiają wykonywanie wielu funkcji na komputerze Mac z poziomu wiersza poleceń. Wszystkie z nich powinny być przydatne, a przynajmniej w jednym przypadku zabawne.

1. pbcopyi pbpaste: Skopiuj i wklej do / ze schowka

Narzędzia pbcopyi pbtastewspółpracują ze sobą, umożliwiając dostęp do i z systemowych schowków / karteczek z wiersza poleceń. Na przykład, jeśli chcesz wyświetlić listę wszystkich plików w katalogu zaczynającym się na literę „f” i umieścić tę listę w schowku, wpisz:

$ ls f* | pbcopy

Boom - ten wynik można następnie wkleić do dowolnej aplikacji GUI.

Odwrotność działa tak, jak można się spodziewać. Jeśli masz tę listę plików w schowku z innej aplikacji, możesz ją przetworzyć w wierszu poleceń za pomocą pbpaste:

$ pbpaste | grep foo

Użyje greppolecenia do wyodrębnienia tylko wierszy zawierających ciąg foo.

Jeśli Twoja praca przenosi Cię do wiersza poleceń w połączeniu z aplikacjami GUI, te dwa polecenia z pewnością mogą się przydać.

2 rsync.: synchronizacja plików lub katalogów

rsyncNarzędzie może synchronizować drzewa katalogów między folderami na tym samym systemie lub między folderami na lokalnym i zdalnym systemie. Jest niezwykle przydatny i przez wiele lat był bastionem IT. Jest również zawarty w systemie OS X.

Jeśli potrzebujesz zachować identyczne dwa drzewa katalogów, użycie rsyncw systemie lokalnym jest trywialne:

$ rsync -av /path/to/directory1/ /path/to/directory/2/

Zapewni to, że wszystkie pliki w / path / to / directory1 / również istnieją w / path / to / directory2 /. Jeśli chcesz, aby katalogi były dokładnie identyczne, musisz poinstruować, rsyncaby usunąć również pliki w / path / to / directory2 /, które nie istnieją w / path / to / directory1 /:

$ rsync -av --delete /path/to/directory1/ /path/to/directory2/

Jeśli nie chcesz, aby pliki były wyświetlane podczas synchronizacji, usuń vflagę:

$ rsync -a --delete /path/to/directory1/ /path/to/directory2/

Lub jeśli chcesz zobaczyć, które pliki zostałyby skopiowane lub usunięte, dodaj n:

$ rsync -avn --delete /path/to/directory1/ /path/to/directory2/

Możesz także używać rsyncmiędzy różnymi systemami, o ile zdalny system ma rsynczainstalowany i działa SSH:

$ rsync -av --delete /path/to/directory1/ [email protected]:/path/to/directory1/

Zwróć uwagę, że końcowy ukośnik jest tutaj ważny. Wskazuje, że rsyncma czytać pliki w katalogu źródłowym i synchronizować je w katalogu docelowym. Pomiń końcowy ukośnik i rsyncskopiuje (dołączy) katalog źródłowy do katalogu docelowego, tworząc dodatkowy poziom katalogu, którego być może nie zamierzałeś.

Aby włączyć dostęp SSH na komputerze Mac, otwórz Preferencje systemowe, przejdź do Udostępnianie i wybierz Zdalne logowanie. Będziesz wtedy mógł połączyć rsyncsię z komputerem Mac przez SSH lub użyć SSH do połączenia z powłoką w systemie.

3 ditto.: Kopiuj lub scalaj katalogi lub archiwa

dittoKomenda jest podobna do powierzchownie rsync, ale w rzeczywistości jest to bardzo różne narzędzia. Jest dołączony do OS X od dłuższego czasu, ale pozostaje stosunkowo nieznany.

Podobnie jak rsync, dittomoże być używany do kopiowania drzew katalogów z zachowaniem uprawnień, własności i metadanych. A zatem:

$ ditto /path/to/source /path/to/destination

Jeśli katalog docelowy nie istnieje, dittoutworzy tam dokładną kopię katalogu źródłowego. Jeśli katalog docelowy istnieje, dittopołączy katalog źródłowy z docelowym, nadpisując zduplikowane nazwy plików. Na przykład, możesz użyć dittodo scalenia zawartości dwóch dużych katalogów obrazów w jedną zagnieżdżoną strukturę katalogów.

Ale dittoidzie dalej, ponieważ może również tworzyć, wyodrębniać i manipulować archiwami CPIO (Kopiuj, Kopiuj) i Zip. Możesz określić dokument listy materiałów (BOM), który dittobędzie używany do selektywnego kopiowania lub scalania, dittopomija metadane podczas kopiowania plików, a nawet nakazuje dittozredukowanie uniwersalnych plików binarnych do jednej określonej architektury podczas operacji.

dittoNarzędzie to jest dość skomplikowane narzędzie, które może być bardzo przydatne, gdy stosowane właściwie, ale może też trochę doświadczenia, aby w pełni zrozumieć.

4 tmutil.: Tworzenie kopii zapasowych i przywracanie za pomocą Time Machine

Funkcja Time Machine firmy Apple jest niezwykle przydatna w zapewnianiu użytkownikom możliwości utrzymywania ciągłych kopii zapasowych ich komputerów na dysku zewnętrznym, takim jak NAS lub dysk USB. To powiedziawszy, interfejs „Gwiezdnych wojen” może być kłopotliwy, gdy zaawansowani użytkownicy próbują nawigować po kopiach zapasowych, a elementy sterujące w Preferencjach systemowych są dość spartańskie.

Na szczęście tmutiljest po to, by wypełnić luki, gdy tego potrzebujesz.

Na przykład, podczas gdy interfejs GUI Time Machine pokaże najnowszą kopię zapasową, jeśli chcesz wyświetlić wszystkie dostępne kopie zapasowe, uruchom następujące czynności:

$ tmutil listbackups

Zobaczysz listę wszystkich dostępnych kopii zapasowych bieżącego systemu. Aby wyświetlić najnowszą kopię zapasową, po prostu wprowadź następujące informacje:

$ tmutil latestbackup

Możesz także użyć tmutildo uruchamiania i zatrzymywania kopii zapasowych, porównywania kopii zapasowych między sobą, analizowania zmian między kopiami zapasowymi, dziedziczenia kopii zapasowych, które mogły zostać utworzone ze starszego systemu, wyświetlania informacji o miejscach docelowych kopii zapasowych, kojarzenia i odłączania miejsc docelowych kopii zapasowych, a nawet przywrócić pliki z kopii zapasowej.

Zasadniczo znajdują się wszystkie zadania związane z tworzeniem kopii zapasowych, których brakuje użytkownikowi zaawansowanemu w interfejsie GUI tmutil. Jeśli jesteś w poważnych tarapatach i potrzebujesz głębiej zagłębić się w kopie zapasowe, aby coś naprawić, może to być uratowanie życia.

5 fs_usage.: Wyświetl aktywność systemu plików

Jeśli kiedykolwiek byłeś w sytuacji, w której twój dysk się trzęsie i chcesz szybko sprawdzić, które procesy systemowe powodują zamieszanie, zechcesz fs_usage. To narzędzie zapewnia stały strumień informacji w czasie rzeczywistym o tym, które procesy uzyskują dostęp do systemu plików.

Domyślnie fs_usagezwalnia kilka procesów z danych wyjściowych, w tym Terminal i Secure Shell ( sshd). Możesz uruchomić fs_usagew Terminalu w następujący sposób:

$ sudo fs_usage

Jeśli używasz innej aplikacji terminalowej, musisz ją wyłączyć z wyjścia za pomocą -eprzełącznika:

$ sudo fs_usage -e iTerm

Powyższe spowoduje zwolnienie zarówno fs_usageaplikacji, jak i aplikacji iTerm z danych wyjściowych.

Oprócz zapewniania widoku całego systemu, fs_usagemoże profilować poszczególne procesy, takie jak Google Chrome:

$ sudo fs_usage "Google Chrome"

6.  drutiloraz hdiutil: Nagrywaj dyski CD i DVD oraz manipuluj obrazami dysków

Jeśli kiedykolwiek chciałeś szybko i łatwo nagrać płytę DVD z danymi lub płytę audio CD, drutiljest dla Ciebie. Dzięki niemu możesz wypalić drzewo katalogów na płycie CD za pomocą jednej linii:

$ drutil burn /path/to/folder

Jeśli chcesz nagrać płytę audio CD, po prostu odwołaj się do katalogu pełnego plików audio:

$ drutil burn -audio /path/to/folder

To narzędzie może być również przydatne do wymazywania nośnika CD-RW za pomocą erasepolecenia ( drutil erase /path/to/folder). Za pomocą tego bulkerasepolecenia kasuje dysk CD-RW, wysuwa go i czeka na włożenie kolejnego, a następnie przepłukuje i powtórzy.

hdiutilNarzędzie jest nieco podobne, w które hdiutiljest używane do manipulowania obrazów dysków. Możesz użyć hdiutildo utworzenia obrazu dysku Apple (czyli pliku DMG) ze ścieżki katalogu:

$ hdiutil create -srcfolder /path/to/files/ myfiles.dmg

W El Capitan możesz nagrywać obrazy ISO na dyskach CD za pomocą następującego polecenia:

$ hdiutil burn /path/to/file.iso

hdiutilNarzędzie posiada wiele innych funkcji, takich jak montaż i odmontowuję obrazów, konwersja formatów graficznych, tworzenia zaszyfrowanych obrazów i sprawdzenie obrazów.

7 system_profiler.: Podaj informacje o systemie

Podczas debugowania problemów lub badania systemu przydatne jest uzyskanie raportu zawierającego wszystkie istotne informacje o używanym sprzęcie i oprogramowaniu. To właśnie system_profilerrobi i wyświetla ten raport w pliku tekstowym w celu łatwego odczytu.

Do większości celów wystarczy podstawowy raport:

$ system_profiler -detailLevel basic > report.txt

Zapewni to mnóstwo danych w systemie, od podstaw, takich jak procesor, pamięć RAM, grafika i pamięć masowa, po numer seryjny, identyfikator UUID sprzętu, informacje o sieci, zapełnienie gniazd pamięci RAM, szczegółowe informacje o sieci, informacje o zasilaniu, oprogramowanie drukarki, USB, Thunderbolt i Informacje o kopiach zapasowych Time Machine.

To miejsce, w którym znajdziesz wszystkie dane, których możesz potrzebować na konkretnym komputerze Mac. Jest to szczególnie przydatne, gdy próbujesz rozwiązać problemy ze zdalnym systemem, do którego nie masz dostępu, na przykład gdy mama lub tata dzwonią z niewytłumaczalnym problemem.

8. tar, gzip, bzip2, i zip: Tworzenie i otworzyć skompresowanych archiwów

W świecie Uniksa tar(skrót od „archiwum taśm”) był pierwotnie używany do kopiowania plików na taśmy z kopiami zapasowymi w standardowym formacie.

Dziś nie używamy już tarw taki sam sposób. Używamy go do tworzenia archiwów pojedynczych plików lub katalogów. Zatrudniony obok narzędzia kompresji gzipi bzip2, tarpozwala nam tworzyć skompresowane archiwa plików. Wynik jest podobny do archiwum plików Zip, które jest używane na platformach Mac, Windows i innych.

Aby utworzyć tararchiwum katalogu spakowane gzipem , możemy uruchomić:

$ tar zcpf myfiles.tgz /path/to/files

Spowoduje to utworzenie pliku myfile.tgz, które jest archiwum tar ze wszystkimi plikami w podanej ścieżce. Jeśli chcemy użyć bzip2, możemy otrzymać mniejsze archiwum, ale kompresja i dekompresja może zająć więcej czasu:

$ tar jcpf myfiles.tbz /path/to/files

I zawsze możemy użyć zwykłego Zip:

$ zip –r myfiles.zip /path/to/files

Aby otworzyć plik tar spakowany gzipem, uruchamiamy to polecenie:

$ tar zxf myfiles.tgz

Aby otworzyć bzip2archiwum bzipped ( ), polecenie jest następujące:

$ tar jxf myfiles.tbz

W przypadku archiwów Zip polecenie brzmi unzip:

$ unzip myfiles.zip

W przypadku niektórych typów plików możesz uzyskać lepszy przebieg tari gziplub bzip2niż zip, ale ostrzegamy, że użytkownicy systemu Windows nie będą mogli otwierać archiwów bez specjalnego oprogramowania, podczas gdy pliki Zip będą otwierać się automatycznie w nowoczesnych wersjach systemu Windows.

9 mdfind.: Wykonuj zaawansowane wyszukiwania Spotlight

OS X wyszukiwał Spotlight od lat. Spotlight indeksuje pliki na dysku i umożliwia zaawansowane wyszukiwanie według metadanych, typu pliku, zawartości pliku i nie tylko. Na szczęście wyszukiwania Spotlight są również dostępne w wierszu poleceń za pośrednictwem mdfind.

Działa to dokładnie tak samo, jak narzędzie Spotlight w Finderze, ale jest bardziej elastyczne w typach wyszukiwania i zwraca wszystkie znalezione dane. Na przykład poniższe polecenie zwróci dosłownie wszystko, co zostało zaindeksowane przez Spotlight, zawierające słowo kluczowe foobar:

$ mdfind "foobar"

Możesz również przeszukiwać wszystkie metadane, takie jak typ pliku:

$ mdfind "kMDItemContentType == 'com.microsoft.word.doc'"

Możesz wyszukiwać według typu pliku za pomocą słów kluczowych:

$ mdfind "kind:pdf Bread cheese salami"

Możesz nawet wyszukiwać na podstawie ram czasowych:

$ mdfind -onlyin ./tmp/ 'kMDItemFSContentChangeDate >= $time.today(-2)'

Graficzny interfejs użytkownika wyszukiwania Spotlight jest z pewnością przydatny do prostych wyszukiwań, ale jeśli naprawdę próbujesz przeszukać pamięć w poszukiwaniu plików, mdfindmoże być lepszym rozwiązaniem.

10 say.: Poproś komputer Mac o odczytanie pliku

sayPolecenie może być przydatne dla tych, którzy potrzebują pomocy dźwięku ze względu na niepełnosprawność, ale może to być również dużo zabawy. To narzędzie robi to, czego można się spodziewać: tłumaczy tekst na mowę. Mówiąc najprościej, jest bardzo prosty w użyciu:

$ say "Hello world"

Otrzymasz stereotypowy głos robota mówiący „Witaj, świecie”. Jednak na tym się nie kończy. Do wyboru są 64 różne głosy w różnych językach. W niektórych obcych głosach tekst w języku angielskim będzie wypowiadany w przybliżeniu przez osobę mówiącą z angielskim akcentem w tym języku. Możesz zobaczyć listę wszystkich głosów za pomocą tego polecenia:

$ say -v ‘?’

Gdy już zdecydujesz się na odpowiedni głos, możesz saypowiedzieć cokolwiek w wierszu poleceń lub w zwykłym pliku tekstowym. Dołącz --interactiveflagę i saypodświetli słowa w trakcie ich czytania na głos:

$ say -v Vicki -f myfile.txt --interactive

Możesz nawet ustawić szybkość, z jaką tekst jest odczytywany, a jeśli system docelowy jest prawidłowo skonfigurowany, możesz sayodczytać tekst w systemie zdalnym.

GUI komputera Mac ułatwia większość rzeczy i jest przyjemnym miejscem do spędzania czasu. Ale Mac to coś więcej niż ładna twarz. Gdy GUI wydaje się zbyt ograniczone lub zbyt wolne, łatwiejsze może być otwarcie terminala i dotknięcie mocy wiersza poleceń. Oprócz tych 10 podstawowych informacji, zapoznaj się z tajemnicami wiersza poleceń 20 OS X w poprzednim artykule.