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

KCH
источник
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 .

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

richardhoskins
источник
для запуска других приложений используйте что-то вроде: 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

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

w00t
источник
10
softwareupdate

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

dvoita
источник
9
networksetup

Сконфигурируйте все, что вы найдете в Панели сетевых настроек в Системных настройках в командной строке. Делает написание сценариев, или делать что - то удаленно гораздо проще.

Chealion
источник
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
ping 224.0.0.1

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

имя пользователя
источник
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
srm

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

Джодер Хо
источник
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

http://www.commandlinefu.com

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

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

sal
источник
5
mcxquery

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

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

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

Клинтон Блэкмор
источник
5
sw_vers

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

имя пользователя
источник
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
ifconfig en0 ether 00:00:00:00:00:00

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

имя пользователя
источник
Я сталкивался с этим несколько дней назад здесь: krypted.com/mac-os-x/… - удобно для проверки настроек службы DHCP
имя пользователя
4
df -h

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

hendrasaputra
источник
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.

las3rjock
источник
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.

имя пользователя
источник
3
drutil eject

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

Клинтон Блэкмор
источник