Эта статья посвящена 20 базовым командам Bash, которые значительно упростят вашу работу в терминале Linux или macOS. Знание этих команд позволит вам эффективно управлять файлами, процессами и системой в целом, избегая лишних кликов мышью и повышая вашу производительность. Мы подробно разберем каждую команду, объясним ее принципы работы и покажем примеры использования.
Bash (Bourne Again Shell) — это командная оболочка, являющаяся стандартной для большинства дистрибутивов Linux и macOS. Она представляет собой интерфейс командной строки (CLI), позволяющий взаимодействовать с операционной системой на более низком уровне, чем графический интерфейс. Bash интерпретирует вводимые пользователем команды и выполняет соответствующие действия. Знание Bash открывает доступ к мощным инструментам управления системой, автоматизации задач и программирования. В отличие от графического интерфейса, 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 работают по принципу: команда принимает аргументы (параметры) и выполняет определенное действие над указанными объектами (файлами, каталогами и т.д.). Аргументы могут быть опциями (начинаются с -
или --
), которые изменяют поведение команды, или операндами (имена файлов, каталогов и т.д.), над которыми выполняется действие. Например, в команде ls -l myfile.txt
, ls
— это команда, -l
— опция (вывод подробного списка), а myfile.txt
— операнд (файл, для которого выполняется действие).
Эти 20 команд охватывают широкий спектр задач, связанных с управлением файлами, каталогами, процессами и системой в целом. Они позволяют:
Каждая команда Bash имеет свой собственный механизм работы, но в целом они взаимодействуют с ядром операционной системы (kernel) для выполнения запрошенных действий. Bash интерпретирует введенную команду, проверяет ее синтаксис, передает необходимые параметры ядру и получает результат выполнения. Результат затем отображается на экране или используется в дальнейших операциях.
Что делать, если я забыл команду? Используйте 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, в интернете.
Что такое генераторы Bash-скриптов? Генераторы Bash-скриптов – это инструменты, которые позволяют создавать скрипты Bash (командные…
Что такое скрипты с правами sudo? Скрипты с правами sudo – это программы, написанные на…
Bash (Bourne Again Shell) — это командная оболочка, являющаяся стандартной для большинства систем Linux и…
Bash (Bourne Again Shell) — это интерпретатор командной строки, являющийся стандартной оболочкой в большинстве дистрибутивов…
Что такое /bin/bash? /bin/bash — это путь к исполняемому файлу Bash (Bourne Again Shell) в…
Bash — это мощная оболочка командной строки, используемая в системах Unix-подобных операционных системах, таких как…