Базовые команды Linux для начинающих (с примерами)
Вы впервые подключились к серверу по SSH, и перед вами пустой терминал. С примерами рассказываем о самых употребительных командах Linux: от перемещения по файлам и установки пакетов до прав доступа и управления процессами.
Арендовав VPS, вы, скорее всего, будете управлять сервером не через графический интерфейс, а из командной строки. Поначалу это пугает, но большинство повседневных задач решается двумя-тремя десятками команд. В этом руководстве мы расскажем о самых полезных командах в Ubuntu 24.04, о том, когда их применять и на что обращать внимание. Если вы ещё не знаете, как подключиться к серверу, сначала прочитайте нашу статью Что такое SSH.
Совет: лучший способ выучить команды — пробовать. Идеально подойдёт тестовый сервер, установленный с нуля и без важных данных. Если что-то сломается, сервер можно переустановить и начать заново.
Первый взгляд на командную строку
После подключения вы увидите примерно такую строку:
root@sunucu:~#
Здесь root — имя пользователя, sunucu — имя машины, ~ — текущая папка (ваш домашний каталог), а # означает, что вы вошли как администратор. У обычных пользователей вместо него стоит $.
Если вы забыли, как пользоваться командой, у вас есть два помощника:
ls --help
man ls
Из страницы man выходят клавишей q. Кроме того, клавиша Tab автоматически дополняет имена файлов и команд, а стрелка вверх возвращает предыдущие команды. Эти две возможности заметно сокращают количество опечаток.
Перемещение по файлам и папкам
pwd # şu an hangi klasördesiniz
ls # klasördeki dosyaları listeler
ls -lah # gizli dosyalar dahil, boyutlar okunaklı biçimde
cd /var/www # belirtilen klasöre geçer
cd .. # bir üst klasöre çıkar
cd ~ # ev dizinine döner
cd - # bir önceki klasöre döner
Пути к файлам в Linux начинаются с / и чувствительны к регистру: Site.txt и site.txt — два разных файла. Файлы, имя которых начинается с точки (например, .env, .bashrc), скрыты и видны только с ls -a.
Папки, с которыми вы будете часто сталкиваться:
| Папка | Что в ней? |
|---|---|
/etc |
Файлы настроек системы и служб |
/var/log |
Файлы журналов (логи) |
/var/www |
Обычное место для веб-сайтов |
/home |
Домашние каталоги обычных пользователей |
/root |
Домашний каталог пользователя root |
/tmp |
Временные файлы (могут удаляться при перезагрузке) |
Создание, копирование, перемещение и удаление файлов
mkdir yedekler # klasör oluşturur
mkdir -p proje/static/css # iç içe klasörleri tek seferde oluşturur
touch notlar.txt # boş dosya oluşturur
cp ayar.conf ayar.conf.yedek # dosyayı kopyalar
cp -r site/ site-yedek/ # klasörü içindekilerle kopyalar
mv eski.txt yeni.txt # yeniden adlandırır
mv dosya.zip /tmp/ # başka bir klasöre taşır
rm notlar.txt # dosyayı siler
rm -r eski-klasor/ # klasörü içindekilerle siler
Внимание: в Linux нет корзины. Файл, удалённый командой
rm, не вернуть. Особенно при вводеrm -rfдважды проверяйте путь, а перед изменением файла настроек делайте его копию с помощьюcp.
Просмотр и редактирование содержимого файлов
cat dosya.txt # tüm içeriği ekrana basar
less /var/log/syslog # uzun dosyaları sayfa sayfa gösterir (q ile çıkış)
head -n 20 dosya.txt # ilk 20 satır
tail -n 50 dosya.txt # son 50 satır
tail -f /var/log/nginx/access.log # dosyaya eklenen satırları canlı izler
Самый простой редактор для начинающих — nano:
nano /etc/hosts
После изменений сохраните файл сочетанием Ctrl+O и Enter, а выйдите — Ctrl+X. Позже стоит освоить и vim, но в первый день nano вполне достаточно.
Поиск: find и grep
find /var/www -name "*.php" # adı .php ile biten dosyaları bulur
find /var/log -size +100M # 100 MB'tan büyük dosyaları bulur
grep "error" /var/log/nginx/error.log # dosyada "error" geçen satırları gösterir
grep -ri "veritabani" /etc/myapp/ # klasörde büyük-küçük harf duyarsız arar
Команды можно связывать конвейером (|): вывод одной команды становится входом другой:
ps aux | grep nginx
cat access.log | grep "404" | wc -l
Второй пример подсчитывает, сколько ошибок 404 записано в журнале доступа.
Пользователи, sudo и права доступа к файлам
Вместо того чтобы делать всё от root, безопаснее создать себе пользователя с правами администратора:
adduser ahmet
usermod -aG sudo ahmet
Этот пользователь добавляет sudo перед командами, требующими прав администратора: sudo apt update.
Выражения вроде -rwxr-xr-- в выводе ls -l показывают права доступа к файлу. Тройки символов относятся по порядку к владельцу, группе и остальным; r — чтение, w — запись, x — выполнение.
chmod 644 index.html # sahibi okur/yazar, diğerleri yalnızca okur
chmod 755 betik.sh # sahibi her şeyi yapar, diğerleri okur ve çalıştırır
chmod +x betik.sh # dosyayı çalıştırılabilir yapar
chown www-data:www-data -R /var/www/site # sahipliği web sunucusu kullanıcısına verir
Чтобы быстро решить проблему, может возникнуть соблазн выставить chmod 777, но это позволяет кому угодно записывать в файл и создаёт уязвимость. Правильное решение обычно — исправить владельца (chown).
Управление пакетами (apt)
В Ubuntu и Debian программы устанавливаются через apt:
sudo apt update # paket listelerini yeniler
sudo apt upgrade -y # kurulu paketleri günceller
sudo apt install nginx # paket kurar
sudo apt remove nginx # paketi kaldırır
apt search htop # depoda paket arar
Перед установкой всегда запускайте apt update, иначе из-за устаревшего списка пакетов можно получить ошибку «не найдено».
Службы и процессы
Программы, работающие в фоне, например веб-сервер или база данных, управляются через systemctl:
systemctl status nginx # servis çalışıyor mu?
sudo systemctl restart nginx
sudo systemctl enable nginx # açılışta otomatik başlasın
Чтобы увидеть запущенные процессы и при необходимости остановить их:
ps aux | grep python
kill 12345 # PID'i 12345 olan süreci kibarca durdurur
kill -9 12345 # yanıt vermiyorsa zorla durdurur
Мониторинг ресурсов, чтение журналов и файрвол подробно разобраны в нашей статье Полезные команды для администрирования сервера.
Информация о системе
uname -a # çekirdek sürümü
lsb_release -a # dağıtım sürümü (ör. Ubuntu 24.04 LTS)
uptime # sunucu ne zamandır açık, yük ortalaması
free -h # RAM kullanımı
df -h # disk kullanımı
ip a # ağ arayüzleri ve IP adresleri
Архивирование и сжатие: tar и zip
Чтобы сделать резервную копию папки или перенести её на другой сервер, удобно сначала собрать её в один файл. Самый распространённый формат в Linux — .tar.gz:
tar -czf site-yedek.tar.gz /var/www/site # klasörü sıkıştırarak arşivler
tar -tzf site-yedek.tar.gz # arşivin içeriğini listeler
tar -xzf site-yedek.tar.gz -C /tmp/ # arşivi /tmp klasörüne açar
Значение букв: c — создать (create), x — извлечь (extract), t — показать список, z — сжать gzip, f — имя файла. Если вы будете обмениваться файлами с пользователями Windows, удобнее zip:
sudo apt install -y zip unzip
zip -r site.zip /var/www/site
unzip site.zip -d /tmp/site
Сетевые команды и загрузка файлов
Чтобы проверить, есть ли у сервера доступ в интернет, отвечает ли сайт, или чтобы скачать файл, используйте:
ping -c 4 google.com # bağlantıyı test eder, 4 paket gönderir
curl -I https://ornek.com # sitenin yalnızca HTTP başlıklarını getirir
wget https://ornek.com/dosya.tar.gz # dosyayı bulunduğunuz klasöre indirir
ss -tulpn # hangi portları hangi programlar dinliyor
Особенно важна ss -tulpn: если веб-сервер не работает, здесь видно, действительно ли порт прослушивается и не занят ли он другой программой. Чтобы узнать, на какой IP указывает домен, пригодится команда dig ornek.com +short; подробнее об этом — в нашей статье Что такое DNS.
Небольшие привычки, экономящие время
historyвыводит пронумерованный список предыдущих команд. Набрав!42, вы повторите команду под номером 42.- Ctrl+R запускает поиск по истории: введите несколько букв, и появится последняя подходящая команда.
- Ctrl+C прерывает выполняющуюся команду, Ctrl+L очищает экран.
- Чтобы длительная операция продолжалась даже при обрыве соединения, используйте
tmux: откройте сессию командойtmux, а если связь пропадёт, переподключитесь и введитеtmux attach. - Команды можно объединять в цепочку через
&&:sudo apt update && sudo apt upgrade -yзапустит вторую команду, только если первая завершилась успешно.
Что дальше?
Освоившись с этими командами, займитесь защитой сервера: о SSH-ключах, файрволе и автоматических обновлениях читайте в нашем руководстве Безопасность Linux-сервера. Если вы ищете сервер для практики, пакеты VPS TürkiyeVPS предоставляются с root-доступом. Ничего не устанавливая на компьютер, можно подключиться прямо из браузера кнопкой Консоль в клиентской панели и сразу попробовать эти команды.
Часто задаваемые вопросы
Нужно ли заучивать команды Linux?
Нет. Те, которыми вы пользуетесь часто, со временем запомнятся сами. Для остального хватит --help, man и автодополнения по Tab. Полезно также вести собственный файл с заметками.
Чем sudo отличается от root?
root — пользователь с полными правами в системе. sudo же позволяет обычному пользователю выполнить отдельную команду с правами администратора. Так вы не работаете постоянно с полными правами и снижаете риск ошибки.
Можно ли восстановить случайно удалённый файл?
Файлы, удалённые в командной строке, не попадают в корзину, поэтому обычно их не вернуть. Единственное надёжное решение — регулярные резервные копии. Перед важными изменениями делайте копию файла.
Работают ли эти команды в любом дистрибутиве Linux?
Команды для работы с файлами, поиска, прав и процессов практически одинаковы во всех дистрибутивах. Отличается менеджер пакетов: в Ubuntu/Debian используется apt, в AlmaLinux/Rocky Linux — dnf.
Читайте также
Инструменты, к которым стоит обратиться в первую очередь, когда сервер тормозит, диск переполнен или служба уп...
Перенести сайт на новый хостинг так, чтобы посетители не заметили перерыва, вполне возможно. От резервных копи...
Если посетители вашего сайта в Иране, Турции, на Кавказе или в Ираке, расположение сервера влияет на скорость...