Командная строка Ubuntu: Основные команды Bash для начинающих и продвинутых пользователей
Командная строка в Ubuntu — широко известная как терминал — является одним из самых мощных инструментов, доступных пользователям Linux. Независимо от того, управляете ли вы файлами, устанавливаете программное обеспечение, настраиваете параметры системы или автоматизируете повторяющиеся задачи, терминал даёт вам прямой и эффективный контроль над операционной системой. В основе терминала Ubuntu лежит Bash — мощная командная оболочка, которая интерпретирует и выполняет ваши команды быстро и точно.
Это исчерпывающее руководство охватывает наиболее важные и часто используемые команды Bash в Ubuntu, обеспечивая вам прочную основу для уверенной и эффективной работы в терминале — независимо от того, являетесь ли вы полным новичком или хотите отточить имеющиеся навыки.
Что такое Bash?
Bash (сокращение от *Bourne Again Shell*) — это командная оболочка по умолчанию в Ubuntu и подавляющем большинстве дистрибутивов Linux. Это текстовый интерфейс, позволяющий пользователям отдавать команды непосредственно операционной системе, полностью минуя графические интерфейсы для более быстрого и точного управления.
Bash исключительно мощен и поддерживает широкий спектр возможностей, включая:
- Написание сценариев оболочки — автоматизация сложных последовательностей команд
- История команд — вызов и повторное использование ранее выполненных команд
- Псевдонимы — создание сокращений для часто используемых команд
- Конвейеры и перенаправление — объединение команд в цепочки для создания сложных рабочих процессов
- Переменные среды — динамическая настройка поведения системы и приложений
Как открыть терминал в Ubuntu
Открыть терминал Ubuntu можно двумя способами:
- Нажмите Ctrl + Alt + T на клавиатуре
- Найдите "Terminal" в меню приложений (Activities или App Drawer)
После открытия терминала вы готовы начать вводить команды Bash.
> Совет профессионала: Если вы управляете удалённым сервером — например, планом VPS Хостинга — вы, как правило, будете получать доступ к терминалу через SSH, а не через локальный интерфейс рабочего стола. Те же команды Bash применяются в обоих случаях.
Основные команды навигации
Эффективная навигация по файловой системе Linux — это первый навык, которым должен овладеть каждый пользователь терминала. Следующие команды составляют основу навигации по каталогам в Ubuntu.
1. pwd — Вывод текущего каталога
Команда pwd отображает полный путь к каталогу, в котором вы сейчас работаете. Это особенно полезно, когда вы находитесь глубоко внутри вложенной структуры каталогов и вам нужно подтвердить своё местоположение.
pwdПример вывода:
/home/username/documents/projects2. ls — Просмотр содержимого каталога
Команда ls выводит список всех файлов и каталогов в текущем рабочем каталоге. Это одна из наиболее часто используемых команд в Linux.
lsВы можете расширить её функциональность с помощью нескольких полезных параметров:
| Параметр | Описание |
|---|---|
ls -l | Длинный формат — отображает права доступа к файлу, владельца, размер и дату изменения |
ls -a | Показать все файлы, включая скрытые (начинающиеся с .) |
ls -lh | Длинный формат с размерами файлов в удобочитаемом виде (KB, MB, GB) |
ls -lt | Сортировка файлов по времени изменения, сначала новые |
ls -la | Сочетание длинного формата с отображением скрытых файлов |
Пример:
ls -lah /var/www/html3. cd — Смена каталога
Команда cd используется для перемещения между каталогами. Это, пожалуй, самая используемая команда в любом сеансе работы с терминалом Linux.
cd /path/to/directoryРаспространённые сокращения:
cd # Navigate to your home directory
cd ~ # Also navigates to your home directory
cd .. # Move up one directory level
cd - # Return to the previous directory
cd / # Navigate to the root directory4. mkdir — Создание каталога
Команда mkdir создаёт новый каталог по указанному пути.
mkdir new_directoryДля создания вложенных каталогов одной командой используйте флаг -p:
mkdir -p /home/username/projects/website/assetsЭто автоматически создаёт все промежуточные каталоги, даже если они ещё не существуют.
5. rmdir — Удаление пустого каталога
Команда rmdir удаляет пустой каталог. Если каталог содержит файлы или подкаталоги, будет возвращена ошибка.
rmdir directory_nameДля удаления каталога вместе со всем его содержимым используйте команду rm с флагом рекурсии (рассматривается в следующем разделе):
rm -r directory_name> Предупреждение: Команда rm -r безвозвратно удаляет файлы и каталоги. Восстановление через Корзину невозможно. Всегда проверяйте путь перед выполнением.
Команды управления файлами
Управление файлами — это основная обязанность при работе на любой системе Linux — от персонального компьютера до производственного Выделенного сервера. Следующие команды охватывают создание, копирование, перемещение и удаление файлов.
1. touch — Создание нового файла
Команда touch создаёт новый пустой файл. Если файл уже существует, она просто обновляет временные метки доступа и изменения файла, не изменяя его содержимое.
touch file_name.txtВы можете создать несколько файлов одновременно:
touch file1.txt file2.txt file3.txt2. cp — Копирование файлов и каталогов
Команда cp копирует файлы или каталоги из одного места в другое.
cp source_file destinationПолезные параметры:
| Параметр | Описание |
|---|---|
cp -r | Рекурсивное копирование каталога и всего его содержимого |
cp -i | Запрашивать подтверждение перед перезаписью существующего файла |
cp -v | Подробный режим — отображать каждый файл по мере его копирования |
cp -u | Копировать только файлы, которые новее файлов в месте назначения |
Примеры:
# Copy a single file
cp config.txt /etc/myapp/config.txt
# Copy an entire directory
cp -r /var/www/html /backup/html_backup3. mv — Перемещение или переименование файлов
Команда mv служит двойной цели: она перемещает файлы или каталоги в новое место и переименовывает их.
Переместить файл в новый каталог:
mv file_name.txt /new/directory/Переименовать файл:
mv old_name.txt new_name.txtПереместить и переименовать одновременно:
mv /home/user/old_name.txt /var/www/html/new_name.txt4. rm — Удаление файлов и каталогов
Команда rm безвозвратно удаляет файлы и каталоги из файловой системы.
rm file_name.txtРаспространённые параметры:
| Параметр | Описание |
|---|---|
rm -r | Рекурсивное удаление каталога и всего его содержимого |
rm -f | Принудительное удаление без запроса подтверждения |
rm -i | Запрашивать подтверждение перед удалением каждого файла |
rm -rf | Принудительное рекурсивное удаление — используйте с крайней осторожностью |
# Delete a single file
rm old_log.txt
# Delete a directory and all its contents
rm -r /tmp/old_project/> Критическое предупреждение: Выполнение rm -rf по неверному пути — особенно от имени пользователя root — может привести к необратимому повреждению системы. Всегда проверяйте команду перед нажатием Enter.
Просмотр и редактирование файлов
Терминал Ubuntu предоставляет несколько мощных инструментов для чтения и редактирования текстовых файлов непосредственно в терминале, без необходимости открывать графический текстовый редактор. Эти команды незаменимы для системных администраторов, управляющих файлами конфигурации на серверах под управлением Виртуального веб-хостинга или выделенной инфраструктуры.
1. cat — Просмотр содержимого файла
Команда cat (сокращение от *concatenate*) отображает всё содержимое файла непосредственно в терминале.
cat file_name.txtВы также можете использовать cat для объединения нескольких файлов:
cat file1.txt file2.txt > combined.txtИ для отображения номеров строк рядом с содержимым:
cat -n file_name.txt2. less — Постраничный просмотр файлов
Команда less идеально подходит для чтения больших файлов, так как отображает содержимое по одному экрану за раз, а не выводит всё сразу.
less file_name.txtНавигация внутри less:
| Клавиша | Действие |
|---|---|
Space или f | Перейти на одну страницу вперёд |
b | Перейти на одну страницу назад |
Arrow keys | Прокрутка построчно |
/search_term | Поиск вперёд по термину |
?search_term | Поиск назад по термину |
q | Выйти и вернуться в терминал |
3. nano — Редактирование файлов в терминале
Команда nano открывает текстовый редактор Nano непосредственно в терминале. Он удобен для начинающих: сочетания клавиш отображаются в нижней части экрана.
nano file_name.txtОсновные сочетания клавиш Nano:
| Сочетание клавиш | Действие |
|---|---|
Ctrl + O | Сохранить (записать) файл |
Ctrl + X | Выйти из Nano |
Ctrl + K | Вырезать текущую строку |
Ctrl + U | Вставить вырезанную строку |
Ctrl + W | Поиск внутри файла |
Для более продвинутого редактирования опытные администраторы часто предпочитают Vim (vim file_name.txt) или GNU Emacs, хотя Nano является рекомендуемой отправной точкой для новых пользователей.
4. head — Просмотр начала файла
Команда head по умолчанию отображает первые 10 строк файла. Это полезно для быстрой проверки начала файлов журналов или файлов конфигурации.
head file_name.txtДля указания пользовательского количества строк:
head -n 25 file_name.txt5. tail — Просмотр конца файла
Команда tail отображает последние 10 строк файла. Это особенно ценно для мониторинга файлов журналов в режиме реального времени.
tail file_name.txtДля отслеживания файла журнала по мере его обновления в режиме реального времени (чрезвычайно полезно для мониторинга сервера):
tail -f /var/log/syslogДля отображения пользовательского количества строк:
tail -n 50 /var/log/auth.logДополнительные основные команды Bash
Помимо основ, рассмотренных выше, следующие команды незаменимы для любого пользователя Ubuntu или системного администратора.
grep — Поиск текстовых шаблонов
grep "search_term" file_name.txt
grep -r "error" /var/log/ # Recursive search through a directory
grep -i "warning" system.log # Case-insensitive searchfind — Поиск файлов и каталогов
find /home -name "*.txt" # Find all .txt files in /home
find /var/www -type f -name "*.php" # Find all PHP files
find / -size +100M # Find files larger than 100MBchmod — Изменение прав доступа к файлам
chmod 755 script.sh # Owner: read/write/execute; Group/Others: read/execute
chmod +x deploy.sh # Add execute permission for all userschown — Изменение владельца файла
chown username:groupname file.txt
chown -R www-data:www-data /var/www/htmlsudo — Выполнение команд от имени суперпользователя
sudo apt update
sudo systemctl restart nginxapt — Управление пакетами
sudo apt update # Refresh package lists
sudo apt upgrade # Upgrade all installed packages
sudo apt install package_name # Install a new package
sudo apt remove package_name # Remove a packageman — Доступ к страницам руководства
man ls # View the manual for the ls command
man grep # View the manual for grepОбъединение команд Bash в цепочки и перенаправление
Одной из самых мощных возможностей Bash является способность объединять команды в цепочки и перенаправлять ввод/вывод.
Конвейер (|)
Оператор конвейера передаёт вывод одной команды в качестве входных данных другой:
ls -la | grep ".txt" # List only .txt files
cat access.log | grep "404" # Find all 404 errors in a log
ps aux | grep nginx # Check if nginx is runningПеренаправление вывода (> и >>)
echo "Hello World" > output.txt # Write to file (overwrites)
echo "New line" >> output.txt # Append to file
ls -la > directory_listing.txt # Save directory listing to fileПеренаправление ввода (<)
sort < unsorted_list.txt # Sort contents of a fileПрактические примеры использования: команды Bash в управлении серверами
Знание команд Bash полезно не только для локального использования на рабочем столе — оно абсолютно необходимо для управления удалёнными серверами. Независимо от того, настраиваете ли вы веб-сервер, развёртываете приложение или устраняете проблемы с производительностью, терминал является вашим основным инструментом.
Вот несколько реальных сценариев, в которых эти команды применяются ежедневно:
- Управление веб-сервером: Редактирование файлов конфигурации Nginx или Apache с помощью
nano, проверка журналов ошибок с помощьюtail -fи управление корневыми каталогами веб-сервера с помощьюcp,mvиrm - Установка SSL-сертификатов: Переход к каталогам сертификатов, проверка прав доступа к файлам с помощью
ls -lи редактирование файлов конфигурации — все эти шаги критически важны при настройке SSL-сертификатов на вашем сервере - Администрирование баз данных: Использование
grepдля поиска в журналах запросов,findдля поиска файлов баз данных иchmodдля защиты конфиденциальных файлов конфигурации - Автоматизированное резервное копирование: Написание сценариев Bash, объединяющих
cp,tarиfindдля создания запланированных резервных копий критически важных данных - Настройка почтового сервера: Управление файлами конфигурации и мониторинг журналов для настроек Почтового хостинга с использованием
cat,lessиtail
Краткий справочник: шпаргалка по основным командам Bash
| Команда | Назначение | Пример |
|---|---|---|
pwd | Вывод текущего каталога | pwd |
ls | Просмотр содержимого каталога | ls -lah |
cd | Смена каталога | cd /var/www |
mkdir | Создание каталога | mkdir -p /new/dir |
rmdir | Удаление пустого каталога | rmdir old_dir |
touch | Создание пустого файла | touch index.html |
cp | Копирование файлов/каталогов | cp -r src/ dest/ |
mv | Перемещение или переименование | mv old.txt new.txt |
rm | Удаление файлов/каталогов | rm -rf /tmp/cache |
cat | Отображение содержимого файла | cat config.txt |
less | Постраничный просмотр больших файлов | less access.log |
nano | Редактирование файлов в терминале | nano nginx.conf |
head | Просмотр первых N строк | head -n 20 log.txt |
tail | Просмотр последних N строк / в реальном времени | tail -f syslog |
grep | Поиск текстовых шаблонов | grep "error" log.txt |
find | Поиск файлов | find / -name "*.conf" |
chmod | Изменение прав доступа | chmod 755 script.sh |
sudo | Выполнение от имени суперпользователя | sudo apt update |
man | Просмотр руководства по команде | man grep |
Заключение
Освоение команд Bash — один из самых ценных навыков, которые вы можете развить как пользователь Linux, разработчик или системный администратор. Команды, рассмотренные в этом руководстве — от базовой навигации с помощью pwd, ls и cd, до управления файлами с помощью cp, mv и rm, до просмотра и редактирования файлов с помощью cat, less, nano, head и tail — составляют основной набор инструментов для эффективной работы в терминале Ubuntu.
По мере того как вы будете осваивать эти основы, вы естественным образом перейдёте к более продвинутым темам, таким как написание сценариев оболочки, управление процессами, сетевая диагностика и мониторинг системы — все они непосредственно опираются на заложенный здесь фундамент.
Если вы хотите применить эти навыки на реальной среде Linux, AlexHost предоставляет высокопроизводительный VPS Хостинг с полным root SSH-доступом, предоставляя вам полный контроль над вашим сервером из командной строки. Наша инфраструктура разработана для надёжности, скорости и гибкости — независимо от того, размещаете ли вы личный проект, бизнес-приложение или сложную многосерверную архитектуру.
Начните исследовать возможности командной строки Ubuntu сегодня — и получите полный контроль над вашей средой Linux.
