У вас есть какие-либо советы или рекомендации для терминала в Mac OS X?
Один совет или трюк за каждый ответ.
Мой любимый
open .
Открывает папку, которую вы просматриваете в Finder. Вы также можете передавать URL-адреса, изображения, документы или еще open
.
Если вы укажете имя программы с -a, вы можете передать URL, изображение, документ или папку в эту программу, например, open -a Preview image.png
, переопределяя набор программ по умолчанию для типа файла.
Пожалуйста, не публикуйте дубликаты. Искать в этом вопросе вот так: inquestion:this ls -l
Только для Mac OS X .
30 ответов
Вы можете удерживать опцию и щелкнуть позицию в текущей строке, чтобы переместить курсор в эту позицию.
pbcopy
и pbpaste
:
# Copy output of command to clipboard
grep 'search term' largeFile.txt | pbcopy
# Abuse clipboard contents
pbpaste | sed 's/ /%20/g'
# get rid of the text attributes when you copy formatted text
pbpaste|pbcopy
opensnoop
- моя новая любимая утилита. Он использует DTrace, чтобы показать вам все файлы, к которым обращаются в вашей системе, вам нужно выполнить его с привилегиями суперпользователя.
sudo opensnoop
Вы также можете посмотреть, как открывается конкретный процесс, передав в PID:
sudo opensnoop -p PID
Или посмотрите конкретный файл, чтобы узнать, кто его открывает:
sudo opensnoop -f /etc/passwd
Он не встроен, но это самый эффективный способ заставить мою жену перестать использовать мой ноутбук, чтобы читать новости о знаменитостях через несколько часов после того, как 4 - 5 запросов вернуть мой Macbook:
echo 'The system is overheating and needs to go to sleep now.' | \
growlnotify -a 'Activity Monitor' 'OVERHEATED'; \
sleep 1; \
say 'Overheated system.'
Так как это почти всегда около 70c, это правдоподобно.
Запустите быстрый веб-сервер из любого каталога:
python -m SimpleHTTPServer 8000
Когда вы редактируете особенно длинную и gnarly командную строку:
ctrl + X , ctrl + E выведет вас в ваш редактор и позволит вам работать там.
Команда say
вызывает возможности системного преобразования текста в речь.
say "Hello there."
!!
Запускает последнюю команду еще раз. Отлично подходит для отслеживания изменений.
Прекратите использование клавиш со стрелками и быстрее перейдите к командной строке с помощью
ctrl + A : переход к началу строки
ctrl + E : перемещается в конец строки
ctrl + B : переместить один символ
ctrl + F : переместить один символ
esc + B : откройте одно слово
esc + F : переместить одно слово
ctrl + U : удалить из курсора в начало строки
ctrl + K : удалить из курсора в конец строки
ctrl + W : удалить из курсора в начало текущего слова
mdfind
, чтобы использовать прожектор из командной строки - действительно очень удобно! Находит все в любом каталоге, поэтому полезно искать файлы, которые являются частью системы.
mdfind -live
обновления в реальном времени, что также невероятно удобно.
Откройте страницу man в Preview:
pman () {
man -t "${1}" | open -f -a /Applications/Preview.app
}
Откройте текстовую страницу в TextMate:
tman () {
MANWIDTH=160 MANPAGER='col -bx' man [email protected] | mate
}
Откройте страницу управления в SublimeText:
sman() {
man "${1}" | col -b | open -f -a /Applications/Sublime\ Text\ 2.app/Contents/MacOS/Sublime\ Text\ 2
}
Выйти из приложения из командной строки
# Quit an OS X application from the command line
quit () {
for app in $*; do
osascript -e 'quit app "'$app'"'
done
}
Перезапустите приложение из командной строки:
relaunch () {
for app in $*; do
osascript -e 'quit app "'$app'"';
sleep 2;
open -a $app
done
}
Удалите приложение из AppZapper из командной строки:
zap () {
open -a AppZapper /Applications/"${1}".app
}
cd -
Восстановит предыдущий каталог, в котором вы были. Очень удобно, если вы случайно набрали cd
самостоятельно без каких-либо аргументов и попали в ваш домашний каталог.
Вы можете перетащить папку из поискового устройства в терминал и вставить полный путь к этому файлу.
cd <drag folder to terminal>
В принципе это противоположно open в терминале
Вот что-то приятное и бессмысленное:
/System/Library/Frameworks/ScreenSaver.framework/Resources/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine -background &
Запускает вашу заставку в качестве рабочего стола. Бесполезно, но круто.
Это не влияет на нормальную работу заставки, но закончится после активации обычной заставки, либо таймаутом, либо перемещением мыши в предопределенный горячий угол.
В качестве альтернативы вы можете использовать:
killall ScreenSaverEngine
ctrl + A и ctrl + E : перейдите к началу строки и до конца линии.
Это также работает в каждом вводе текста Cocoa!
(Предполагая, что мы ищем специальные трюки для Mac OS X.)
У меня есть псевдоним для запуска quicklook в файле из командной строки:
$ type -a ql
ql is aliased to `qlmanage -p 2>/dev/null'
$ ql photo.jpg
Testing Quick Look preview with files:
photo.jpg
ctrl + C : Убейте его и верните в приглашение.
$ emacs -batch -l dunnet
Dead end
You are at a dead end of a dirt road. The road goes to the east.
In the distance you can see that it will eventually fork off. The
trees here are very tall royal palms, and they are spaced equidistant
from each other.
There is a shovel here.
>
afconvert позволяет конвертировать из и во все аудиоформаты, известные внутри Core Audio.
например, преобразование файла aiff в 160 кбит /с AAC:
afconvert track.aiff -o track.m4a -q 127 -b 160000 -f 'm4af' -d 'aac '
Быстро проверьте, что есть вся ваша память:
top -o vsize
И для вашего процессора
top -o cpu
Q , чтобы выйти
Чтобы снова использовать ctrl + â † и ctrl + â † ', это происходит слова вперед или назад, как это обычно делается в Linux, вы должны сделать Terminal.app отправить правильную строку в оболочку. В настройках перейдите на вкладку Settings
и выберите свой профиль по умолчанию. Перейдите в Keyboard
и установите control cursor left
и control cursor right
для отправки строки \033b
и \033f
соответственно.
Пока вы на нем, вы также можете исправить Home (\033[H
), End (\033[F
), Page Up (\033[5~
) и Страница вниз (\033[6~
), чтобы отправить эти ключи в оболочку вместо прокрутки буфера.
Повторите выбор изображения таким образом, чтобы высота и ширина не превышали заданный размер, например. 100x100:
sips -Z 100x100 image.jpg
sips поддерживает другие операции, такие как: flip, rotate, crop, запрос свойств изображения, запрос и модификация цветового профиля. Проверьте man sips
для использования.
http://github.com/joelthelion/autojump - «cd», который учится.
С помощью hdiutil
вы можете легко монтировать образ диска:
hdiutil mount ~/Desktop/lastest_webkit.dmg
Демонтаж (хакерский путь):
hdiutil detach `df | grep WebKit | perl -pe '[email protected]^/dev/([a-zA-Z0-9]+).*@[email protected]'`
Демонтаж (простой способ):
hdiutil detach /Volumes/<mountpoint>
или используйте более простой подход (предлагаемый ниже churnd ):
hdiutil detach /Volumes/latest_webkit
Некоторые полезные псевдонимы:
alias ..="cd .."
alias ...="cd .. ; cd .."
alias ls="ls -G" # list
alias la="ls -Ga" # list all, includes dot files
alias ll="ls -Gl" # long list, excludes dot files
alias lla="ls -Gla" # long list all, includes dot files
alias stfu="osascript -e 'set volume output muted true'"
alias pumpitup="sudo osascript -e 'set volume 10'"
# Get readable list of network IPs
alias ips="ifconfig -a | perl -nle'/(\d+\.\d+\.\d+\.\d+)/ && print $1'"
alias myip="dig +short myip.opendns.com @resolver1.opendns.com"
alias flush="dscacheutil -flushcache" # Flush DNS cache
alias gzip="gzip -9n" # set strongest compression level as ‘default’ for gzip
alias ping="ping -c 5" # ping 5 times ‘by default’
alias ql="qlmanage -p 2>/dev/null" # preview a file using QuickLook
# Upload image to Imgur and return its URL. Get API key at http://imgur.com/register/api_anon
imgur() { curl -F "[email protected]$1" -F "key=ANONYMOUS_IMGUR_API_KEY" https://api.imgur.com/2/upload | egrep -o "<original>.+?</original>" | egrep -o "http://imgur\.com/[^<]+" | sed "s/imgur.com/i.imgur.com/" | tee >(pbcopy); }
Все это в моем ~/.bash_profile
, поэтому я могу использовать их в каждом окне терминала.
P.S.
alias chpwn="chown"
Подробнее см. мой репозиторий dotfiles на GitHub и /или просмотреть файл .osx
для OS-специфических настроек и настроек .
textutil
- очень удобный инструмент, который может преобразовывать текст между HTML, RTF (D), Word (включая XML), OpenOffice.org Writer и форматом веб-архива.
Я использую его, особенно в службе, которая преобразует выделенный текст в HTML, загружает его на сервер, а затем импортирует в Instapaper.
Сделать файлы невидимыми:
SetFile file -a V
SetFile может также изменять множество других атрибутов файла и метаданных.
SetFile не является собственной командой OS X, она поставляется в комплекте с DevTools /Xcode.
Если у вас нет Xcode и вы не хотите загружать около 6 ГБ, вы можете использовать
sudo chflags hidden|nohidden <file/folder>
chflags - это BSD-команда, и у нее также есть Man-страница, просто введите это в Terminal
man chflags
для тех, кто не любит вводить команды сам и просто хотел бы знать, что там стоит в человеке. Здесь у вас есть:
CHFLAGS(1) BSD General Commands Manual CHFLAGS(1)
NAME
chflags -- change file flags
SYNOPSIS
chflags [-fhv] [-R [-H | -L | -P]] flags file ...
DESCRIPTION
The chflags utility modifies the file flags of the listed files as speci-
fied by the flags operand.
The options are as follows:
-f Do not display a diagnostic message if chflags could not modify
the flags for file, nor modify the exit status to reflect such
failures.
-H If the -R option is specified, symbolic links on the command line
are followed. (Symbolic links encountered in the tree traversal
are not followed.)
-h If the file is a symbolic link, change the file flags of the link
itself rather than the file to which it points.
-L If the -R option is specified, all symbolic links are followed.
-P If the -R option is specified, no symbolic links are followed.
This is the default.
-R Change the file flags for the file hierarchies rooted in the
files instead of just the files themselves.
-v Cause chflags to be verbose, showing filenames as the flags are
modified. If the -v option is specified more than once, the old
and new flags of the file will also be printed, in octal nota-
tion.
The flags are specified as an octal number or a comma separated list of
keywords. The following keywords are currently defined:
arch, archived
set the archived flag (super-user only)
opaque set the opaque flag (owner or super-user only). [Directory
is opaque when viewed through a union mount]
nodump set the nodump flag (owner or super-user only)
sappnd, sappend
set the system append-only flag (super-user only)
schg, schange, simmutable
set the system immutable flag (super-user only)
uappnd, uappend
set the user append-only flag (owner or super-user only)
uchg, uchange, uimmutable
set the user immutable flag (owner or super-user only)
hidden set the hidden flag [Hide item from GUI]
As discussed in chflags(2), the sappnd and schg flags may only be unset
when the system is in single-user mode.
Putting the letters ``no'' before or removing the letters ``no'' from a
keyword causes the flag to be cleared. For example:
nouchg clear the user immutable flag (owner or super-user only)
dump clear the nodump flag (owner or super-user only)
Unless the -H or -L options are given, chflags on a symbolic link always
succeeds and has no effect. The -H, -L and -P options are ignored unless
the -R option is specified. In addition, these options override each
other and the command's actions are determined by the last one specified.
You can use "ls -lO" to see the flags of existing files.
EXIT STATUS
The chflags utility exits 0 on success, and >0 if an error occurs.
SEE ALSO
ls(1), chflags(2), stat(2), fts(3), symlink(7)
HISTORY
The chflags command first appeared in 4.4BSD.
BUGS
Only a limited number of utilities are chflags aware. Some of these
tools include ls(1), cp(1), find(1), install(1), dump(8), and restore(8).
In particular a tool which is not currently chflags aware is the pax(1)
utility.
BSD March 3, 2006 BSD
dot_clean .
Это не ежедневное использование - но это была большая экономия времени один раз - У меня был файловый сервер SMB (Avid Unity), в котором было много файлов .filename для пользователей Mac, а также для пользователей ПК.
Эта команда очистки полностью устранила проблему (после двухкратного запуска)
history
отображает список последних команд, которые вы выполнили, например, 500 или 600 команд. Я часто использую history | grep something
, чтобы найти команду, которую я использовал недавно.
Хотя я могу обойтись в vi, я использую TextMate как мой редактор командной строки . Вы также можете передавать ему вещи. Например, ls | mate открывает TextMate с текущим прямым открытием в текстовом окне.
mdls
покажет вам все метаданные файла, о котором знает Spotlight. Вы также можете использовать полученные атрибуты в «mdfind».
mdutil
позволяет вам включать или отключать индексирование на определенных томах и позволяет вам сбрасывать индекс и т. д.
systemsetup
является специфичным для BSD (не только для Mac), но действительно классно, проверьте его manpage.
GetFileInfo
(я считаю, что вам нужно получить инструменты разработчика, чтобы иметь это) позволяет видеть все связанные времена (модификация, создание, последний доступ) и все атрибуты файла.
automator
позволяет запускать рабочие процессы автоматизации из командной строки, а
osascript
позволяет запускать код сценария Apple.