8-900-374-94-44
[email protected]
Slide Image
Меню

Ls f – What do the symbols displayed by ls -F mean?

Команда ls: примеры использования и опции

Команда ls — вероятно наиболее используемая команда в любой UNIX-системе. Её предназначение — вывод информации о файлах и каталогах. Дополнительные опции команды позволяют получить более подробную информацию и сортировать её определённым образом.

Далее будут приведены примеры опций и примеры их использования.

-RРекурсивно обойти встретившиеся подкаталоги.
-aВывести список всех файлов (без этой опции не выводятся скрытые файлы, имена которых начинаются с точки).
-dЕсли аргумент является каталогом, то выводить только его имя, а не содержимое. Часто используется с флагом -l для получения сведений о состоянии каталога.
-CВывод в несколько колонок с сортировкой по колонкам.
-x
Вывод в несколько колонок с сортировкой по строкам.
-mВывод в свободном формате, имена файлов разделяются запятыми.
-lВывод в длинном формате: перед именами файлов выдается режим доступа, количество ссылок на файл, имена владельца и группы, размер в байтах и время последней модификации (см. ниже). Если файл является специальным, то в поле размера выводится старший и младший номера устройства.
-nТо же, что и -l, но идентификаторы владельца и группы выводятся в виде чисел, а не в виде имен.
-oТо же, что и -l, но идентификатор группы не выводится.
-gТо же, что и -l, но идентификатор владельца не выводится.
-rИзменить порядок сортировки на обратный алфавитный или, при наличии флага -t, сначала выводить более старые файлы.
-tИмена файлов сортируются не по алфавиту, а по времени (сначала идут самые свежие файлы). По умолчанию используется время последнего изменения. См. также флаги -u и -c.
-uВместо времени последнего изменения использовать время последнего доступа для сортировки (с флагом -t) или для вывода (с флагом -l).
-cВместо времени последнего изменения использовать время последней модификации описателя файла (т.е. время создания файла, изменения режима доступа к нему и т.п.) для сортировки (с флагом -t) или для вывода (с флагом -l).
-pЕсли файл является каталогом, то выдавать после его имени символ /.
-FЕсли файл является каталогом, то выдавать после его имени символ /; если файл является выполняемым, то выдавать после его имени символ *.
-bВыдавать непечатные символы, входящие в имя файла, в восьмеричном виде (ddd).
-qВыдавать непечатные символы, входящие в имя файла, в виде символа ?.
-iВыдавать в первой колонке номера описателей файлов.
-sВыдавать размер файлов в блоках (включая косвенные блоки).
-fРассматривать каждый аргумент как каталог и выводить его содержимое. Этот флаг отменяет флаги -l, -t, -s, -r и включает флаг -a. Сортировка имен файлов не производится; имена выдаются в таком порядке, в каком они перечислены в каталоге.

Теперь несколько примеров наиболее полезных опций.

Вывести список только каталогов:

# ls -d -1 /home/setevoy/*/
/home/setevoy/Desktop/
/home/setevoy/Downloads/
/home/setevoy/Dropbox/
/home/setevoy/Images/
/home/setevoy/Soft/
/home/setevoy/Temp/
/home/setevoy/VirtualBox VMs/

То же самое, но с использованием «длинного» (полного) вывода о каталогах:

# ls -dl /home/setevoy/*/
drwxr-xr-x  2 setevoy setevoy 4096 May  6 10:22 /home/setevoy/Desktop/
drwxr-xr-x  2 setevoy setevoy 4096 May  5 10:38 /home/setevoy/Downloads/
drwx—— 16 setevoy setevoy 4096 May  6 07:40 /home/setevoy/Dropbox/
drwxr-xr-x  2 setevoy setevoy 4096 May  5 12:00 /home/setevoy/Images/
drwxr-xr-x  2 setevoy setevoy 4096 May  5 18:29 /home/setevoy/Soft/
drwxrwxr-x  2 setevoy setevoy 4096 May  5 20:15 /home/setevoy/Temp/
drwxrwxr-x  4 setevoy setevoy 4096 May  5 19:09 /home/setevoy/VirtualBox VMs/

