Intereting Posts
Rsync пропускает зашифрованный (но установленный) домашний каталог удаление всех вхождений данной команды из истории Создайте новый массив с уникальными значениями из существующего массива сжимать логротат Разница между параметрами командной строки «-» и «-» с префиксом? Выделение синтаксиса Nano для C # и / или ASP. Сеть Правильно монтируйте общий доступ к окнам для перемещения файлов на точке монтирования Может ли bash написать свой собственный поток ввода? Переменная пустая, когда используется в выражении if, но не echo Как создать загрузочный образ Windows 8 iso в Linux? Как перезапустить фоновое задание не удалось из-за «сломанной трубы» Скажите dhclient, чтобы не использовать интерфейс захватить несколько строк после соответствующей целевой линии Sox: конвертировать WAV-файл с требуемыми свойствами в одной команде Как переместить панель задач на другой монитор в Linux Mint?

Опция -F для ls

Для команды ls

  -F, --classify append indicator (one of */=>@|) to entries 

Википедия говорит, что * представляет исполняемый файл и / dir. За обычными файлами не следует ни один из приведенных выше символов.

Но * следует текстовому файлу и файлу PDF. Являются ли они исполняемыми?

Показатели -F всегда означают то же самое, что и первое поле в -rwxrwx--- ?

Похоже, нет никакой разницы между hardlinks и файлами в индикаторах -F или первом поле в -rwxrwx--- . Как вы их различаете?

Благодарю.

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 для символа устройств и других системных индикаторов.