Чим корисні команди командного рядка на Mac OS X?


58

За потоками Windows та Linux , які команди ви вважаєте найбільш корисними в Mac OS X Server (або клієнті)?


Погоджено, цей сайт здається набагато негативнішим, ніж стаціонарний потік, люди здаються готовими "знизити" будь-яку посаду, яку вони не вважають, що відповідає їх стандартам - цього достатньо, щоб я пішов.
— Chopper3

thx, чоппер3. можливо, це було проголошено за те, що він пов'язаний з Mac. я можу зрозуміти, не хочу бачити багато яблучних речей, але насправді просто додаю / ігнорую "mac" до своїх тегів, і це відсортовано
— ім'я користувача

2
На цьому сайті є багато специфічних для яблук речей, людям тут просто подобається негативно.
— Chopper3

2
можна очікувати, я гадаю, що ми - sysadmins :-)
— ім'я користувача

1
Мені подобається ваше ім'я користувача ... ім'я користувача :)
— Chopper3

Відповіді:


28
say "some text"

Відомо, що використовується для повернення людей у ​​свої квартири , sayбере ваші аргументи та читає їх вголос через аудіопристрій.


4
+1 для вмісту xkcd
— ім'я користувача

4
І це дуже добре - перегляньте macosxhints.com/comment.php?mode=view&cid=107211 список фраз, таких як Мене звати доктор Сміт, і я живу на Сміт-Доктор , солдат вирішив залишити свій десерт в пустеля і Оскільки немає часу , як справжнє, він думав , що це був час , щоб подати цей :-)
— Арьян

23

pbpasteта pbcopyвзаємодіяти з картоном (буфер обміну).

Приклади:

# copies the directory listing
ls -l | pbcopy

# get pasteboard lines containing foo and save them in a_file
pbpaste | grep foo > a_file

Я думаю, що вони за замовчуванням використовують кодування макромана, тому, якщо ви хочете UTF-8 (що ви робите), вам слід переглянути ці посилання:


19
fs_usage

Дозволяє стежити за діяльністю файлової системи. Зручно, якщо ви хочете побачити, які файли створює деякий додаток. Див. Http://rentzsch.com/macosx/fs_usageIntro для отримання додаткових пояснень.


Тепер, коли Rentzsch перемістив свій блог до Tumblr, не перевидаючи свої архіви, тут можна прочитати його пояснення цього чудового інструменту: web.archive.org/web/20091231090628/http://rentzsch.com/macosx/…
— Джо Керролл

Також варто прочитати: cocoadev.com/index.pl?FsUsageTips
— Джо Керролл

17
open .

Відкриває вікно пошуку в поточному робочому каталозі.


для запуску інших додатків використовуйте щось на кшталт: open -a "монітор активності"
— ім'я користувача

Freunde schöner Götterfunke ... Я маю на увазі, дякую, дякую, дякую !! Я шукав Windows, як "старт". і це воно!
— Даніель Шнеллер

"відкрите ім'я файлу" діє так само, як подвійне клацання по файлу в Finder - він запустить відповідну програму і відкриє файл.
— Клінтон Блекмор

13

З командного рядка мені подобається можливість:

Створіть та запишіть "універсальний" CD / DVD:

$ mkisofs -allow-multidot -allow -ading-dots -d -hide-rr-переміщений \
-l -joliet-long -R -T -v \
-V VOLUME_NAME -o output.iso root-cd-dir /
$ hdiutil burn -noverifyburn output.iso

Створіть ISO-образ із CD / DVD:

$ diskutil unmountDisk / dev / disk2s0
$ dd, якщо = / dev / disk2s0 of = cdname.iso bs = 32m

Здатність забути команду otool, коли я шукаю ldd:

$ alias ldd = 'printf "Відправлення команди до \' \ '' otool -L \ '\' '- \ n" && otool -L'

Змонтуйте образ диска з командного рядка:

$ hdid diskimage.dmg (або .iso)

Використовуйте попередній перегляд для доступу до чоловічої сторінки:

$ man -t rsync | відкрити -f -a /Applications/Preview.app

1
+1 для сторінки сторінки / підказки для попереднього перегляду Дивовижно.
— Сем Галіцке

12

Утиліта CLI в аеропорту - моя улюблена. Дивіться http://osxdaily.com/2007/01/18/airport-the-little- unknown-command-line-wireless-utility/ . Він покаже вам такі деталі, як рівень сигналу, рівень шуму та BSSID AP, з яким ви пов’язані.