Ключ -l весьма полезен, так как позволяет проверять владельца и права на файлы/каталоги:

# ls -l
total 32
drwxr-xr-x 2 root root 4096 Aug 23  2012 bin
drwxr-xr-x 2 root root 4096 Aug 23  2012 etc
drwxr-xr-x 2 root root 4096 Aug 23  2012 games
drwxr-xr-x 2 root root 4096 Aug 23  2012 include
drwxr-xr-x 4 root root 4096 May  5 11:13 lib
lrwxrwxrwx 1 root root    9 May  5 10:22 man -> share/man
drwxr-xr-x 2 root root 4096 Aug 23  2012 sbin
drwxr-xr-x 7 root root 4096 Aug 23  2012 share
drwxr-xr-x 2 root root 4096 Aug 23  2012 src

Для вывода информации о скрытых файлах (начинаются с точки) используйте ключ -a:

# ls -la
ls: cannot access .gvfs: Permission denied
total 524
drwxr-xr-x 37 setevoy setevoy   4096 May  6 21:20 .
drwxr-xr-x  3 root    root      4096 May  5 10:25 ..
drwx——  3 setevoy setevoy   4096 May  5 10:39 .adobe
-rw——-  1 root    root       517 May  5 11:53 .bash_history
-rw-r—r—  1 setevoy setevoy    220 May  5 10:25 .bash_logout
-rw-r—r—  1 setevoy setevoy    133 May  5 11:52 .bashrc

drwx—— 17 setevoy setevoy   4096 May  5 18:29 .cache
drwxrwxr-x  3 setevoy setevoy   4096 May  5 10:54 .compiz-1
drwx—— 20 setevoy setevoy   4096 May  6 10:38 .config
drwx——  3 setevoy setevoy   4096 May  5 10:38 .dbus

Про ошибку с .gvfs можно почитать в статье ls: cannot access .gvfs: Permission denied.

Кратко остановимся на обозначениях прав доступа и обозначениях файлов/каталогов. Первый символ:

d — файл является каталогом;
b — файл является специальным блочным файлом;
c — файл является специальным символьным файлом;
p — файл является именованным каналом;
— обычный файл.

Далее следуют три группы символов, обозначающих права доступа — r (read), w (write), x (execute) — чтение, запись в файл/каталог и выполнение соответственно. Тема прав доступа в UNIX весьма обширна, поэтому сейчас не будем вдаваться в подробности.

Открыть для редактирования последний редактировавшийся файл:

# nano file1.txt
# nano file2.txt
# nano `ls -t | head -1`

Обычный вывод ls без ключей выводит все файлы/каталоги одной строкой. Что бы вывести их в колонку — выполняем:

# ls -1
Desktop
Downloads
Dropbox
file1.txt
file2.txt
Images
Soft
Temp
VirtualBox VMs

Ключ -h используется для вывода информации о размере в «человекоудобном» виде, т.е. в Kb, Mb, Gb:

# ls -lh
total 36K
drwxr-xr-x  2 setevoy setevoy 4.0K May  6 10:22 Desktop
drwxr-xr-x  2 setevoy setevoy 4.0K May  5 10:38 Downloads
drwx—— 16 setevoy setevoy 4.0K May  6 07:40 Dropbox
-rw-r—r—  1 root    root       2 May  6 21:06 file1.txt
-rw-r—r—  1 root    root       2 May  6 21:06 file2.txt
drwxr-xr-x  2 setevoy setevoy 4.0K May  5 12:00 Images
drwxr-xr-x  2 setevoy setevoy 4.0K May  5 18:29 Soft
drwxrwxr-x  2 setevoy setevoy 4.0K May  5 20:15 Temp

drwxrwxr-x  4 setevoy setevoy 4.0K May  5 19:09 VirtualBox VMs

Отсортировать файлы/каталоги по их размеру, начиная с самого большого:

