Это для менее опытных пользователей - я уверен, что многие из вас, продвинутые пользователи, уже знают все эти трюки. Тем не менее, взгляните - может быть, вы кое-что пропустили по пути.
Завершение закладок
Завершение табуляции - важный трюк. Это отличная экономия времени, и это также полезно, если вы не уверены в точном имени файла или команды.
Например, предположим, что у вас есть файл с именем «действительно длинное имя файла» в текущем каталоге, и вы хотите его удалить. Вы можете ввести полное имя файла, но вам нужно было бы избежать символов пробела (другими словами, добавить символ перед каждым пространством) и может сделать ошибку. Если вы напечатаете rm r и нажмите Tab, Bash автоматически заполнит имя файла для вас.
Конечно, если у вас есть несколько файлов в текущем каталоге, начинающемся с буквы r, Bash не будет знать, какой из них вы хотите. Допустим, у вас есть еще один файл с именем «действительно очень длинное имя файла» в текущем каталоге. Когда вы нажмете «Tab», Bash заполнит «действительно» часть, так как файлы начинаются с этого. После этого снова нажмите клавишу Tab, и вы увидите список совпадающих имен файлов.
Это также работает с командами. Не знаете, какую команду вы хотите, но знаете, что она начинается с «гнома»? Введите «gnome» и нажмите «Tab», чтобы просмотреть список.
трубы
Трубы позволяют отправлять вывод команды другой команде. В философии UNIX каждая программа представляет собой небольшую утилиту, которая хорошо справляется. Например, Ls команда перечисляет файлы в текущем каталоге и Grep команда выполняет поиск своего ввода в течение определенного срока.
Объедините их с трубами ( | символ), и вы можете искать файл в текущем каталоге. Следующая команда выполняет поиск слова «слово»:
ls | grep word
Дикие карты
* символ - то есть, звездочка - это дикая карта, которая может соответствовать чему угодно. Например, если мы хотим удалить как «действительно длинное имя файла», так и «действительно очень длинное имя файла» из текущего каталога, мы могли бы запустить следующую команду:
rm really*name
Эта команда удаляет все файлы с именами файлов, начинающимися с «действительно» и заканчивающимися «именем». Если вы запустили rm * вместо этого вы удаляете каждый файл в текущем каталоге, поэтому будьте осторожны.
Перенаправление вывода
> character перенаправляет вывод команды в файл вместо другой команды. Например, следующая строка запускает Ls чтобы перечислить файлы в текущем каталоге и вместо печати этого списка на терминал он распечатает список в файл с именем «file1» в текущем каталоге:
ls > file1
История команд
Bash запоминает историю команд, которые вы вводите в нее. Вы можете использовать клавиши со стрелками вверх и вниз для прокрутки команд, которые вы недавно использовали. история команда печатает список этих команд, поэтому вы можете отправить его в grep для поиска команд, которые вы использовали недавно. Есть много других трюков, которые вы можете использовать с историей Bash.
~,. &..
~ character - также известный как тильда - представляет домашний каталог текущего пользователя. Итак, вместо ввода cd / home / name для перехода в домашний каталог, вы можете ввести cd ~ вместо. Это также работает с относительными путями - cd ~ / Desktop переключится на рабочий стол текущего пользователя.
Аналогичным образом, . представляет текущий каталог и .. представляет каталог над текущим каталогом. Так, CD.. идет вверх по каталогу. Они также работают с относительными путями - если вы находитесь в папке «Рабочий стол» и хотите перейти в папку «Документы», которая находится в том же каталоге, что и папка «Рабочий стол», вы можете использовать cd../Documents команда.
Запустить команду в фоновом режиме
По умолчанию Bash выполняет каждую команду, которую вы запускаете в текущем терминале. Это нормально, но что, если вы хотите запустить приложение и продолжить использовать терминал? Если вы напечатаете Fire Fox для запуска Firefox Firefox будет использовать ваш терминал и отображать сообщения об ошибках и другой вывод, пока вы его не закроете. Добавить & оператор в конце команды, чтобы Bash выполнил программу в фоновом режиме:
firefox &
Условное исполнение
Вы также можете запустить Bash две команды один за другим. Вторая команда будет выполнена только в том случае, если первая команда успешно завершена. Для этого поместите обе команды в одну строку, разделенные &&, или двойной амперсанд.
Например, спать команда принимает значение в секундах, отсчитывает и завершает успешно. Это бесполезно в одиночку, но вы можете использовать его для запуска другой команды после задержки. Следующая команда будет ждать пять секунд, а затем запустит инструмент gnome-screenshot:
sleep 5 && gnome-screenshot
У вас есть еще трюки? Оставьте комментарий и помогите своим сокурсникам!