1
Класно. Наприклад: /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -Я показує детальну інформацію про якість сигналу, шум, безпеку та інші атрибути мережі WiFi.
— ім’я користувача

11
ipconfig getpacket en0

Відображає конфігурацію мережі для основного інтерфейсу Ethernet (en0).

Якщо ви звикли до Windows і думаєте, що "ipconfig" порушений - це не ;-) Вам просто потрібно додати пару аргументів


4
Звичайно, якщо ви звикли до Linux, "ifconfig en0" працює так само добре.
— Тім

Або використовувати, en1якщо ви бездротові.
— Dana Sane

11
drutil tray open

Безцінне (понад ssh), коли немає підключеної клавіатури, оскільки кнопка викидання на оптичні приводи Apple недоступна ззовні.


11

Не можна сказати достатньо, "відкрито" - це чудово. Ви можете відкривати документи в їхній програмі GUI, а також можете вибрати програму GUI з -a. Наприклад,

open -a vlc movie.avi

відкриє VLC і скаже, щоб він завантажив movie.avi у ваш поточний редактор.

open movie.avi

відкрив би його з будь-якою програмою за замовчуванням. Якщо ви просто хочете відкрити програму, ви також можете це зробити:

open -a system\ preferences

запустить Налаштування системи. Ви також можете відкрити URL-адреси:

open vnc://myserver:5900

відкриє Спільний доступ до екрана та підключиться до myserver.

Перевірити

man open

щоб побачити всі прапори, які ви можете використовувати.



9
networksetup

Налаштуйте все, що ви знайдете на панелі налаштувань мережі, у системних налаштуваннях у командному рядку. Полегшує написання сценаріїв або робити речі віддалено набагато простіше.


8
sudo changeip -checkhostname

Перевіряє, що роздільна здатність DNS вперед і назад є здоровою, і часто показує вам команду, яку ви можете використовувати для усунення проблеми. Якщо в ньому написано "імена збігаються, нічого не можна змінити" ти в хорошій формі. Життєво важливо, якщо ви коли-небудь зміните мережу конфігурації вашого сервера Також важливо використовувати це перед тим, як просувати ваш сервер до Master Master Open.


8
dscacheutil -flushcache

Мені здається, що я використовую цю групу для очищення кешу DNS на 10.5+.


Зверніть увагу, це працює лише в Mac OS X 10.5
— Chealion

Я щойно перевірив, він також працює на 10.6.
— Брюс Маклеод

Як я вважаю, мені доводиться запускати це найчастіше, однак не пам’ятаю, що потрібно промивати кеш DNS Linux або Windows. Можливо, OS X особливо агресивна при кешуванні DNS?
— петертонолі


7
last

показує, хто ввійшов у систему, як довго вони її використовували та коли система була перезапущена.

Ось зразок результату:

clinton   ttys000                   Thu May 28 22:33   still logged in
clinton   console                   Thu May 28 08:05   still logged in
reboot    ~                         Thu May 28 08:05 
shutdown  ~                         Wed May 27 20:15 
clinton   console                   Wed May 27 17:33 - 20:15  (02:42)
...

wtmp begins Thu May 14 09:26 


7
 lsof

список відкритих файлів

Зручно, коли ви хочете вийняти USB-накопичувач, і їм повідомляють, що він використовується, і будь ласка, закрийте всі програми та повторіть спробу.

$ sudo lsof /Volumes/CLINTON
COMMAND   PID    USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
bash    55966 clinton  cwd    DIR  14,12    16384    2 /Volumes/CLINTON
lsof    56042    root  cwd    DIR  14,12    16384    2 /Volumes/CLINTON
lsof    56043    root  cwd    DIR  14,12    16384    2 /Volumes/CLINTON

У цьому випадку я cdперейшов на диск, і тому bash отримав доступ до гучності.

Зауважте, що якщо ви бачите записи 'mds', це означає, що прожектор індексує накопичувач.


7

Посібник з управління командними рядками, який виклав Apple, є безцінним.

Гуглінг для "mac адміністрування командного рядка" дає хороші результати.

Адміністрація командного рядка для Mac OS X 10.5 , 10.4 та 10.3 .

Інші корисні посібники розміщені на веб- сайті http://www.apple.com/server/macosx/resources/ .



6
osascript -e 'tell application "AppName" to quit'

