2.10.16. Полезные возможности консоли
В консоли существует множество полезных возможностей, например горячие клавиши или универсальные аргументы, которые используются для более гибкого применения команд.
Настройка оболочки Bash
В оболочке Bash присутствует два файла, которые позволяют настроить используемую в CLI оболочку в зависимости от потребностей. К примеру, создать определённые алиасы при подключении или установить нужные параметры, что очень полезно при частой работе. Файлы:
.bash_profile
— файл, обрабатываемый автоматически при подключении к консоли. Так как обычно все созданные параметры оболочки помещаются в.bashrc
, то в этот файл следует поместить вызов файла.bashrc
с помощью такого кода:if [ -f ~/.bashrc ]; then . ~/.bashrc fi
.bashrc
— файл, обрабатываемый для неавторизируемых подключений, к примеру при подключении по WebSSH. Чаще всего данный файл вызывается со стороны.bash_profile
, чтобы создать одинаковые условия работы при подключении с авторизацией или без. В файл помещаются все параметры и команды, которые нужно выполнить после подключения.
Горячие клавиши
- Tab — автозавершение, обычно используется для автозавершения имени каталога или файла, если файлов с подобным именем несколько, то двойное нажатие выведет список подходящих файлов.
- Ctrl+R — интерактивный поиск по ранее выполненным командам.
- Ctrl+Alt — перемещение в начало команды.
- Ctrl+E — перемещение в конец команды.
- Ctrl+D — выйти из текущего подключения/командной консоли.
Полезные команды
pwd
— вывод пути к активной директории.cd
— изменение активной директории.ls
— вывод списка файлов и каталогов в активном каталоге или по указанному пути.ll
— то же, что иls -l
, вывод файлов и каталогов в виде удобочитаемого списка.cat
— вывод содержимого файла.head
— вывод первых нескольких строк содержимого файла.tail
— вывод последних нескольких строк содержимого файла, выводит новые строки в режиме реального времени при дополнении файла.less
— постраничный просмотр файла или вывода команды. Для выхода нужно нажать Q.touch
— обновление даты последнего изменения файла на текущее. Также создаёт файл, если в качестве параметра указан несуществующий.mkdir
— создание каталога.rm
— удаление файла или каталога.grep
— инструмент поиска файлов и директорий по содержимому. Описан в этой инструкции.find
— инструмент поиска файлов и директорий. Описан в этой инструкции.diff
— сравнение двух файлов, в выводе команды будет только разница между файлами.man
— получить информацию о команде и ее возможностях.xargs
— использование вывода предыдущей команды в качестве аргумента для следующей. Применение:command1 | xargs command2 stdout_command1
Аргументы
~/
— указание каталога пользователя, на хостинге это/home/user/
гдеuser
это название хостинг-аккаунта.>
— поместить вывод команды в файл, заменив всё его содержимое. Перенаправление вывода имеет больше возможностей, чем запись данных в файл, но они рассмотрены не будут.>>
— поместить вывод команды в файл, дописав его в конце. Перенаправление вывода имеет больше возможностей, чем запись данных в файл, но они рассмотрены не будут.!!
— подстановка предыдущей команды.!*
— подстановка ключа предыдущей команды.!$
— подстановка последнего аргумента предыдущей команды.!abc
— подстановка ранее выполненной команды, которая начинается на abc.!?abc?
— подстановка последней ранее выполненной команды, в которой содержится текст abc.example.file{,.bak}
— сокращение двух строк до одной, если во второй строке используется тот же текст, что и в первой, но с окончанием.bak
. К примеру это удобно при создании временной копии файлаcp config.php{,.bak}
.
Последовательности
;
— выполнить ряд команд, разделённых этим символом, последовательно, при этом выполнение следующей команды не зависит от результата выполнения предыдущей.&&
— выполнить ряд команд, разделённых этим символом, последовательно, но в отличие от предыдущего варианта — следующая команда будет выполнена только в том случае, если предыдущая команда не вернула ошибку. Символ является подобием логического условия «И (AND)».||
— выполнить ряд команд, разделённых этим символом, но следующая команда будет выполнена только в том случае, если предыдущая команда вернула ошибку при выполнении. Символ является подобием логического условия «ИЛИ (OR)».
Примеры
Удаление файлов содержащих определенную строку
Внимание!
Перед выполнением убедитесь в корректности указания команды и создайте резервную копию всего аккаунта, так как удаление файлов может стать безвозвратным.Example
— искомый текст в файлахfolder
— целевой каталог, в рамках которого будет производиться поиск.
grep -lr 'Example' ~/folder | xargs rm -f --