Командная строка — это сердце администрирования серверов Linux. Независимо от того, новичок вы или опытный системный администратор, понимание основ администрирования из командной строки крайне важно для эффективного управления сервером Ubuntu. Эта статья представляет собой подробное введение в командную строку Linux и охватывает основные команды, инструменты и методы управления файлами, каталогами и серверной средой.
Предыдущая статья:
01. Введение в Ubuntu Server – SysOSX: AI & Cloud
02. Как настроить свой первый сервер Ubuntu: руководство для начинающих – SysOSX: AI & Cloud
Зачем изучать командную строку?
Командная строка Linux, доступ к которой осуществляется через терминал, — это мощный инструмент для взаимодействия с операционной системой. В отличие от графических интерфейсов, командная строка предлагает:
- Скорость: Задачи можно выполнять быстрее с помощью команд, чем через графические интерфейсы.
- Гибкость: Автоматизируйте процессы и выполняйте сложные операции с помощью сценариев.
- Контроль: Получайте доступ к более глубоким функциям системы и эффективно устраняйте неполадки.
Доступ к командной строке на Ubuntu Server
Установки Ubuntu Server по умолчанию не включают графический интерфейс, поэтому всё взаимодействие происходит через терминал. Вот распространённые способы доступа к командной строке:
1. Прямой доступ через локальную консоль
После входа на сервер Ubuntu вам будет представлен интерфейс терминала.
2. Удалённый доступ по SSH
Используйте Secure Shell (SSH) для удалённого доступа к вашему серверу:
ssh username@server_ip
Основные команды Linux для начинающих
1. Навигация по файловой системе
Понимание иерархии файловой системы Linux крайне важно для управления файлами и каталогами.
Просмотр текущего каталога: pwd
Отображает текущий рабочий каталог:
pwd
Список содержимого каталога: ls
Выводит список файлов и каталогов в текущем расположении:
ls
Опции:
ls -l: Подробный список с правами доступа, владельцем и размером.ls -a: Включает скрытые файлы (файлы, начинающиеся с.).
Смена каталога: cd
Переходит в другой каталог:
cd /path/to/directory
Примеры:
cd ..: Переход на один уровень вверх.cd ~: Переход в домашний каталог.
2. Управление файлами и каталогами
Создание каталога: mkdir
Создаёт новый каталог:
mkdir directory_name
Пример: создайте структуру подкаталогов.
mkdir -p /home/user/documents/projects
Объяснение:
- Опция
-pсоздаёт родительские каталоги, если их нет (например,documentsиprojects).
Удаление каталога: rmdir
Удаляет пустой каталог:
rmdir directory_name
Пример:
rmdir /home/user/old_directory
Копирование файлов: cp
Копирует файлы или каталоги:
cp source_file destination_file
Пример: скопируйте файл в новый каталог.
cp /home/user/file.txt /home/user/backup/file.txt
Чтобы скопировать каталоги целиком:
cp -r /home/user/documents /home/user/backup/documents
Перемещение или переименование файлов: mv
Перемещает или переименовывает файлы:
mv old_name new_name
Пример: переименуйте файл.
mv file.txt renamed_file.txt
Перемещение файлов в другой каталог:
mv /home/user/file.txt /home/user/backup/
Удаление файлов: rm
Удаляет файлы или каталоги:
rm file_name
Пример: удалите файл.
rm /home/user/file.txt
Чтобы удалить каталоги и их содержимое:
rm -r /home/user/old_directory
Предупреждение: Будьте осторожны с rm, чтобы избежать случайных удалений.
3. Просмотр и редактирование файлов
Просмотр содержимого файла: cat
Отображает содержимое файла:
cat file_name
Пример:
cat /etc/hostname
Просмотр содержимого файла с постраничной разбивкой: less
Позволяет прокручивать содержимое файла:
less file_name
Пример:
less /var/log/syslog
Создание или редактирование файлов: nano
Удобный для начинающих текстовый редактор:
nano file_name
Пример: создайте новый файл или отредактируйте существующий.
nano /home/user/new_file.txt
Поиск текста в файлах: grep
Ищет определённую строку в файлах:
grep "search_term" file_name
Пример: найдите сообщения об ошибках в файле журнала.
grep "error" /var/log/syslog
4. Команды системного администрирования
Проверка использования диска: df
Отображает использование дискового пространства:
df -h
Опции:
-h: Человекочитаемый формат.
Проверка использования памяти: free
Показывает использование памяти:
free -h
Мониторинг системных процессов: top
Отображает запущенные процессы и использование системных ресурсов:
top
Альтернатива:
htop: Более удобный монитор процессов (устанавливается с помощьюsudo apt install htop).
Управление службами: systemctl
Управляет системными службами:
sudo systemctl status service_name
sudo systemctl start service_name
sudo systemctl stop service_name
sudo systemctl restart service_name
Выключение или перезагрузка: shutdown
Выключите или перезагрузите сервер:
sudo shutdown now # Immediate shutdown
sudo shutdown -r now # Immediate restart
5. Права доступа к файлам и владение
Linux использует модель прав доступа для контроля доступа к файлам и каталогам.
Просмотр прав доступа к файлу: ls -l
Отображает права доступа к файлам в подробном формате:
ls -l
Изменение прав доступа к файлу: chmod
Изменяет права доступа к файлам:
chmod 644 file_name
Изменение владельца файла: chown
Изменяет владельца файлов:
sudo chown new_owner:new_group file_name
6. Поиск файлов
Поиск файлов: locate
Команда locate по умолчанию не установлена. Сначала установите её:
sudo apt update
sudo apt install mlocate
Обновите базу данных:
sudo updatedb
Ищите файлы:
locate file_name
Поиск файлов: find
Ищет файлы по заданным критериям:
find /path -name "file_name"
7. Сетевые команды
Проверка сетевого подключения: ping
Проверяет подключение к хосту:
ping google.com
Проверка открытых портов: ss
Команда netstat устарела и по умолчанию не установлена. Используйте ss, современную альтернативу:
ss -tuln
Объяснение:
-t: Отображает TCP-соединения.-u: Отображает UDP-соединения.-l: Отображает прослушиваемые порты.-n: Показывает числовые адреса и порты.
Проверка удалённого подключения: curl
Получает данные по URL:
curl http://example.com
Практические советы по администрированию из командной строки
1. Использование автодополнения по Tab
Нажмите Tab во время ввода команды или имени файла, чтобы автоматически дополнить пути или команды.
2. Использование команд истории
Доступ к ранее выполненным командам:
history
Выполнение определённой команды из истории:
!number
3. Перенаправление вывода
Сохранение вывода команды в файл:
command > output_file
4. Связывание команд
Запуск нескольких команд последовательно:
command1 && command2
Пример рабочего процесса: настройка веб-сервера
Вот пошаговое руководство по настройке веб-сервера с использованием базовых команд. Следуйте этим инструкциям, чтобы настроить свой собственный сайт и убедиться, что он заменяет страницу Apache по умолчанию.
1. Обновление системы
Поддержание системы в актуальном состоянии крайне важно для безопасности и стабильности. Выполните следующую команду, чтобы обновить все пакеты:
sudo apt update && sudo apt upgrade -y
2. Установка Apache
Установите веб-сервер Apache:
sudo apt install apache2 -y
После установки убедитесь, что Apache работает:
sudo systemctl status apache2
Вы должны увидеть сообщение о состоянии, например: Active: active (running).
3. Создание каталога для вашего сайта
Создайте каталог для хранения файлов вашего сайта. В этом примере мы создадим каталог с именем mywebsite:
sudo mkdir -p /var/www/mywebsite
4. Настройка прав доступа
Установите правильные права владения и доступа, чтобы Apache мог обращаться к файлам сайта:
sudo chown -R www-data:www-data /var/www/mywebsite
sudo chmod -R 755 /var/www/mywebsite
5. Создание примера HTML-файла
Добавьте простой файл index.html, который будет служить домашней страницей вашего сайта:
sudo tee /var/www/mywebsite/index.html > /dev/null << EOF
<!DOCTYPE html>
<html>
<head>
<title>Welcome</title>
</head>
<body>
<h1>Welcome to My Website</h1>
</body>
</html>
EOF
Так создаётся базовая страница с текстом: “Welcome to My Website”.
6. Настройка виртуального хоста
Чтобы обслуживать ваш собственный сайт, создайте новый файл конфигурации виртуального хоста для Apache:
sudo nano /etc/apache2/sites-available/mywebsite.conf
Вставьте в файл следующее содержимое:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/mywebsite
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Сохраните файл и выйдите из него, нажав Ctrl+O, а затем Ctrl+X.
7. Включение вашего сайта
Включите новую конфигурацию виртуального хоста:
sudo a2ensite mywebsite.conf
Отключите конфигурацию сайта Apache по умолчанию, чтобы обслуживался ваш сайт:
sudo a2dissite 000-default.conf
Перезагрузите Apache, чтобы применить изменения:
sudo systemctl reload apache2
8. Проверка подключения
Проверьте, работает ли ваш сайт, выполнив:
curl http://localhost
Вы должны увидеть HTML-содержимое вашего пользовательского файла index.html:
<!DOCTYPE html>
<html>
<head>
<title>Welcome</title>
</head>
<body>
<h1>Welcome to My Website</h1>
</body>
</html>
Либо откройте браузер и перейдите по адресу http://<your-server-ip>, чтобы просмотреть свой сайт.
Устранение неполадок
Если вы по-прежнему видите страницу Apache по умолчанию или сталкиваетесь с проблемами:
- Убедитесь, что ваш сайт включён
Убедитесь, что ваша конфигурация активна:
ls /etc/apache2/sites-enabled/
- Вы должны увидеть
mywebsite.conf. Если нет, включите его с помощью:
sudo a2ensite mywebsite.conf
- Проверьте журналы Apache
Ищите ошибки в журналах:
sudo tail -f /var/log/apache2/error.log
- Перезапустите Apache
Если проблема сохраняется, перезапустите Apache:
sudo systemctl restart apache2
Заключение
Овладение командной строкой Linux крайне важно для эффективного администрирования сервера Ubuntu. Изучая и практикуя эти команды, вы обретёте уверенность в управлении серверной средой, устранении неполадок и эффективном выполнении административных задач.
Следующие шаги: Управление пользователями и правами доступа
Когда вы освоитесь с основами администрирования из командной строки, следующим важным шагом в управлении сервером станет понимание пользователей, групп и прав доступа. Правильное управление учётными записями пользователей и контролем доступа крайне важно для поддержания безопасности и обеспечения того, чтобы только авторизованные лица могли получать доступ к конфиденциальным файлам и ресурсам на вашем сервере или изменять их.
В следующей статье, «Управление пользователями и правами доступа», мы рассмотрим:
- Как создавать, изменять и удалять учётные записи пользователей.
- Управление группами для эффективного контроля доступа.
- Понимание прав доступа к файлам и каталогам (чтение, запись, выполнение).
- Использование продвинутых инструментов, таких как
sudo, для повышения привилегий. - Лучшие практики защиты учётных записей пользователей на Ubuntu Server.
Следите за обновлениями, чтобы получить практические рекомендации по усилению безопасности и управления доступом!
14 thoughts on “03.Mastering the Linux Command Line for Ubuntu Server”