Командная строка
Работа с файлами
Основные команды для работы с файлами и директориями
Навигация
# Текущая директория
pwd
# Перейти в директорию
cd /path/to/directory
cd ~ # домашняя директория
cd .. # на уровень выше
cd - # предыдущая директория
# Содержимое директории
ls
ls -la # подробно, включая скрытые
ls -lh # с человекочитаемыми размерами
ls -lt # сортировка по времениСоздание и удаление
# Создать директорию
mkdir dirname
mkdir -p path/to/nested/dir # с родительскими
# Создать файл
touch filename
echo "content" > filename
# Удалить файл
rm filename
rm -f filename # без подтверждения
# Удалить директорию
rmdir dirname # только пустую
rm -r dirname # рекурсивно
rm -rf dirname # без подтвержденияКопирование и перемещение
# Копировать файл
cp source dest
cp -r source_dir dest_dir # директорию рекурсивно
cp -p source dest # сохранить атрибуты
# Переместить/переименовать
mv oldname newname
mv file /path/to/destination/
# Создать ссылку
ln -s /path/to/original link_name # символическая
ln /path/to/original link_name # жёсткаяПросмотр содержимого
# Вывести файл
cat filename
cat -n filename # с номерами строк
# Постраничный просмотр
less filename
more filename
# Начало/конец файла
head filename
head -n 20 filename # первые 20 строк
tail filename
tail -n 20 filename # последние 20 строк
tail -f filename # следить за изменениямиПоиск файлов
# По имени
find /path -name "*.txt"
find /path -iname "*.txt" # без учёта регистра
# По типу
find /path -type f # файлы
find /path -type d # директории
# По размеру
find /path -size +100M # больше 100MB
find /path -size -1k # меньше 1KB
# По времени изменения
find /path -mtime -7 # изменённые за 7 дней
# С выполнением команды
find /path -name "*.log" -exec rm {} \;
# Быстрый поиск (по базе данных)
locate filename
sudo updatedb # обновить базуПоиск в файлах
# Поиск текста
grep "pattern" filename
grep -r "pattern" /path # рекурсивно
grep -i "pattern" filename # без учёта регистра
grep -n "pattern" filename # с номерами строк
grep -v "pattern" filename # инвертировать (не содержит)
grep -l "pattern" /path/* # только имена файлов
# Расширенные регулярные выражения
grep -E "pattern1|pattern2" filenameПрава доступа
# Изменить права
chmod 755 filename
chmod u+x filename # добавить выполнение владельцу
chmod -R 644 dirname # рекурсивно
# Права:
# r=4 (чтение), w=2 (запись), x=1 (выполнение)
# 755 = rwxr-xr-x
# 644 = rw-r--r--
# Изменить владельца
chown user:group filename
chown -R user:group dirnameИнформация о файлах
# Тип файла
file filename
# Размер
du -sh filename
du -sh dirname/*
# Статистика
stat filename
# Контрольная сумма
md5sum filename
sha256sum filenameАрхивация
# tar
tar -cvf archive.tar files/ # создать
tar -xvf archive.tar # распаковать
tar -czvf archive.tar.gz files/ # с gzip
tar -xzvf archive.tar.gz # распаковать gz
tar -cjvf archive.tar.bz2 files/ # с bzip2
# zip
zip -r archive.zip files/
unzip archive.zip
# 7z
7z a archive.7z files/
7z x archive.7z