Управление файлами
Базовые команды
ls - отображение списка файлов в заданной директории
mkdir - создание папки
mkdir -p - создание иерархии папок (например, "mkdir -p new/folder/subfolder")
[admin@centos8 ~]$ mkdir -p folder/subfolder/subsubfolder
[admin@centos8 ~]$ tree folder
folder
└── subfolder
└── subsubfolder
2 directories, 0 files
cp - копирование файлов и папок
cp -r - рекурсивное копирование
mv - перенос файлов и папок
rmdir - удаление папок (только пустых)
rm - удаление и папок и файлов
rm -rf (recursive, force) - рекурсивное принудительное удаление файлов
[admin@centos8 ~]$ rm -rf /
rm: it is dangerous to operate recursively on '/'
rm: use --no-preserve-root to override this failsafe
touch - создание файла
Поиск файлов
which - поиск бинарных файлов в $PATH
[admin@centos8 ~]$ echo $PATH
/home/admin/.local/bin:/home/admin/bin:/home/admin/.local/bin:/home/admin/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin
[admin@centos8 ~]$ which useradd
/usr/sbin/useradd
locate - использует базу данных, построенную updatedb для поиска файлов в базе
[admin@centos8 ~]$ locate useradd
locate: can not stat () `/var/lib/mlocate/mlocate.db': No such file or directory
[admin@centos8 ~]$ sudo updatedb
[admin@centos8 ~]$ locate useradd
/etc/default/useradd
/usr/sbin/luseradd
/usr/sbin/useradd
/usr/share/bash-completion/completions/luseradd
/usr/share/bash-completion/completions/useradd
/usr/share/man/de/man8/useradd.8.gz
/usr/share/man/fr/man8/useradd.8.gz
/usr/share/man/id/man8/useradd.8.gz
/usr/share/man/it/man8/useradd.8.gz
/usr/share/man/ja/man8/useradd.8.gz
/usr/share/man/man1/luseradd.1.gz
/usr/share/man/man8/useradd.8.gz
/usr/share/man/ru/man8/useradd.8.gz
/usr/share/man/tr/man8/useradd.8.gz
/usr/share/man/zh_CN/man8/useradd.8.gz
/usr/share/man/zh_TW/man8/useradd.8.gz
find - наболее гибкая утилита для поиска файлов по различным критериям
find / -name "name" - поиск файла по имени, с точным совпадением, указанным в кавычках
find / -type f - поиск файлов по типу (f - искать только папки)
find / -size +100M - поиск файлов по размеру (более 100М)
find / -size +100c - поиск файлов с размером более 100 символов
find - user testuser - отобразит все файлы, принадлежащие пользователю testuser
find /etc -exec grep -l testuser {} \; - передать результат find в grep для обработки поиска файлов, принадлежащих testuser (каждый exec завершается \;), exec при этом может использоваться многократно
Монтирование
Для получение доступа к устройству, оно должно быть подключено к какой-либо директории
В Linux используется множество точек различных точек монтирования
Различные типы данных как правило хранятся на различных устройствах в целях безопасности или удобства управления
Монтирование подразумевает использование различных опций
Ссылки
Ссылка (link) - указатель на файл, расположенный в другой директории
Ссылки позволяют экономить пространство, так как фактически один файл может быть использован во множестве пространств
В Linux используются жесткие ссылки (hard link) и символьные линки (symbolic link)
ln для hard link
ln -s для symbolic link
Система работает с inode - уникальным идентификатором файла, которому может быть присвоено множество имен
Hard Link - указывает непосредственно на inode
Symbolic Link - указывает на файл
Символьные линки более гибкие, поскольку позволяют использовать их между различными устройствами и создавать линки на директории
Но если что-то случается с файлом, на который указывает такой линк, то связность нарушается, в отличии от жестких ссылок

[admin@centos8 ~]$ ls -il /etc/hosts
16787825 -rw-r--r--. 1 root root 158 Sep 10 2018 /etc/hosts
[admin@centos8 ~]$ sudo ln /etc/hosts /root/hardlinkhosts
[admin@centos8 ~]$ sudo ls -il /etc/hosts /root/hardlinkhosts
16787825 -rw-r--r--. 2 root root 158 Sep 10 2018 /etc/hosts
16787825 -rw-r--r--. 2 root root 158 Sep 10 2018 /root/hardlinkhosts
[admin@centos8 ~]$ sudo ln -s /etc/hosts /root/symbolhosts
[admin@centos8 ~]$ sudo ls -il /etc/hosts /root/symbolhosts
16787825 -rw-r--r--. 2 root root 158 Sep 10 2018 /etc/hosts
34515432 lrwxrwxrwx. 1 root root 10 Feb 16 22:13 /root/symbolhosts -> /etc/hosts
Работа с Tar
Tar - Tape Archiver - архиватор для файлов
По-умолчанию он не сжимает данные
В основном используется для сжатия, извлечения или списка
tar -cvf my_archive.tar /home /etc (с - create, v- verbose, f - file) - создать архив my_archive.tar с содержимым папок home и etc
tar -tvf - отобразить содержимое архива
tar -xvf my_archive - извлечь содержимое архива my_archive в текущуюю директорию
-C - указать путь
-z, -j, -J позволяют добавить компрессию
-z - gzip
-j - bzip2
-J - xz
Сжатие файлов
Linux предоставляет множество решений по компресии файлов
gzip является наиболее распространенной из них
при компресии оригинальный архив удаляется, для сохранения используется ключ -k
gunzip - для декомпресии
bzip2 - альтернативная утилита для gzip, более эффективна
zip - кроссплатформенная утилита
xz - получает все большее распространение
[admin@centos8 ~]$ ls -l
total 60
drwxr-xr-x. 2 admin admin 6 Jan 7 12:39 Desktop
drwxr-xr-x. 2 admin admin 6 Jan 7 12:39 Documents
drwxr-xr-x. 2 admin admin 6 Jan 7 12:39 Downloads
drwxrwxr-x. 3 admin admin 23 Feb 16 20:52 folder
drwxr-xr-x. 2 admin admin 6 Jan 7 12:39 Music
drwxr-xr-x. 2 admin admin 6 Jan 7 12:39 Pictures
drwxr-xr-x. 2 admin admin 6 Jan 7 12:39 Public
-rw-r--r--. 1 admin admin 41657 Feb 15 18:08 section
drwxr-xr-x. 2 admin admin 6 Jan 7 12:39 Templates
-rw-rw-r--. 1 admin admin 227 Feb 16 16:57 test
-rw-rw-r--. 1 admin admin 10240 Feb 16 22:33 testtar
drwxr-xr-x. 2 admin admin 6 Jan 7 12:39 Videos
[admin@centos8 ~]$ gzip testtar
[admin@centos8 ~]$ ls -l
total 52
drwxr-xr-x. 2 admin admin 6 Jan 7 12:39 Desktop
drwxr-xr-x. 2 admin admin 6 Jan 7 12:39 Documents
drwxr-xr-x. 2 admin admin 6 Jan 7 12:39 Downloads
drwxrwxr-x. 3 admin admin 23 Feb 16 20:52 folder
drwxr-xr-x. 2 admin admin 6 Jan 7 12:39 Music
drwxr-xr-x. 2 admin admin 6 Jan 7 12:39 Pictures
drwxr-xr-x. 2 admin admin 6 Jan 7 12:39 Public
-rw-r--r--. 1 admin admin 41657 Feb 15 18:08 section
drwxr-xr-x. 2 admin admin 6 Jan 7 12:39 Templates
-rw-rw-r--. 1 admin admin 227 Feb 16 16:57 test
-rw-rw-r--. 1 admin admin 137 Feb 16 22:33 testtar.gz
drwxr-xr-x. 2 admin admin 6 Jan 7 12:39 Videos
Last updated
Was this helpful?