# ls -lS /var/log/
total 4152
-rw-r—r— 1 root              root 1823273 May  6 19:46 dpkg.log
-rw-r—— 1 syslog            adm   825505 May  6 08:05 syslog.1
-rw-r—— 1 syslog            adm   589203 May  6 19:25 kern.log
-rw-r—r— 1 root              root   47105 Aug 23  2012 bootstrap.log
-rw-r—r— 1 root              root   37440 May  6 19:46 aptitude
-rw-r—r— 1 root              root   20584 May  6 07:39 pm-powersave.log
-rw-r—— 1 root              adm    14329 May  5 11:38 dmesg.1.gz
-rw-r—r— 1 root              root    6167 May  6 07:39 kdm.log
drwxr-xr-x 2 root              root    4096 May  5 10:25 apt
-rw-r—— 1 root              adm       31 Aug 23  2012 boot
-rw-r—— 1 syslog            adm        0 May  5 10:38 ufw.log

Осотрировать файлы/каталоги по дате последней модификации, новые — в конце списка:

# ls -rtl /var/log/
total 4152
drwx—— 2 speech-dispatcher root    4096 Feb  6  2012 speech-dispatcher
drwxr-xr-x 2 root              root    4096 Mar 12  2012 unattended-upgrades

drwxr-xr-x 2 root              root    4096 Aug 10  2012 dist-upgrade

-rw-r—r— 1 root              root   47105 Aug 23  2012 bootstrap.log

-rw-r—r— 1 root              root    2990 May  5 19:20 fontconfig.log

-rw-r—— 1 syslog            adm    60874 May  6 21:14 syslog

Что бы вывести новые в начале списка — используйте комбинацию опций без ключа -r:

#  ls -tl /var/log/

То же самое, но сортировать по дате последнего доступа к файлу, а не дате его модификации, используйте ключ -u:

#  ls -tlu /var/log/

Вывести список файлов/каталогов, разделённый на 5 колонок, разделённых на всю ширину окна:

# ls /usr/local | pr -T5 -W$COLUMNS
bin                                            games                                          lib                                            sbin                                           src

etc                                            include                                        man                                            share

Добавлять символ обозначения принадлежности файла/каталога — каталог (/), исполняемый файл (*), FIFO (|), символьная ссылка (@), сокеты семейства AF_UNIX (=):

# ls -F -1
Desktop/
Downloads/
Dropbox/
file1
file1.txt
file2
file2.txt
file3
file4.txt@
Images/
Soft/
Temp/
VirtualBox VMs/

Впрочем, ту же информацию выводит и ls -l — первый символ d для каталогов (directory) и ->; для ссылок:

# ls -l
total 36
drwxr-xr-x  2 setevoy setevoy 4096 May  6 10:22 Desktop

lrwxrwxrwx  1 root    root       9 May  6 21:20 file4.txt -> file1.txt

Выводить список через запятую:

# ls -m
Desktop, Downloads, Dropbox, file1, file1.txt, file2, file2.txt, file3, file4.txt, Images, Soft, Temp, VirtualBox VMs

Вывести список рекурсивно, включая подкаталоги и их содержимое:

# ls -R
.:
Desktop
Downloads
Dropbox
Images
Soft
Temp
VirtualBox VMs

./Desktop:
PDF-Viewer.desktop
PDF-Viewer.lnk

./Downloads:

./Dropbox:
172210-1920×1080.jpg
271027-1366×768.jpg

Остортировать файлы/каталоги в обратном алфавитном порядке:

# ls -r
VirtualBox VMs  Temp  Soft  Images  file4.txt  file3  file2.txt  file2  file1.txt  file1  Dropbox  Downloads  Desktop

Вывести информацию о номерах inode файлов и каталогов:

# ls -i -1
2368762 Desktop
1969746 Downloads
1987155 Dropbox
1987223 file1
1969890 file1.txt
1987865 file2
1969805 file2.txt
1987866 file3
1987863 file4.txt
1969751 Images
2141585 Soft
2368300 Temp
2141811 VirtualBox VMs

Вывести информацию о пользователе/группе в виде UID и GID, вместо символьных имён:

