Управление файлами

Базовые команды

  • 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