40 порад і підказок по Terminal, про які ви ніколи не думали
Ukrainian (українська мова) translation by LoveK (you can also view the original English article)
Terminal це виключно потужний інструмент, що надає інтерфейс командного рядка для підтримки ОС OS X. Це тема, яку ми детально розглянули раніше в нашій популярній серії Taming the Terminal.
Terminal може багато чого, від переміщення великої кількості файлів до зміни уподобань, про які ви б не могли й подумати. Для демонстрації можливостей Terminal я зібрав 40 дійсно чудових підказок і трюків, які можуть стати в нагоді.
Перш ніж ми почнем
Всі команди Terminal, які я покажу, абсолютно безпечні, а коли справа доходить до зміни preferences, повністю зворотні. Треба сказати, що Terminal не залишає права на помилку, тому переконайтеся, що ви вводите команди точно, так як вони тут описані.
Як завжди, переконайтеся, що у вас є свіжа резервна копія на всякий випадок.
Порада. Якщо ви не знайомі з Terminal, я настійно рекомендую вам прочитати нашу вступну серію на тему Taming the Terminal. Terminal не для людей зі слабкими нервами і краще, щоб ви були готові їм користуватися.
Крім того, чому б не спробувати деякі Mac apps, доступні на ринку Envato, наприклад Sentenza Desktop для Mac, яке допомагає в створенні додатків для Mac OS X.



Вхід в Terminal



Термінал знаходиться в папці Applications> Utilities. Після відкриття ви можете почати вводити команди.
У Terminal ви побачите щось на зразок цього:
MacBook:~ jordan$
Це запрошення для введення команди. Щоб правильно визначити, як вводити команду, я буду використовувати знак долара ($) для позначення запиту, тому просто введіть команду, наступну за знаком долара.
Давайте розберемося з деякими основними командами!
Очистити вікно
$ clear
Простіше кажучи, це очищає поточне вікно. (В Terminal в OS X ви все одно можете прокручувати вгору, щоб побачити, що там було. Ця команда просто очищає поточний вигляд).
Перехід до папок
Ви можете перейти в папку Utilities, набравши наступну команду:
$ cd /Applications/Utilities
Якщо ви хочете швидко повернутися в свою домашню папку, можете просто ввести:
$ cd
З папками, які містять пробіли, є два способи зробити це:
$ cd /Volumes/Macintosh\ HD/ $ cd "/Volumes/Macintosh HD/"
У першому методі використовується зворотна коса риска \ для «екранування» простору. Оскільки командний рядок розглядає прогалини як частину команд, символ \ повідомляє Terminal ігнорувати простір, який потім слідує. В якості альтернативи ви можете просто помістити шлях до папки в лапки, і будь-які прогалини, які вона містить, будуть ігноруватися.
Щоб продовжити, поверніться до своєї домашньої папки.
Список вмісту каталогу
Ви можете переглянути вміст папки, ввівши:
$ ls



Щоб переглянути його в форматі списку, введіть:
$ ls -l