Дозволяє вийти з програми з оболонки.

osascript -e 'tell application "Finder" to sleep'

Останній рядок сценарію з довгими оболонками переводить Mac у режим сну, коли виконано сценарій. У мене це iSleep.

pbpaste | script.sh |pbcopy

бере вміст картону (редагувати-> копіювати) та передає його до script.sh. Результати поміщаються на папку для редагування-> вставки в документ.


5
mcxquery

це дозволить вам побачити, які параметри MCX (керованого клієнта) застосовуються до клієнтської машини.

[Еквівалент GUI - це перейти до System Profiler, і в розділі Програмне забезпечення натисніть "Керований клієнт".]

Корисно визначити, чи управляється машиною, і побачити, чи отримує вона очікувані налаштування.



4
system_profiler

Дайте ті самі результати, що і ви, коли вибираєте About This Mac -> Більше інформації, лише в командному рядку.

Біг

system_profiler -usage

або переглянувши сторінку чоловіка, ви дасте поради щодо її використання.

Кілька прикладів:

system_profiler -xml > MySystem.spx
# and later,
open MySystem.spx  # or just double click on it in the Finder

це скине системний профіль у файл, який згодом можна переглянути на іншій машині.

system_profiler SPUSBDataType

Повідомляє про всі ваші USB-пристрої (включаючи їх ідентифікатори постачальника та продукту, які можуть допомогти відстежувати драйвери).

system_profiler SPUSBDataType | grep "Product ID" -c

підкаже, скільки USB-пристроїв підключено (включаючи внутрішні USB-пристрої), що корисно, щоб комп'ютер бачив пристрій (або, скажімо, Parallel схопив його чи він мертвий.) [Зверніть увагу, що в Додаток System Profiler GUI, ви можете вибрати меню -> Оновити в меню, щоб оновити список; це може бути просто простіше.]

system_profiler SPHardwareDataType

отримає основну інформацію про обладнання (корисне для відстеження активів) та

system_profiler SPHardwareDataType | grep Serial

дасть вам серійний номер машини.




4
dns-sd -B _ssh
dns-sd -B _rfb
dns-sd -B _services._dns-sd._udp

Список серверів реклами в Bonjour. Остання пропозиція перераховує типи послуг, які ви можете перелічити. Список в прямому ефірі, натисніть Ctrl-C, коли ви побачили достатньо.

Ця ж команда є в останніх Linux і в Bonjour SDK для Windows.


4
opendiff file1 file2

Запускає FileMerge (графічний пристрій, diffщо постачається з інструментами Apple Developer Tools) на file1та file2.


4
sudo opensnoop

у Леопарді та новіших версіях - повідомляє, які обробляють відкриті файли, успішно чи ні. Ви можете попросити його переглянути всі файли, які відкриваються в системі, за допомогою певного процесу, або якщо якийсь процес відкриває певний файл, з різними видами часових позначок, і показати, чи трапляються помилки.

Ось ще кілька деталей:

opensnoop - сценарій dtrace ; Є багато інших в / usr / bin, які дивляться на такі речі, як система, яка викликає процес, який процес створює, і що він / виходить. Запустіть apropos DTraceсписок і перегляньте детальні сторінки на детальних сторінках.


Я дізнався про opensnoop, коли намагався діагностувати, чому Comic Life Magiq 1.1 вийшов з ладу на ОС 10.5.8 для користувачів з мережевими обліковими записами.

Я бігав (кілька разів, на різних акаунтах, через ssh):

sudo opensnoop -e -n Comic > output.txt

Останній файл, відкритий користувачами мережі, був приблизно таким (із повним контуром):

/Network/Servers/.../username/Library/Icons/WebpageIcons.db

що нагадувало мені, що Safari 5.0 виходить з ладу для користувачів мережі, і ми працювали навколо цього, керуючи налаштуваннями не кешувати файлові файли, або перенаправляючи файл. Apple, очевидно, виправила проблему в Safari 5.0.1, і коли я вчора перейшов на Safari 5.0.2, він виправив аварію для користувачів Comic Life Magiq.


3
sudo /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/Resources/kickstart -restart -agent

Запускає послугу віддаленого робочого столу (корисно, якщо у вас є лише SSH доступ, але ви хочете зробити щось за допомогою GUI на вашому клієнтському Mac). Докладніші параметри див. На веб-сторінці: http://support.apple.com/kb/HT2370


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.