🐧 Сайт в разработке

Шпаргалка по терминалу Ubuntu

Основные команды для работы с файлами и каталогами. Пока мы готовим полноценный сайт, оставляем здесь то, что пригодится каждый день.

user@ubuntu: ~
user@ubuntu:~$ cd /var/www
user@ubuntu:/var/www$ ls -lah
drwxr-xr-x  4 www-data www-data 4,0K авг 28 18:48 .
-rw-r--r--  1 www-data www-data  2,1K авг 28 18:48 index.html
user@ubuntu:/var/www$ _

01 Навигация по каталогам

pwd

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

pwd
/home/user/projects

cd

Переход между каталогами.

cd /var/log     # абсолютный путь
cd projects     # относительный путь
cd ..           # на уровень выше
cd ~            # домашний каталог
cd -            # в предыдущий каталог

ls

Список файлов и каталогов.

ls              # кратко
ls -l           # подробно
ls -a           # включая скрытые
ls -lah         # всё + удобные размеры
ls -lt          # сортировка по дате

tree

Дерево каталогов. Ставится отдельно: sudo apt install tree.

tree -L 2       # глубина 2 уровня
tree -d         # только каталоги

02 Создание и удаление

mkdir

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

mkdir docs
mkdir -p src/app/config   # вложенные сразу
mkdir dir1 dir2 dir3      # несколько за раз

touch

Создаёт пустой файл или обновляет время изменения.

touch notes.txt
touch a.txt b.txt c.txt

rm

Удаление файлов и каталогов. Корзины нет — удаляется навсегда.

rm file.txt
rm -i file.txt      # с подтверждением
rm -r folder/       # каталог с содержимым
rm -rf folder/      # без вопросов

⚠️ rm -rf проверяйте дважды — восстановить не получится.

rmdir

Удаляет только пустой каталог — безопасная альтернатива rm -r.

rmdir old_folder

03 Копирование и перемещение

cp

Копирование файлов и каталогов.

cp file.txt backup.txt
cp file.txt /tmp/
cp -r src/ src_backup/    # каталог целиком
cp -a src/ dest/          # с правами и датами

mv

Перемещение и переименование — одна и та же команда.

mv old.txt new.txt        # переименовать
mv file.txt ~/docs/       # переместить
mv -i file.txt ~/docs/    # спросить перед заменой

ln

Ссылки на файлы и каталоги.

ln -s /var/www/site ~/site   # символическая
ln file.txt hardlink.txt     # жёсткая

rsync

Умное копирование: переносит только изменившееся.

rsync -avh src/ dest/
rsync -avh --delete src/ dest/

04 Просмотр содержимого

cat

Выводит файл целиком — удобно для коротких файлов.

cat notes.txt
cat -n notes.txt      # с номерами строк

less

Постраничный просмотр. Выход — q, поиск — /слово.

less /var/log/syslog

head / tail

Начало и конец файла.

head -n 20 access.log
tail -n 50 access.log
tail -f access.log    # следить в реальном времени

wc / file / stat

Информация о файле.

wc -l file.txt     # число строк
file image.png     # тип файла
stat file.txt      # размер, права, даты

05 Поиск и размеры

find

Поиск файлов по имени, типу, размеру и дате.

find . -name "*.log"
find /var -type d -name "cache"
find . -size +100M
find . -mtime -7         # изменённые за 7 дней
find . -name "*.tmp" -delete

grep

Поиск текста внутри файлов.

grep "error" app.log
grep -i "error" app.log      # без учёта регистра
grep -rn "TODO" ./src        # рекурсивно + номера строк

du / df

Сколько занимают файлы и сколько осталось на диске.

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

which / locate

Быстрый поиск программ и файлов по базе имён.

which python3
locate nginx.conf   # нужен пакет plocate

06 Права доступа

chmod

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

chmod 644 file.txt      # rw- r-- r--
chmod 755 script.sh     # rwx r-x r-x
chmod +x script.sh      # сделать исполняемым
chmod -R 755 /var/www

chown

Смена владельца и группы.

sudo chown user file.txt
sudo chown user:group file.txt
sudo chown -R www-data:www-data /var/www

Формат прав

В выводе ls -l: тип, владелец, группа, остальные.

-rwxr-xr--
 └┬┘└┬┘└┬┘
  │  │  └── others: r--  (4)
  │  └───── group:  r-x  (5)
  └──────── owner:  rwx  (7)

Полезные мелочи

Экономят время каждый день.

Tab            # автодополнение
Ctrl + C       # прервать команду
Ctrl + L       # очистить экран
history        # история команд
man ls         # справка по команде