Якщо ви хочете переглянути всі файли, включаючи приховані:
$ ls -a
Вищевказана команда відобразить всі файли, включаючи приховані, які починаються з точки. Що, якщо ми хочемо переглянути папку як список, але також побачити всі приховані файли?
$ ls -la
Так, їх простим об'єднанням! Я думаю, ви вже розігрілись, тож давайте зійдемо на новий рівень!
Перш ніж продовжити, поверніться до своєї домашньої папки.
Ditto
Підводний камінь в OS X - ditto команда від Apple. Я знайшов це неймовірно корисним при копіюванні великих обсягів даних, так як він може працювати у вікні Terminal, яке містить більш корисну інформацію, ніж традиційне вікно копіювання Finder.
$ ditto -V /old/work/ /new/work/
Ця команда скопіює нашу робочу папку в нове місце. Відбувається те, що команда копіює вміст нашої «робочої» папки в нову «робочу» папку.
Додавання -V, тобто verbose, друкує рядок у вікні Terminal для кожного файлу, який копіюється. Це дуже зручно, бачити процес копіювання.
Ditto - команда, яку я часто використовую для копіювання гігабайт даних між жорсткими дисками і вона мені здається дуже надійною.
Відключити Drop Shadows в скріншотах
Якщо ми робимо скріншот вікна в OS X, за замовчуванням завжди буде відкидати тінь, забираючи пікселі. Якщо ви хочете позбутися від тіні, можете використовувати наступну команду:
$ defaults write com.apple.screencapture disable-shadow -bool TRUE
Ви можете перезапустити Mac, щоб переглянути зміни, або, використовуючи іншу команду, відразу побачити їх:
$ killall SystemUIServer
Ця команда зупиняє графічний інтерфейс OS X на частку секунди. Не турбуйтеся, він повинен працювати і буде перезавантажений миттєво - але вже з нашої новою опцією. Сделайте скріншот і помітите, що тінь більше не включається.
Щоб скасувати зміни, ви можете ввести наступну команду:
$ defaults write com.apple.screencapture disable-shadow -bool FALSE
$ killall SystemUIServer
Щоб переглянути зміни негайно.
Змінити формат файлу скріншота
PNG, ймовірно, кращий формат для скріншотів і він може займати небагато місця. Якщо ви віддаєте перевагу використовувати формат PDF, можете зробити так:
$ defaults write com.apple.screencapture type PDF
$ killall SystemUIServer
Щоб скасувати зміни, введіть наступне:
$ defaults write com.apple.screencapture type png
$ killall SystemUIServer
Змінити розташування знімків екрана
Незважаючи на свою чудовість, скріншоти захаращують робочий стіл. Щоб це змінити, можемо скористатися:
$ defaults write com.apple.screencapture location /drag/location/here
$ killall SystemUIServer
Замість того, щоб зв'язуватися з довгими іменами докучливих шляхів, можете просто ввести першу частину команди, а після слова "location" перетягнути папку, в яку ви хочете зберегти ваші скріншоти. Щоб скасувати зміни, можете використовувати:
$ defaults write com.apple.screencapture location ~/Desktop
$ killall SystemUIServer
Порада: відрізок, ~, фактично являє вашу домашню папку. У наведеному вище прикладі це означає / Users / jordan / Desktop. Корисне скорочення!
Включити AirDrop для старих комп'ютерів
MacAirDrop - відмінна функція, що дозволяє швидко і легко відправляти файли між комп'ютерами Mac без необхідності працювати з додатками. Проблема в тому, що це тільки на WiFi і на більш сучасних Mac.
Якщо ваш Mac не підтримує AirDrop, введіть наступну команду, щоб працювати в мережі Ethernet:
$ defaults write com.apple.NetworkBrowser BrowseAllInterfaces -bool TRUE
Вам потрібно буде перезапустити Finder, найшвидший спосіб - використовувати команду killall.
$ killall Finder
Щоб скасувати зміни, введіть:
$ defaults write com.apple.NetworkBrowser BrowseAllInterfaces -bool FALSE
Якщо потрібна додаткова інформація про включення AirDrop, більш детально в нашому попередньому керівництві "How to Enable AirDrop on Ethernet Connected and Unsupported Macs".
Показати приховані файли і папки
Щоб переглянути приховані файли і папки в OS X:
$ defaults write com.apple.finder AppleShowAllFiles -bool TRUE
$ killall Finder
Після перезавантаження Finder ви побачите багато незнайомих файлів, зазвичай починаючи з періоду (який позначає прихований файл в OS X).
Щоб скасувати зміни:
$ defaults write com.apple.finder AppleShowAllFiles -bool FALSE
$ killall Finder
Ми розглядали видимість прихованих файлів в нашому попередньому уроці "Revealing Hidden Files in OS X".
Стрес-тест вашого Mac
Якщо хочете запустити стрес-тести на вашому Mac, можете ввести просту команду, яка миттєво використовує 100% процесора:
$ yes
Фахівці Apple часто нею користуються при роботі з проблемними комп'ютерами Mac, які можуть впасти під навантаженням, це дуже швидкий спосіб навантажити Mac. Щоб скасувати команду, натисніть Ctrl-C.
Перегляд використання файлової системи
Іноді ми хочемо побачити, що робить наш Mac при читанні і запису диска, особливо якщо ми намагаємося визначити причину, що не дозволяє виштовхнути диск. Для цього ми використовуємо:
$ sudo fs_usage
Вводячи sudo, ми просимо запустити його як суперкористувача, що вимагає введення пароля для входу в систему Mac. Після того, як процеси звертаються до вашого диску, вам надається постійний потік інформації.
Деякі процеси, які ви, ймовірно, побачите, це Time Machine (backupd) і Spotlight (mds).
Для скасування натисніть Ctrl-C.
Перегляд вмісту будь-якого файлу
Іноді трапляються файли не може зрозуміти. Припускаючи текстовий формат, ми намагаємося відкрити його в TextEdit, але це не завжди працює. Ми можемо досліджувати будь-який файл з Terminal, використовуючи:
$ cat /path/to/file
Незалежно від формату, файл відкриється. У файлах, як MP3 або відео буде тарабарщина. Але якщо ви намагаєтеся відновити пошкоджений документ, це може допомогти.
Відновити Spotlight
Spotlight може працювати не так добре, як хотілося б. Іноді нам просто потрібно задати Spotlight новий індекс, щоб він міг знаходити файли якомога швидше і ефективніше. Зробимо це:
$ sudo mdutil -E /Volumes/DriveName
Зазначена команда видалить індекс Spotlight, змусивши його запустити новий. Ще простіше виконати команду - ввести її першу частину, а для розташування просто перетягнути жорсткий диск зі свого робочого столу у вікно Terminal.
Видалити повторювані записи "Open With ..."
Загальною помилкою в OS X є наявність дубльованих додатків в меню "Open With ...", яке може переповнитися! Виправимо це:
$ /System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user
Зазначена команда буде працювати в OS X Leopard і вище. Рекомендую перезавантажити Mac.
Включити вибір тексту в Quick Look
Quick Look чудовий, але не став би ще краще, якби ми можливість вибирати текст без необхідності відкривати документ? З цією командою зможете:
$ defaults write com.apple.finder QLEnableTextSelection -bool TRUE
$ killall Finder
Щоб повернути зміни:
$ defaults write com.apple.finder QLEnableTextSelection -bool FALSE
$ killall Finder
Відкриття файлів в будь-якому додатку
Ви легко можете відкривати документи з Terminal, але як щодо їх відкриття в іншому додатку, яке не підходить за замовчуванням для файлів його типу?
$ open -a /Applications/AppName.app /path/to/file.txt
Ця дія відкриє наш текстовий файл в додатку AppName. Просто змініть додаток і файл на все, що вам потрібно.
Перевірте безвідмовність Mac
Пройдуть дні, тижні або навіть місяці, перш ніж ми перезавантажити наш Mac, іноді навіть не можемо згадати, коли робили це в останній раз. Щоб дізнатися, скільки часу наш Mac був без перезавантаження, можемо використати:
$ uptime
Це відобразить поточний час і час роботи нашого Mac.
Установка оновлень OS X
Незважаючи на те, що Software Updates переходять в App Store в Mountain Lion, ми можемо використовувати командний рядок для установки оновлень без необхідності її запуску. Щоб переглянути доступні оновлення програмного забезпечення для вашого Mac:
$ sudo softwareupdate -l
Через кілька хвилин ви отримаєте повний список.
Якщо захочете встановити всі доступні оновлення, введіть:
$ sudo softwareupdate -ia
Відображення призначеного для користувача повідомлення в Login Window
При масовому користуванні Mac буває корисним виводити на дисплей нагальну інформацію, наприклад "Ей, липкі руки! Іншим теж треба користуватися клавіатурою, ти знаєш!"
$ sudo defaults write /Library/Preferences/com.apple.loginwindow LoginwindowText "Hey, Sticky Hands!"
Наступного разу, коли ви вийдете з системи або перезавантажте Mac, з'явиться ваше повідомлення. Щоб повністю видалити повідомлення:
$ sudo defaults delete /Library/Preferences/com.apple.loginwindow LoginwindowText
Почати простий HTTP Server в будь-якій папці
Якщо вам потрібно швидко протестувати HTML, над яким ви працюєте, запустіть простий веб-сервер в будь-якій папці на вашому Mac. Перейдіть в папку для використання і введіть:
$ python -m SimpleHTTPServer 8000
Номер в кінці - це порт для використання, відкрийте браузер і відвідайте http://localhost:8000, можете використати порт 80 за замовчуванням або повністю видалити номер порту.
Коли закінчите, натисніть Ctrl-C.
Повторне виконання команди
Деякі з команд вимагають спочатку ввійти в sudo, щоб запустити їх як суперкористувача root. Іноді, ввівши довгу команду, дізнаємося лише, що ми забули спочатку розмістити sudo. На щастя, нам не потрібно повторно записувати всю команду (або копіювати і вставляти). Замість цього ми можемо використовувати дуже простий shortcut, який стоїть замість раніше написаної команди:
$ !!
Якщо нам знадобиться ввести ту ж команду ще раз, але sudo попереду, ми можемо просто набрати:
$ sudo !!
Завантаження файлу без браузера
Якщо хочете завантажити файл без використання браузера, ми можемо дати таку команду:
$ curl -O http://appldnld.apple.com/iTunes11/091-6058.20130605.Cw321/iTunes11.0.4.dmg
Це завантажить будь-який URL, який ви вводите в папку. Деякі браузери намагаються автоматично відкривати файли при їх завантаженні або додавати виснажливі розширення файлів, коли ви не хочете їх (особливо при роботі з текстовими файлами, крім розширення .txt).
Завершення роботи Mac, з затримкою або без
Для негайного завершення роботи Mac:
$ sudo shutdown -h now
Щоб негайно перезавантажити Mac:
$ sudo shutdown -r now
Ми можемо додати тимчасову затримку (в хвилинах), якщо ми хочемо:
$ sudo shutdown -r +60
Хоча це не дуже підходить власним Mac, але, якщо ви підключилися до Macs через командний рядок, може виявитися корисними при перезапуску віддалених серверів.
Відключити Mail's анімацію в Mountain Lion
У Mail чудова анімація, завдяки якій, якщо ви натиснете відповідь на будь-яке повідомлення, у вікні відображається вікно з композицією. Це не для всіх. Щоб відключити анімацію:
$ defaults delete com.apple.mail DisableReplyAnimations -bool TRUE
Закрийте і перезапустіть Mail, щоб зміни вступили в силу. Щоб скасувати зміни:
$ defaults delete com.apple.mail DisableReplyAnimations -bool FALSE
Запобігайте переходу Mac в режим сну
Ми залишили Mac робити те, що потрібно, на деякий час, а повернувшись, виявили його сплячим. Це можна запобігти, використовуючи просту і з гумором команду:
$ caffeinate
Mac буде не спати до тих пір, поки ви не скасуєте команду, натиснувши Ctrl-C. Ви можете додати параметр часу за допомогою:
$ caffeinate -u -t 600
Число означає секунди, тому наша команда зупинить перехід Mac в режим сну протягом наступних десяти хвилин.
Створіть файл будь-якого розміру
Бувають випадки, коли нам потрібен файл певного розміру для тестування. Я часто копіюю файл 1GB по мережі, щоб отримати уявлення про швидкість. Знайти файл потрібного розміру складно, але за допомогою командного рядка ми можемо створити порожній файл будь-якого розміру.
$ mkfile 1g test.abc
Ви можете вказати розмір файлу в байтах (b), кілобайтах (k), мегабайтах (m) або гігабайтах (g). У наведеному вище прикладі створюється тестовий файл 1GB, званий test.abc, але ви можете називати його як хочете, без розширення файлу.
Постійний контроль виведення файлу
Це для всіх початківців системних адміністраторів. Якщо ви хочете відслідковувати текстовий файл і переглядати будь-які зміни в ньому в міру їх створення, є відповідна команда, ідеальна для моніторингу журналу системи файлів.
$ tail -f /var/log/system.log
Ваше вікно Terminal буде постійно стежити за зазначеним файлом (в даному випадку, system.log і кожен раз, коли додається ще один рядок, вона буде виводитися на екран.
Для завершення натисніть Ctrl-C.
Отримайте свою мережеву IP-адресу
Безсумнівно, ми могли б відкрити System Preferences, вибрати Network, а потім переглянути нашу інформацію про IP-адресу, але робити це через командний рядок набагато крутіше!
$ ipconfig getifaddr en0
Термін en0 представляє використовуваний мережевий інтерфейс. Подібно до деяких мов програмування, перший мережевий інтерфейс починається з нуля, а потім підраховується, тому, якщо у вас є два інтерфейси (наприклад, ethernet і WiFi), то вони будуть відповідно en0 і en1.
За замовчуванням ваш Mac завжди буде позначати проводове підключення до мережі як en0, якщо тільки ваш Mac не має вбудованого ethernet. Ви можете замінити en0 на en1, якщо ви не використовуєте дротове з'єднання.
Отримайте вашу зовнішню IP-адресу
Найпростіший спосіб дізнатися свій IP-адресу (той, який нам надає наш інтернет-провайдер), відвідати такий сайт, як What Is My IP або навіть набравши "what is my IP address" в Google.
Але ми можемо використовувати Terminal, щоб виявити наш публічний IP-адресу, через службу IP Echo.
$ curl ipecho.net/plain; echo
Після запуску команди вам буде надано зовнішню IP-адресу. Може, набрати буде не так швидко, як зайти на один із зазначених сайтів, але ми можемо більше зробити введенням в Terminal, особливо включивши його в якийсь скрипт.
Тестування мережевих підключень
Ймовірно, ви чули термін "ping". Ping відправляє дуже маленькі біти інформації по мережі на віддалений комп'ютер, з огляду на час отримання відповіді. Корисно бачити, чи працює IP-адреса, чи веб-сайт може бути недоступний.
$ ping -c 10 www.apple.com
Виконання зазначеної команди відправить 10 пакетів інформації та надасть детальний звіт про час відгуку. Ви можете замінити www.apple.com будь-яким іншим доменним ім'ям або IP-адресою.
Відключити двухпальцевую навігацію Google Chrome
Для комп'ютерів Mac з вбудованим трекпадом з мультитач або з трекпедом Magic Trackpad, Google Chrome пропонує власну версію зчитування двома пальцями. Хоча це легко змінити в Safari, для Google Chrome необхідно трохи обдурити Terminal:
$ defaults write com.google.Chrome.plist AppleEnableSwipeNavigateWithScrolls -bool FALSE
Закрийте і перезапустіть Google Chrome і помітите, що більше не можете зробити swipe. Щоб скасувати зміни:
$ defaults write com.google.Chrome.plist AppleEnableSwipeNavigateWithScrolls -bool TRUE
Заборонити використання додатків зі збереженням в iCloud за замовчуванням
ICloud - відмінний сервіс, але якщо ви віддаєте перевагу Dropbox або зберігати файли на свій Mac, то ви, без сумніву, розчаровані тим, що багато iCloud-сумісні програми пропонують iCloud в якості збереження за замовчуванням... На щастя, ми можемо змінити це:
$ defaults write NSGlobalDomain NSDocumentSaveNewDocumentsToCloud -bool FALSE
Закрийте і перезапустіть будь-який додаток, що використовує iCloud, і тепер будь-які нові документи будуть за замовчуванням відображатися на вашому Mac в діалоговому вікні збереження, а не iCloud.
Щоб скасувати зміни:
$ defaults write NSGlobalDomain NSDocumentSaveNewDocumentsToCloud -bool TRUE
Зробіть іконку будь-якого прихованого програми в Dock Translucent
Приховування додатків, коли ви їх не використовуєте, - відмінний спосіб звільнити місце на екрані, але немає ніякого способу відрізнити, яка програма приховано, а який ні. Ми можемо змінити Dock, щоб все приховані програми мали напівпрозорий значок:Щоб скасувати зміни:
$ defaults write com.apple.Dock showhidden -bool TRUE
$ killall Dock
Щоб скасувати зміни:
$ defaults write com.apple.Dock showhidden -bool FALSE
$ killall Dock
Шляхи автозаповнення
При вказівці довгого шляху, наприклад:
/Volumes/Macintosh\ HD/Users/admin/Library/Application\ Support/
Це може бути дуже втомлює. Замість цього ми можемо використовувати клавішу Tab для автозаповнення. Просто почніть вводити будь-яку команду, де вам потрібно вказати шлях і на першій або другій букві натисніть Tab. Якщо є тільки одна папка для заповнення по перших символах, вона це зробить. Якщо немає, натисніть клавішу Tab двічі і вона буде стрибати так далеко, наскільки це можливо і покаже всі потенційні файли і папки, які вам можуть знадобитися.
Щоб спробувати, введіть наступне, але замість натиснення Enter натисніть Tab:
$ cd /Us
Ви зможете знайти його, а потім автозаповнення для:
$ cd /User
Ймовірно, ви почуєте звуковий сигнал. Це тому, що є дві папки, до яких ви можете отримати доступ: /Users і /User Information. Потім ви можете додати останній символ в шлях і натисніть Enter.
Він дуже схожий на автозаповнення слів в iOS.
Зробіть Mac промовистим
У Mac OS X є відмінна вбудована функція мови і ми можемо сказати їй все, що хочемо:
$ say "This Mac runs OS X, not OS ex"
Ми можемо зробити, щоб він читав будь-який текстовий файл, який нам подобається:
$say -f /path/to/file.txt
Потім наш Mac скаже, що було в текстовому файлі.
Відновлення образу диска на зовнішній диск
Ви можете імітувати поведінку Disk Utility і відновити файл образу диска на диску, підключеному до вашого Mac:
$ sudo asr -restore -noverify -source /path/to/diskimage/dmg -target /Volumes/VolumeToRestoreTo
Він пропустить перевірку (ви можете видалити цю частину, якщо перевірка потрібна, але це може зайняти деякий час), і ви можете відновити зображення, наприклад копію OS X, прямо на диск або розділ.
Відключити панель інструментів
Dashboard колись здавалася майбутнім швидких додатків, таких як калькулятор і замітки. Незважаючи на свою популярність, вона швидко зникла. Але все ще поруч і зазвичай відкривається випадково.
Я користуюся Mission Control і маю його зліва, але, чесно кажучи, вважаю за краще, щоб він повністю зник. На щастя, Dashboard може бути відключений:
$ defaults write com.apple.dashboard mcx-disabled -boolean TRUE
$ killall Dock
Ви виявите, що Dashboard більше не працює, разом з віджетами всередині. Не турбуйтеся, його можна повернути в разі потреби:
$ defaults write com.apple.dashboard mcx-disabled -boolean FALSE
$ killall Dock
Подивитися всі активні процеси
Додаток Activity Monitor надасть детальний огляд того, що робить наш Mac. Ми можемо перенести більшу частину його функціональності в Terminal:
$ top
Після запуску ми легко побачимо всі поточні процеси, перераховані в залежності від частоти використання процесора, з найбільш активними процесами CPU на початку списку.
Крім того, у верхній частині вікна є багато іншої інформації, від того, скільки процесів запущено, скільки пам'яті використовується в даний час до обсягу генеруємого нами мережевого трафіку.
Дивіться список всіх команд, які ви ввели
Наостанок можна ввести команду перегляду всіх команд, які ми вводимо в командний рядок:
$ history
Всі попередні команди, запущені в Terminal, перераховані тут, що дає вам можливість повернутися назад і подивитися, що зроблено.
Висновок
Terminal може допомогти налаштувати ваш Mac точно, як ви хочете і надати доступ до функцій, які просто не відображаються. Існує безліч безпечних варіантів, але, щоб не приголомшити користувача, вони приховані і їх можуть знайти тільки досвідчені юзери, які хочуть внести зміни.
Командний рядок - дуже потужний інструмент, і, як сказав дядько Бен Пітеру Паркеру, «з великою силою приходить велика відповідальність». Використовуйте її мудро!