Какие полезные команды командной строки в Mac OS X?


58

В соответствии с ОС Windows и Linux потоков, какие команды вы считаете наиболее полезным в Mac OS X Server (или клиент)?


согласен, этот сайт выглядит гораздо более негативно, чем стекопоток, люди, похоже, готовы «закрыть» любой пост, который, по их мнению, не соответствует их стандартам - этого достаточно, чтобы заставить меня уйти.
— Chopper3

спасибо, чоппер3. возможно, за него проголосовали за то, что он связан с Mac. я могу понять, что не хочу видеть много яблочных вещей, но на самом деле просто добавляю / игнорирую «mac» к своим тегам, и он сортируется
— username

2
на этом сайте есть множество вещей, связанных с яблоками, людям здесь просто нравится быть негативными.
— Chopper3

2
я ожидаю, я думаю ... мы сисадмины :-)
— username

1
Мне нравится ваше имя пользователя ... имя пользователя :)
— Chopper3

Ответы:


28
say "some text"

Используется для возвращения людей в их квартиры , sayпринимает ваши аргументы и читает их вслух через устройство вывода звука.


4
+1 для контента xkcd
— имя пользователя

4
И это говорит очень хорошо - см macosxhints.com/comment.php?mode=view&cid=107211 для списка фраз , таких , как меня зовут доктор Смит , и я живу на Смита доктор , солдат решил покинуть его десерт в Пустыня и Так как нет времени, подобного настоящему, он подумал, что пришло время представить настоящее :-)
— Arjan

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

Я думаю, что по умолчанию они используют кодировку macroman, поэтому, если вы хотите UTF-8 (что вы делаете), вы должны проверить эти ссылки:


19
fs_usage

Позволяет отслеживать активность файловой системы. Удобно, если вы хотите увидеть, какие файлы создает какое-то приложение. Смотрите http://rentzsch.com/macosx/fs_usageIntro для более подробного объяснения.


Теперь, когда Рентш переместил свой блог в 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-lead-dots -d -hide-rr-Move \
-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 if = / dev / disk2s0 of = cdname.iso bs = 32m

Возможность забыть команду otool, когда я ищу ldd:

$ alias ldd = 'printf "Отправка команды в \' \ '' otool -L \ '\' '- \ n" && otool -L'

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

$ hdid diskimage.dmg (или .iso)

Используйте предварительный просмотр для доступа к странице справочника:

$ man -t rsync | open -f -a /Applications/Preview.app

1
+1 за справочную страницу / предварительный просмотр подсказки. Потрясающие.
— Сэм Халике

12

Утилита CLI для аэропорта - моя любимая. См. Http://osxdaily.com/2007/01/18/airport-the-little-known-command-line-wireless-utility/ . Он покажет вам детали, такие как уровень сигнала, уровень шума и BSSID точки доступа, с которой вы связаны.


1
Здорово. Например: /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport -I Показывает подробную информацию о качестве сигнала, уровне шума, безопасности и других атрибутах сети WiFi.
— имя пользователя

11
ipconfig getpacket en0

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

Если вы привыкли к Windows и думаете, что «ipconfig» не работает - это не так ;-) Вам просто нужно добавить пару аргументов


4
Конечно, если вы привыкли к Linux, 'ifconfig en0' работает так же хорошо.
— Тим

Или используйте, en1если вы находитесь на беспроводной.
— Дана Сэйн

11
drutil tray open

Ценно (через ssh), когда клавиатура не подключена, поскольку кнопка извлечения на оптических дисках Apple недоступна снаружи корпуса.


11

Нельзя сказать достаточно, «открытый» - это здорово. Вы можете открывать документы в их программе с графическим интерфейсом, а также выбирать программу с помощью -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 исправно, и часто показывает команду, которую можно использовать для устранения проблемы. Если написано «имена совпадают, ничего не изменится», вы в хорошей форме. Жизненно важно, если вы когда-нибудь измените конфигурацию сети вашего сервера. Также важно использовать это, прежде чем продвигать свой сервер на Open Directory Master.


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, неоценимо.

Поиск в Google для «командной строки mac 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

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


5
mcxquery

это позволит вам увидеть, какие настройки MCX (управляемого клиента) применяются к клиентскому компьютеру.

[Эквивалент GUI - перейти к System Profiler и в разделе «Программное обеспечение» нажать «Управляемый клиент».]

Полезно определить, управляется ли машина, и посмотреть, получает ли она ожидаемые настройки.



4
system_profiler

Вы получите те же результаты, что и при выборе «Об этом 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, вы можете выбрать View -> Refresh из меню, чтобы обновить список; это может быть просто проще.]

system_profiler SPHardwareDataType

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

system_profiler SPHardwareDataType | grep Serial

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



4
df -h

Чтобы проверить, сколько дискового пространства у меня сейчас на всем диске.


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

в Leopard и новее - отчеты, которые обрабатывают открытые файлы, независимо от того, успешно они или нет. Вы можете попросить его просмотреть все файлы, открываемые в системе, конкретным процессом или, если какой-либо процесс открывает данный файл, с разными временными метками, и показать, возникают ли ошибки.

Вот еще несколько деталей:

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-доступ, но вы хотите что-то сделать с помощью графического интерфейса на клиентском Mac). Дополнительные параметры см. По адресу : http://support.apple.com/kb/HT2370.


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.