Изучите эти ярлыки терминала macOS и тратьте меньше времени на ввод
Многие люди держатся подальше от терминала macOS из-за утомительного набора длинных и точных команд. Но вы можете сэкономить много времени и меньше печатать, используя функции истории команд, встроенные в оболочку терминала. Оболочка хранит записи о командах, которые вы запускаете, и вы можете получить доступ к этой истории с помощью нескольких простых нажатий клавиш, чтобы запустить команды снова или отредактировать их, поэтому вам не нужно вводить их повторно.
Терминал сохраняет историю команд в порядке «последний пришел – первый вышел», что означает, что первая команда в списке истории – это последняя выполненная команда. Если вы хотите запустить команду, которую вы уже набрали, – скажем, вы хотите повторно запустить последнюю команду, которую вы только что набрали, – все, что вам нужно сделать, это нажать клавишу со стрелкой вверх, и оболочка отобразит последнюю команду запуска в командной строке. .
Если вы хотите запустить ранее выполненную команду, несколько раз нажмите клавишу со стрелкой вверх. По мере того, как вы это делаете, оболочка циклически перебирает ваши последние команды, отображая каждую в командной строке. Если вы решите, что не хотите использовать команду из списка истории, просто нажимайте клавишу со стрелкой вниз, пока не вернетесь к пустой подсказке, а затем введите новую команду.
Переписывая историю
Используя историю команд, вы можете повторно запустить предыдущие команды, но вы также можете модифицировать команды и запускать их с разными аргументами. Один из самых простых способов сделать это – использовать !!
команда, чтобы запустить предыдущую команду, добавив к ней новую информацию. Допустим, вы хотите вывести список содержимого каталога, например:
ls ~/Library/Preferences/ByHost
Прочитав список, вы решаете, что хотите сохранить этот список в файл. Вы можете запустить следующее:
!! > list.txt
Терминал заменяет !! ярлык с последней запущенной командой, поэтому !! > list.txt
это то же самое, что ввести эту команду:
ls ~/Library/Preferences/ByHost > list.txt
Отредактируйте команды
Помимо перемещения вверх и вниз по истории команд с помощью клавиш со стрелками вверх и вниз, отображения каждой команды в командной строке Терминала, вы также можете редактировать появляющиеся команды или добавлять к ним аргументы. Это экономит время, когда вам нужно запустить команду, которая очень похожа, но не совсем такая же.
Скажем, вы хотите скопировать файл; вы набираете такую команду:
cp /Users/kirk/Pictures/P101068.jpg /Users/Shared
Терминал сообщает, что файла не существует, но вы уверены, что он существует. Когда вы переходите в каталог и проверяете, вы видите, что действительно существует файл с похожим именем, но вы не указали ноль. Используя историю команд, вы можете нажать стрелку вверх, чтобы снова отобразить команду. Используйте стрелку влево, чтобы переместить курсор в то место, где вам нужно добавить ноль, введите 0
а затем нажмите ввод. (Вам не нужно перемещать курсор обратно в конец строки.)
Вы можете использовать редактирование команд, чтобы изменять команды и запускать их в разных файлах. Например, если у вас есть несколько файлов в каталоге изображений, вы можете использовать стрелку вверх, чтобы повторно отобразить предыдущую команду, изменить имя файла и снова запустить команду в другом файле.
Изменить аргументы и параметры
Используйте тот же прием, чтобы изменить аргументы или параметры команды. В предыдущем примере я скопировал изображения в свой каталог Users / Shared. Я мог легко нажать стрелку вверх, чтобы снова отобразить команду, а затем изменить команду, чтобы скопировать один из файлов в другое место. Нет необходимости перепечатывать всю строку.
Точно так же, скажем, вы перечисляете файлы в каталоге, а затем решаете использовать -l
возможность отображать длинный список. Нажмите стрелку вверх, чтобы снова отобразить команду, а затем переместите курсор влево, чтобы добавить -l
. Например, ls -l /etc/periodic
.
Ой, я забыл sudo
На вашем компьютере есть множество команд и областей, к которым вы не можете получить доступ без привилегий пользователя root. Если у вас есть права администратора на вашем компьютере, вы можете использовать sudo
команда, чтобы запросить пароль.
Но неприятно набирать длинную команду только для того, чтобы Терминал мрачно ответил: «В разрешении отказано». Если вы забыли добавить к команде префикс sudo
просто введите sudo !!
. Эта команда сообщает оболочке снова выполнить предыдущую команду, на этот раз с предисловием sudo
. Введите свой пароль в командной строке, а затем нажмите клавишу ВВОД, и команда запустится. Нет необходимости набирать все заново.
Примечание редактора: эта статья представляет собой отрывок из Командная строка Mac OS X: Unix под капотом, Кирк Макэлхерн (2004; перепечатано с разрешения Sybex). Он был обновлен, чтобы отразить изменения в Терминале для macOS Big Sur.