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

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

55 ответов

say "some text"

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

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 (что вы делаете), вы должны проверить эти ссылки:

fs_usage

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

open .

Открывает окно поиска в текущем рабочем каталоге.

Из командной строки мне нравится иметь возможность:

Создайте и запишите "универсальный" 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

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

ipconfig getpacket en0

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

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

Нельзя сказать достаточно, "открытый" - это здорово. Вы можете открывать документы в их программе с графическим интерфейсом, а также выбирать программу с помощью -a. Например,

open -a vlc movie.avi

откроет VLC и скажет ему загрузить movie.avi в текущем каталоге.

open movie.avi

откроет его с любой программой по умолчанию. Если вы просто хотите открыть программу, вы можете сделать это тоже:

open -a system\ preferences

запустит Системные настройки. Вы также можете открыть URL-адреса:

open vnc://myserver:5900

откроет общий доступ к экрану и подключится к myserver.

Проверять, выписываться

man open

чтобы увидеть все флаги, которые вы можете использовать.

drutil tray open

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

softwareupdate

Обновите свой Mac из CLI.

networksetup

Сконфигурируйте все, что вы найдете в Панели сетевых настроек в Системных настройках в командной строке. Облегчает написание сценариев или удаленную работу.

sudo changeip -checkhostname

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

dscacheutil -flushcache

Я использую эту кучу для очистки кеша DNS на 10.5+.

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 
srm

Версия командной строки для безопасного удаления.

Руководство по администрированию командной строки, выпущенное Apple, неоценимо.

Поиск в Google для "командной строки mac mac" дает хорошие результаты.

Администрирование из командной строки для Mac OS X 10.5, 10.4 и 10.3.

Другие полезные руководства находятся по адресу http://www.apple.com/server/macosx/resources/.

 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", это означает, что прожектор индексирует диск.

ping 224.0.0.1

Пингуйте все устройства в вашей подсети

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. Результаты помещаются на монтажный стол для редактирования -> вставки в документ.

http://www.commandlinefu.com/

Хотя это и не ресурс Mac, он использует значок терминала, и большая часть списка действительно полезных команд будет работать.

mcxquery

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

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

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

sw_vers

Отображает текущую установленную версию и сборку Mac OS X.

ifconfig en0 ether 00:00:00:00:00:00

Изменяет (подделывает) MAC-адрес до следующей перезагрузки

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

Список серверов рекламы в Bonjour. Последнее предложение перечисляет типы услуг, которые вы можете перечислить. Распечатка активна, нажмите Ctrl-C, когда увидите достаточно.

Эта же команда используется в последних версиях Linux и Bonjour SDK для Windows.

opendiff file1 file2

Запускает FileMerge (графический diff который поставляется с Apple Developer Tools) на file1 а также file2,

df -h

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

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.

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

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

scutil --dns

Будет отображаться порядок разрешения DNS. Полезно для создания или отладки сетевых настроек.

drutil eject

извлечет компакт-диск.

Другие вопросы по тегам