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