Skip to main content

Основные команды

Файлы и каталоги

ls - просмотр содержимого каталога

Показывает список файлов и папок в текущем или указанном каталоге.

ls -lah /var/www/html

Ключи: -l (детальный вывод), -a (включить скрытые файлы), -h (человеко-читаемые размеры)

cd - смена каталога

Переход в другой каталог.

cd /var/www/html

Полезно: cd .. (на уровень вверх), cd ~ или просто cd (домашний каталог)

mkdir - создание каталогов

Создает новые каталоги.

mkdir /var/www/new_site
mkdir -p /var/www/new_site/assets

Ключи: -p — создать промежуточные каталоги, если их нет

rm - удаление файлов и каталогов

Удаляет файлы и каталоги.

rm file.txt
rm -rf /var/www/old_site

Ключи: -r — рекурсивно (для каталогов), -f — без подтверждения

Внимание: Используйте sudo с осторожностью при удалении системных файлов!

Управление пользователями

adduser / useradd - добавление пользователя

Создает нового пользователя в системе.

sudo adduser newuser

Пример с явным указанием домашнего каталога и оболочки:

sudo useradd -m -d /home/newuser -s /bin/bash newuser

passwd - назначение пароля пользователю

Назначает или меняет пароль для пользователя.

sudo passwd newuser

deluser / userdel - удаление пользователя

Удаляет пользователя из системы.

sudo deluser newuser
sudo userdel -r newuser  # удалить пользователя и его домашний каталог

usermod - изменение параметров пользователя

Назначение пользователя в группы, смена оболочки и домашнего каталога.

sudo usermod -aG sudo newuser   # добавить в группу sudo
sudo usermod -d /home/newhome newuser  # смена домашнего каталога
sudo usermod -s /bin/zsh newuser      # смена оболочки

groups - просмотр групп пользователя

groups newuser

Поиск файлов

По имени

Ищет файлы по имени в указанном каталоге или во всей системе.

# поиск всех файлов с расширением .log в /var/log
find /var/log -name "*.log"

#поиск файлов с точным именем find /home/user -name "notes.txt"

По размеру

Ищет файлы определенного размера или диапазона размеров.

# найти файлы больше 100M в /var/www
find /var/www -type f -size +100M

#найти файлы меньше 1K find /home/user -type f -size -1k

#найти файлы размером от 10M до 100M find / -type f -size +10M -size -100M

Дополнительно

Некоторые полезные опции команды find:

  • -type f — искать только файлы
  • -type d — искать только каталоги
  • -iname — поиск без учета регистра: find /home -iname "*.txt"
  • -maxdepth N — ограничить глубину поиска (например, только текущий каталог): find /var/www -maxdepth 1 -name "*.html"
  • -exec command {} \; — выполнить команду для каждого найденного файла, например удалить: find /tmp -type f -name "*.tmp" -exec rm {} \;

Права и разрешения

chmod - изменение прав на файлы и каталоги

Устанавливает права доступа для владельца, группы и других пользователей.

Формат: три цифры XYZ — владельцу, группе, остальным. Каждая цифра — сумма прав: 4 (чтение), 2 (запись), 1 (выполнение).

  • 7 = 4+2+1 → rwx (читать, писать, выполнять)
  • 6 = 4+2 → rw- (читать, писать)
  • 5 = 4+1 → r-x (читать, выполнять)
  • 4 = 4 → r-- (только читать)
  • 0 = --- → нет прав

Примеры:

chmod 755 /var/www/html        # rwxr-xr-x: владелец все, группа/остальные читать+выполнять
chmod 644 /var/www/html/index.html # rw-r--r--: владелец читать+писать, группа/остальные только читать
chmod 700 ~/private               # rwx------: только владелец

Когда использовать:

  • 755 — каталоги веб-сайта (все могут читать и выполнять, владелец пишет)
  • 644 — файлы конфигурации (владелец пишет, все остальные только читают)
  • 700 — приватные скрипты или файлы пользователя

chown - смена владельца и группы

Назначает владельца и группу для файла или каталога.

sudo chown www-data:www-data /var/www/html -R

Ключи: -R — рекурсивно применить ко всем файлам и папкам

Примеры использования:

  • Назначить веб-серверу: sudo chown -R www-data:www-data /var/www
  • Назначить пользователя и группу: sudo chown user:group file.txt

chgrp - смена группы

sudo chgrp www-data /var/www/html -R

Системные команды

hostname - смена имени хоста

Показывает или изменяет имя хоста системы.

hostname                # текущий хост
sudo hostname newhost    # временно изменить имя хоста
sudo nano /etc/hostname  # для постоянного изменения
sudo nano /etc/hosts     # исправить запись старого имени

reboot / shutdown - перезагрузка и выключение

sudo reboot
sudo shutdown -h now
sudo shutdown -r +10    # перезагрузка через 10 минут

free / df / du - использование памяти и дисков

free -h               # RAM и swap
df -h                 # свободное место на дисках
du -sh /var/log        # размер каталога

ps / kill - управление процессами

ps aux | grep nginx
kill 12345
kill -9 12345  # принудительное завершение

Полезно

  • Для проверки прав: ls -l /var/www/html
  • Для смены владельца только файлов, а не каталога: sudo chown user:user file.txt
  • Для массовой смены прав на все скрипты: chmod +x *.sh
  • Для создания резервной копии перед удалением: cp -r /var/www/old /backup/old

Типичные ошибки

  • Ошибка: нет прав на файл → используйте sudo
  • Ошибка: не удалось изменить владельца → проверьте синтаксис user:group
  • Ошибка: после chmod 777 все могут писать → избегайте на продуктивных серверах, использовать 755/644
  • Ошибка: пользователь не может писать в каталог → проверить владельца и права каталога (ls -ld /path)