# ls -n
total 36
drwxr-xr-x  2 1000 1000 4096 May  6 10:22 Desktop
drwxr-xr-x  2 1000 1000 4096 May  5 10:38 Downloads
drwx—— 16 1000 1000 4096 May  6 07:40 Dropbox
-rw-r—r—  1    0    0    0 May  6 21:10 file1
-rw-r—r—  1    0    0    2 May  6 21:06 file1.txt
-rw-r—r—  1    0    0    0 May  6 21:10 file2
-rw-r—r—  1    0    0    2 May  6 21:06 file2.txt
-rw-r—r—  1    0    0    0 May  6 21:10 file3
lrwxrwxrwx  1    0    0    9 May  6 21:20 file4.txt -> file1.txt
drwxr-xr-x  2 1000 1000 4096 May  5 12:00 Images
drwxr-xr-x  2 1000 1000 4096 May  5 18:29 Soft
drwxrwxr-x  2 1000 1000 4096 May  5 20:15 Temp
drwxrwxr-x  4 1000 1000 4096 May  5 19:09 VirtualBox VMs


rtfm.co.ua

ls-f смотреть онлайн, HD качество бесплатно

ls-f смотреть онлайн, HD качество бесплатно

00:11:22

00:01:23

00:03:17

00:11:23

00:01:55

02:57:48

00:04:00

00:00:16

00:21:22

00:03:48

00:21:21

00:09:48

news-cinema.com

Опция -F для ls Flip Linux

ls -F будет :

Напишите (‘/’) сразу после каждого пути, который является каталогом, (‘*’) после каждого исполняемого файла, (‘|’) после каждого, что является FIFO, и знака at (‘@’ ) после каждого символа.

GNU ls содержит дополнительные сигналы :

… ‘=’ для гнезд, ‘>’ для дверей

= также присутствует в основных BSD ( FreeBSD , OpenBSD , NetBSD , OS X ). Все, кроме OpenBSD, также включают % для белых. Большинство коммерческих Unices включают = , но они нестандартны.

A * появится после файла, если он помечается как исполняемый, то есть, если установлен исполняемый бит. Это не обязательно означает, что вы действительно можете запустить файл. Вы можете отменить исполняемый бит с помощью chmod -x ; обычно вы не хотите, чтобы текстовые файлы и файлы PDF исполнялись, поэтому вы могли бы это сделать. Исполняемые файлы также будут иметь x в ls -l .

Для остальных:

  • / указывает каталог, который довольно прост.
  • | указывает FIFO, который является именованным каналом, созданным с помощью mkfifo (данные могут быть записаны в него и считаться ровно один раз).
  • @ указывает символическую ссылку, сделанную с помощью ln -s , которая является псевдонимом для другого пути.
  • = указывает сокет, специальный файл для связи с другими процессами.
  • > для дверей – еще одна возможность взаимодействия между процессами из некоторых систем.
  • % для whiteouts указывает специальный файл, используемый для отметки удалений, сделанных в верхних слоях стека файловой системы union.

«Обычный файл» – это то, что вы обычно считаете файлом, которое вы можете записать в данные и прочитать позже. В качестве альтернативы вы можете думать об этом как о чем-либо, что не относится к одной из вышеуказанных категорий.


Жесткие ссылки вообще не отличаются от других файлов, либо в выводе ls -F либо в противном случае. Фактически, вы можете думать о каждом файле как о жесткой ссылке на себя. Вы можете посмотреть количество ссылок на данный файл в выводе ls -l . Второе поле – это количество ссылок:

 -rw-r--r-- 3 root root 92766 Feb 20 11:42 test.txt 

Этот файл имеет три ссылки. Ни одна из них не является «главной» ссылкой, и вы не можете определить, какой из них является оригиналом. Если вы удалите один из них, счетчик пойдет вниз, а остальные будут ссылаться на один и тот же файл.


Все индикаторы -F отличные от * , отображают одно из значений первого поля выходного сигнала режима в ls -l , но есть дополнительные значения, которые могут там появляться, в частности b для блочных устройств, c для символа устройств и других системных индикаторов.

fliplinux.com

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *