15%

Сэкономьте 15% на всех хостинговых услугах

Проверьте свои навыки и получите скидку на любой тарифный план

Используйте код:

Skills
Начать
30.10.2024
1 +1

Командная строка 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/projects

2. ls — Просмотр содержимого каталога

Команда ls выводит список всех файлов и каталогов в текущем рабочем каталоге. Это одна из наиболее часто используемых команд в Linux.

ls

Вы можете расширить её функциональность с помощью нескольких полезных параметров:

ПараметрОписание
ls -lДлинный формат — отображает права доступа к файлу, владельца, размер и дату изменения
ls -aПоказать все файлы, включая скрытые (начинающиеся с .)
ls -lhДлинный формат с размерами файлов в удобочитаемом виде (KB, MB, GB)
ls -ltСортировка файлов по времени изменения, сначала новые
ls -laСочетание длинного формата с отображением скрытых файлов

Пример:

ls -lah /var/www/html

3. 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 directory

4. 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.txt

2. 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_backup

3. 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.txt

4. 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.txt

2. 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.txt

5. 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 search

find — Поиск файлов и каталогов

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 100MB

chmod — Изменение прав доступа к файлам

chmod 755 script.sh       # Owner: read/write/execute; Group/Others: read/execute
chmod +x deploy.sh        # Add execute permission for all users

chown — Изменение владельца файла

chown username:groupname file.txt
chown -R www-data:www-data /var/www/html

sudo — Выполнение команд от имени суперпользователя

sudo apt update
sudo systemctl restart nginx

apt — Управление пакетами

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 package

man — Доступ к страницам руководства

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.

15%

Сэкономьте 15% на всех хостинговых услугах

Проверьте свои навыки и получите скидку на любой тарифный план

Используйте код:

Skills
Начать