pwd
Показывает полный путь к текущему каталогу.
pwd
/home/user/projects
Основные команды для работы с файлами и каталогами. Пока мы готовим полноценный сайт, оставляем здесь то, что пригодится каждый день.
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$ _
Показывает полный путь к текущему каталогу.
pwd
/home/user/projects
Переход между каталогами.
cd /var/log # абсолютный путь
cd projects # относительный путь
cd .. # на уровень выше
cd ~ # домашний каталог
cd - # в предыдущий каталог
Список файлов и каталогов.
ls # кратко
ls -l # подробно
ls -a # включая скрытые
ls -lah # всё + удобные размеры
ls -lt # сортировка по дате
Дерево каталогов. Ставится отдельно: sudo apt install tree.
tree -L 2 # глубина 2 уровня
tree -d # только каталоги
Создание каталогов.
mkdir docs
mkdir -p src/app/config # вложенные сразу
mkdir dir1 dir2 dir3 # несколько за раз
Создаёт пустой файл или обновляет время изменения.
touch notes.txt
touch a.txt b.txt c.txt
Удаление файлов и каталогов. Корзины нет — удаляется навсегда.
rm file.txt
rm -i file.txt # с подтверждением
rm -r folder/ # каталог с содержимым
rm -rf folder/ # без вопросов
⚠️ rm -rf проверяйте дважды — восстановить не получится.
Удаляет только пустой каталог — безопасная альтернатива rm -r.
rmdir old_folder
Копирование файлов и каталогов.
cp file.txt backup.txt
cp file.txt /tmp/
cp -r src/ src_backup/ # каталог целиком
cp -a src/ dest/ # с правами и датами
Перемещение и переименование — одна и та же команда.
mv old.txt new.txt # переименовать
mv file.txt ~/docs/ # переместить
mv -i file.txt ~/docs/ # спросить перед заменой
Ссылки на файлы и каталоги.
ln -s /var/www/site ~/site # символическая
ln file.txt hardlink.txt # жёсткая
Умное копирование: переносит только изменившееся.
rsync -avh src/ dest/
rsync -avh --delete src/ dest/
Выводит файл целиком — удобно для коротких файлов.
cat notes.txt
cat -n notes.txt # с номерами строк
Постраничный просмотр. Выход — q, поиск — /слово.
less /var/log/syslog
Начало и конец файла.
head -n 20 access.log
tail -n 50 access.log
tail -f access.log # следить в реальном времени
Информация о файле.
wc -l file.txt # число строк
file image.png # тип файла
stat file.txt # размер, права, даты
Поиск файлов по имени, типу, размеру и дате.
find . -name "*.log"
find /var -type d -name "cache"
find . -size +100M
find . -mtime -7 # изменённые за 7 дней
find . -name "*.tmp" -delete
Поиск текста внутри файлов.
grep "error" app.log
grep -i "error" app.log # без учёта регистра
grep -rn "TODO" ./src # рекурсивно + номера строк
Сколько занимают файлы и сколько осталось на диске.
du -sh * # размер объектов в каталоге
du -sh /var/log
df -h # свободное место на дисках
Быстрый поиск программ и файлов по базе имён.
which python3
locate nginx.conf # нужен пакет plocate
Изменение прав на файл или каталог.
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
Смена владельца и группы.
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 # справка по команде