Какие полезные команды командной строки в 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.