Эта статья посвящена 20 базовым командам Bash, которые значительно упростят вашу работу в терминале Linux или macOS. Знание этих команд позволит вам эффективно управлять файлами, процессами и системой в целом, избегая лишних кликов мышью и повышая вашу производительность. Мы подробно разберем каждую команду, объясним ее принципы работы и покажем примеры использования.
Что такое Bash и почему он важен?
Bash (Bourne Again Shell) — это командная оболочка, являющаяся стандартной для большинства дистрибутивов Linux и macOS. Она представляет собой интерфейс командной строки (CLI), позволяющий взаимодействовать с операционной системой на более низком уровне, чем графический интерфейс. Bash интерпретирует вводимые пользователем команды и выполняет соответствующие действия. Знание Bash открывает доступ к мощным инструментам управления системой, автоматизации задач и программирования. В отличие от графического интерфейса, Bash позволяет выполнять сложные операции с помощью коротких и эффективных команд, что значительно ускоряет работу.
20 необходимых команд Bash
Ниже приведен список из 20 команд Bash, которые каждый пользователь должен знать:
- 
pwd(print working directory): Выводит текущий рабочий каталог. Это фундаментальная команда, позволяющая определить ваше местоположение в файловой системе. Например, если вы находитесь в каталоге/home/user/documents, командаpwdвыведет именно этот путь.
- 
ls(list): Выводит список файлов и каталогов в текущем рабочем каталоге. Имеет множество опций, например,ls -l(для подробного списка с правами доступа),ls -a(для отображения скрытых файлов),ls -h(для отображения размера файлов в человекочитаемом формате).
- 
cd(change directory): Изменяет текущий рабочий каталог. Например,cd /home/userпереместит вас в каталог/home/user.cd ..переходит на уровень выше в иерархии каталогов.cd ~переходит в домашний каталог.
- 
mkdir(make directory): Создает новый каталог. Например,mkdir new_directoryсоздаст каталог с именемnew_directoryв текущем рабочем каталоге.
- 
rmdir(remove directory): Удаляет пустой каталог. Например,rmdir empty_directoryудалит каталогempty_directory. Для удаления каталога с содержимым используется командаrm -rf.
- 
touch: Создает пустой файл. Например,touch myfile.txtсоздаст файлmyfile.txt.
- 
cp(copy): Копирует файлы или каталоги. Например,cp file1.txt file2.txtскопируетfile1.txtвfile2.txt.cp -r directory1 directory2рекурсивно скопирует каталогdirectory1вdirectory2.
- 
mv(move): Перемещает или переименовывает файлы или каталоги. Например,mv file1.txt file2.txtпереименуетfile1.txtвfile2.txt.mv file1.txt /home/user/documentsпереместитfile1.txtв указанный каталог.
- 
rm(remove): Удаляет файлы или каталоги. Например,rm file1.txtудалит файлfile1.txt. Будьте осторожны!rm -rfудаляет файлы и каталоги рекурсивно и без подтверждения.
- 
cat(concatenate): Выводит содержимое файла на экран. Например,cat file1.txtвыведет содержимоеfile1.txt.
- 
less: Просмотр содержимого файла построчно. Позволяет прокручивать файл вверх и вниз, искать текст. Нажмитеqдля выхода.
- 
head: Выводит первые несколько строк файла (по умолчанию 10). Например,head -n 5 file1.txtвыведет первые 5 строк.
- 
tail: Выводит последние несколько строк файла (по умолчанию 10).tail -f file1.txtбудет постоянно обновлять вывод, показывая новые строки, добавляемые в файл.
- 
grep(global regular expression print): Ищет заданную строку или шаблон в файлах. Например,grep "error" log.txtнайдет все строки вlog.txt, содержащие слово “error”.
- 
find: Поиск файлов и каталогов по заданным критериям. Например,find . -name "*.txt"найдет все файлы с расширением.txtв текущем каталоге и его подкаталогах.
- 
man(manual): Выводит справочную информацию о команде. Например,man lsвыведет справочную информацию о командеls.
- 
echo: Выводит текст на экран. Например,echo "Hello, world!"выведет “Hello, world!” на экран.
- 
sudo(superuser do): Выполняет команду с правами суперпользователя (root). Требует ввода пароля. Например,sudo apt update(в Debian/Ubuntu) обновит список пакетов.
- 
chmod(change mode): Изменяет права доступа к файлам и каталогам. Например,chmod 755 myfile.shустанавливает права доступа 755 для файлаmyfile.sh.
- 
history: Показывает историю выполненных команд. Полезно для повтора ранее выполненных команд.
Принципы работы команд Bash
Большинство команд Bash работают по принципу:  команда принимает аргументы (параметры) и выполняет определенное действие над указанными объектами (файлами, каталогами и т.д.).  Аргументы могут быть опциями (начинаются с - или --), которые изменяют поведение команды, или операндами (имена файлов, каталогов и т.д.), над которыми выполняется действие.  Например, в команде ls -l myfile.txt, ls — это команда, -l — опция (вывод подробного списка), а myfile.txt — операнд (файл, для которого выполняется действие).
Для чего нужны эти команды?
Эти 20 команд охватывают широкий спектр задач, связанных с управлением файлами, каталогами, процессами и системой в целом. Они позволяют:
- Управлять файловой системой: создавать, удалять, копировать, перемещать и переименовывать файлы и каталоги.
- Просматривать содержимое файлов: выводить содержимое файлов на экран, просматривать их построчно, искать текст внутри файлов.
- Находить файлы: искать файлы по заданным критериям.
- Изменять права доступа: управлять правами доступа к файлам и каталогам.
- Выполнять команды с правами администратора: выполнять действия, требующие повышенных привилегий.
- Автоматизировать задачи: создавать скрипты Bash для автоматизации повторяющихся операций.
Как работают эти команды?
Каждая команда Bash имеет свой собственный механизм работы, но в целом они взаимодействуют с ядром операционной системы (kernel) для выполнения запрошенных действий. Bash интерпретирует введенную команду, проверяет ее синтаксис, передает необходимые параметры ядру и получает результат выполнения. Результат затем отображается на экране или используется в дальнейших операциях.
FAQ
- 
Что делать, если я забыл команду? Используйте manдля получения справки или поищите в интернете.
- 
Как исправить ошибку в команде? Проверьте синтаксис команды, убедитесь, что указаны правильные пути к файлам и каталогам. 
- 
Как выполнить несколько команд одновременно? Разделите команды точкой с запятой ;. Например:command1; command2.
- 
Как выполнить команду в фоновом режиме? Добавьте символ &в конце команды. Например:command &.
- 
Как остановить фоновую команду? Используйте команду killс идентификатором процесса (PID). PID можно получить с помощью командыjobs.
- 
Как перенаправить вывод команды в файл? Используйте оператор >. Например:command > output.txt.
- 
Как добавить вывод команды к существующему файлу? Используйте оператор >>. Например:command >> output.txt.
- 
Как выполнить команду только если файл существует? Используйте оператор &&. Например:[ -f myfile.txt ] && command.
- 
Как выполнить команду только если файл не существует? Используйте оператор ||. Например:[ ! -f myfile.txt ] || command.
- 
Где я могу найти больше информации о командах Bash? В руководстве пользователя вашей операционной системы, на сайте man7.org, в интернете. 
Ключевые слова seo
- bash commands
- linux commands
- terminal commands
- command line
- bash tutorial
- shell commands
- command line interface
- bash scripting
- linux terminal
- macOS terminal