man hier
/
- top level directory.
- current directory..
- parent directory~
- home directorytouch
- create a file
ls
ls dir
- list contens of dirls -l
- list in long formatls -a
- list all filesls -R
- recursively list files in subdirectoriesls -d
- don’t go into subdirectories, just list themls -S
- list by sizels -t
- list by modification datels -lh
- list files in long format with human-readable sizels -F
- list files and gets their typescp
cp a b
- copy file a to bcp a b c dir/
- copy files a b c into dir/cp -R old new
- recursively copies directory old into newcp -i a b
- ask before overwriting filesmkdir
- create directory
mkdir -p
- create directory recursivelyfile
- get info about file
mv
- rename file
rename
- rename files according to template
.txt
files extensions to .png
rename 's/\.txt/\.png/ *.txt
find
- поиск и обработка файлов рекурсивно
find /etc
find . -type f
.conf
find . -name "*.conf"
find /data -exec cp {} /backup/ \;
find / -iname "test.txt"
find / -not -name "test.txt"
** -size - specify file filter
bash
find /usr/bin -size +27000c #finds all file with size > 27000b
* `c` - bytes
* `k` - kilo bytes
* `M` - mega bytes
find / -type f -mtime 1
find / -name "test.txt" -exec chmod 700 {} \;
locate
- поиск файлов используя данные индексирования файловой системы. Эта утилита гораздо быстрее find, но может вернуть устаревшие данные. Для того чтобы обновить индексы нужно вызвать updatedb
. В большинстве систем Linux утилита updatedb
запускатся один раз в день.
df
- show disk partitions
df -h
ls -l
посмотреть права доступа к файлам
$ ls -lh /home
drwxr-xr-x 53 max max 4,0K авг. 30 09:59 max
drwxr-xr-x
- права доступа
max
(3 колонка) - обладатель файлаmax
(4 колонка) - группа обладателя файлаТипы файлов
Первый символ | Тип файла |
---|---|
- | Обычный файл |
d | Директория |
l | Символьная ссылка |
p | Именованный канал |
b | Блочное устройство |
c | Символьное устройство |
s | Сокет |
Стандартные права доступа к файлам Unix
Право доступа | К файлу | К директории |
---|---|---|
r (чтение) | Чтение содержимого файла (cat ) |
Чтение содержимого директории (ls ) |
w (запись) | Изменение содержимого файла (vi ) |
Создание файлов в директории (touch ) |
x (исполнение) | Исполнение файла | Вход в директорию (cd ) |
chmod
- устанавливает права доступа
$ ls -l
total 0
-rw-rw-r-- 1 paul paul 0 Sep 3 08:23 permissins.txt
$ chmod u+x permissins.txt
$ ls -l
total 0
-rwxrw-r-- 1 paul paul 0 Sep 3 08:23 permissins.txt
+
- добавляет право доступа, -
- убирает право доступа, =
- устанавливает права доступа (u=rw
)u+(r|w|x)
- добавляет право доступа для пользователя владельцаg+(r|w|x)
- добавляет право доступа для группы владельцевo+(r|w|x)
- добавляет право доступа для все пользователей, которые не являются ни владельцем ни группой владельцев+(r|w|x)
- добавляет право доступа для всех пользователей (владелец, группа владельцев, остальные пользователи)chmod oct_ode filename
- устанавливает права доступа в соответствии с восьмиричным представлением
Двоичное представление | Вольмеричное представление | Права доступа |
---|---|---|
000 | 0 | — |
001 | 1 | –x |
010 | 2 | -w- |
011 | 3 | -wx |
100 | 4 | r– |
101 | 5 | r-x |
110 | 6 | rw- |
111 | 7 | rwx |
# set to rwxrwxrwx
$ chmod 777 permissions.txt
$ ls -l permissions.txt
-rwxrwxrwx 1 paul paul 0 2007-02-07 22:34 permissions.txt
chgrp groupname filename
- изменяет группу пользователей, владеющей файломchown username filename
- изменяет пользователя владельца файла
chown groupname:username filename
- изменяет группу и пользователя одновременно.mkdir -m oct_code dir_name
- создаёт папку и устанавливает право доступа
$ mkdir -m 700 MyDir
$ mkdir -m 777 Public
$ ls -dl MyDir/ Public/
drwx------ 2 paul paul 4096 2011-10-16 19:16 MyDir/
drwxrwxrwx 2 paul paul 4096 2011-10-16 19:16 Public/
cp -p
- скопировать файлы и сохранить уровень доступаsticky
может быть установлен для директории с целью предотвращения удаления файлов пользователями, которые не являются их непосредственными владельцами. отображается как t
на месте символа x
$ ls -l
drwxrwxr-x 2 u1 u1 4096 Sep 4 01:26 projects
$ chmod +t projects
$ ls -l
drwxrwxr-t 2 u1 u1 4096 Sep 4 01:26 projects
bit sticky
может быть так же установлен в случае использования восьмеричного значения прав доступа, причём в этом случае должно использоваться двоичное значение 1 в первом из четерёх триплетов.
chmod 1775 projects
setgid
может устанавливаться дли директории в тех случаях, когда необходимо, чтобы в качестве группы пользователей, владеющей файлами в директории, использовалась группа пользователей владеющая директорией. Отображается с помощью символа s
. Устанавливается с помощью команды chmod 2xxx
.
$ groupadd g1
$ mkdir proj
$ chown root:g1 proj
$ ls -l
drwxr-xr-x 2 root g1 4096 Sep 4 01:48 proj
$ chmod 2775 proj
$ touch proj/f1
$ ls -l proj
-rw-r--r-- 1 root g1 0 Sep 4 01:49 f1
setgid
то при запуске файла он будет с правами пользователей из группы владеющей файлом.setuid
- позволяет запускать файл от лица его создателя, а не от лица текущего пользователя.acl
в файле /etc/fstab
.getfacl
- получает список контроля доступа для файла
$ getfacl file33
# file: file33
# owner: paul
# group: paul
user::rw-
group::r--
mask::rwx
other::r--
setfacl
- устанавливает список контроля доступа
setfacl -m u:username:binarycode filename
- добавляет право доступа для пользователя
$ setfacl -m u:sandra:7 file33
setfacl -m g:groupname:binarycode filename
- добавляет право доступа для группы
$ setfacl -m g:tennis:6 file33
$ getfacl file33
# file: file33
# owner: paul
# group: paul
user::rw-
user:sandra:rwx
group::r--
group:tennis:rw-
mask::rwx
other::r--
setfacl -x username|groupname filename
- удаляет право доступа
setfacl -x sandra file33
getfacl file33 | grep sandra
setfacl -b filename
- удаление всего списка доступаsetfacl
или chmod
. Для предотвращения перерасчёта маски нужно воспользоваться параметром --no-mask
$ setfacl --no-mask -m u:sandra:7 file33
$ getfacl file33
# file: file33
# owner: paul
# group: paul
user::rw-
user:sandra:rwx #effective:rw-
group::r--
mask::rw-
other::r--
inode
. Кроме метаданных в inode
хранится ссылка на данные файла.inode
ограниченно и можно посмотреть с помощью команды
df -i
ls -li
- просмотр идентификатора inode
.
$ touch f1
$ ls -li
total 0
5250474 -rw-rw-r-- 1 max max 0 сент. 7 08:01 f1
Директория является особым видом файла, который содержит таблицу соответствия между именами файлов и структурами inode
. При выводе списка содержимого директории на самом деле осуществляется вывод содержимого файла директории.
ln file hard_link
создаёт жесткую ссылку на файл. В момент создания жесткой ссылки в файл директории добавляется дополнительная запись. Новое имя файла ставится в соответствие существующей структуре inode. Оба файла будут использовать одну и ту же структуру inode, поэтому они в любом случае будут иметь одни и те же права доступа, а также одного и того же владельца. Оба этих файла также будут иметь одно и то же содержимое. На самом деле, оба этих файла будут идентичными и это означает, что вы можете безопасно удалить оригинальный файл и это никак не повлияет на существование файла, являющегося жесткой ссылкой.
ln -s file soft_link
- создаёт символьную ссылку. При создании символьной ссылки созадётся новый файл указывающий на имя ссылаемого файла.