Назад | Перейти на главную страницу

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

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

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-leading-dots -d -hide-rr-moved \
-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 "Sending command to \'\''otool -L\'\'' --\n" && otool -L'

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

$ hdid diskimage.dmg (or .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 точки доступа, с которой вы связаны.

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

open -a vlc movie.avi

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

open movie.avi

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

open -a system\ preferences

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

open vnc://myserver:5900

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

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

man open

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

drutil tray open

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

ipconfig getpacket en0

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

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

softwareupdate

Обновите свой Mac из интерфейса командной строки.

networksetup

Настройте все, что вы найдете в области сетевых настроек в системных настройках в командной строке. Создает сценарии или делает что-то удаленно много Полегче.

dscacheutil -flushcache

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

sudo changeip -checkhostname

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

В Администрирование из командной строки руководство, выпущенное Apple, бесценно.

Поиск в Google для "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

В этом случае у меня было cded на диск, и поэтому bash получил доступ к тому.

Обратите внимание: если вы видите записи «mds», это означает, что прожектор индексирует диск.

srm

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

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 
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

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

http://www.commandlinefu.com

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

sw_vers

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

mcxquery

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

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

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

sudo opensnoop

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

Вот еще некоторые подробности:

opensnoop - это dtrace сценарий; в / usr / bin есть много других, которые смотрят на такие вещи, как то, какие системные вызовы выполняет процесс, какие процессы он создает и какие операции ввода-вывода выполняет. Бегать apropos DTrace список и подробности смотрите на страницах руководства.


Я узнал об opensnoop, когда пытался диагностировать, почему Comic Life Magiq 1.1 дает сбой в OS 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.

opendiff file1 file2

Работает FileMerge (графический diff который поставляется с Apple Developer Tools) на file1 и file2.

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

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

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

df -h

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

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

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

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

system_profiler SPHardwareDataType

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

system_profiler SPHardwareDataType | grep Serial

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

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

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

drutil eject

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