$ command-helper

Linux: файлы и права

Навигация, копирование и поиск файлов, место на диске, права и владельцы.

Потребуется вход через Google

Навигация и просмотр

Список файлов с деталями и скрытыми файлами
ls -lah
Список файлов по времени изменения
ls -lt
Дерево каталогов (2 уровня)
tree -L 2
Показать конец файла и следить за ним
tail -f <file>
Показать последние 100 строк
tail -n 100 <file>
Постраничный просмотр файла
less <file>

Внутри less: / — поиск, n — следующее совпадение, G — в конец, q — выход.

Копирование, перемещение и удаление

Скопировать каталог рекурсивно
cp -r <source> <destination>
Скопировать с сохранением прав и времени
cp -a <source> <destination>
Переместить или переименовать
mv <source> <destination>
Создать вложенные каталоги
mkdir -p <path>
Удалить каталог со всем содержимым
rm -rf <path>

Корзины нет — проверьте путь дважды.

Создать символическую ссылку
ln -s <target> <link_name>

Поиск файлов

Найти файлы по имени
find <path> -name '*.log'
Найти файлы больше 100 МБ
find <path> -type f -size +100M
Найти файлы, изменённые за последние сутки
find <path> -type f -mtime -1
Удалить файлы старше 7 днейпродвинутая
find <path> -type f -name '*.log' -mtime +7 -delete

Сначала запустите без -delete, чтобы увидеть, что будет удалено.

Место на диске

Свободное место на файловых системах
df -h
Размер каталога
du -sh <path>
Самые большие элементы в каталоге
du -sh <path>/* | sort -rh | head -20
Свободные inodeпродвинутая
df -i

Диск может быть «полон» при свободном месте, если закончились inode (много мелких файлов).

Права и владельцы

Сделать скрипт исполняемым
chmod +x <file>
Задать права числом (rw-r--r--)
chmod 644 <file>
Сменить владельца рекурсивно
chown -R <user>:<group> <path>
Показать права файла числомпродвинутая
stat -c '%a %U:%G %n' <file>

На macOS: stat -f '%Lp %Su:%Sg %N' <file>