ls -F
:
Write a ( '/' ) immediately after each pathname that is a directory, an ( '*' ) after each that is executable, a ( '|' ) after each that is a FIFO, and an at-sign ( '@' ) after each that is a symbolic link.
O GNU ls inclui sinais adicionais :
... ‘=’ for sockets, ‘>’ for doors
=
também está presente nos principais BSDs ( FreeBSD , OpenBSD , NetBSD , OS X ). Todos esses, exceto o OpenBSD, também incluem %
para whiteouts. A maioria dos Unices comerciais inclui =
, mas não é padrão.
Um *
aparecerá após um arquivo se estiver marcado como executável - isto é, se o bit executável estiver definido. Isso não significa necessariamente que você poderia realmente executar o arquivo. Você pode remover o bit executável do chmod -x
; geralmente você não quer que arquivos de texto e PDF sejam executáveis, então você pode fazer isso. Os arquivos executáveis também terão o x
em ls -l
output.
Para os outros:
-
/
indica um diretório, o que é bastante simples. -
|
indica um FIFO, que é um pipe nomeado feito commkfifo
(os dados podem ser escrito e lido novamente uma vez). -
@
indica um link simbólico feito comln -s
, que é um alias para outro caminho . -
=
indica um socket, um arquivo especial para se comunicar com outros processos. -
>
para portas é outro recurso de comunicação entre processos de alguns sistemas. -
%
para whiteouts indica um arquivo especial usado para marcar exclusões feitas nas camadas superiores de uma pilha do sistema de arquivos union.
Um "arquivo normal" é o que você considera convencionalmente como um arquivo, no qual você pode gravar dados e ler mais tarde. Alternativamente, você pode pensar nisso como algo que não esteja em uma das categorias acima.
Links físicos não são diferenciados de outros arquivos, seja em ls -F
output ou de outra forma. Na verdade, você pode pensar em cada arquivo como um link rígido para si mesmo. Você pode examinar o número de links para um determinado arquivo na saída ls -l
. O segundo campo é o número de links:
-rw-r--r-- 3 root root 92766 Feb 20 11:42 test.txt
Este arquivo tem três links. Nenhum deles é o link "principal", e você não pode dizer qual é o original de forma alguma. Se você excluir um, a contagem diminuirá, mas os outros ainda se referirão ao mesmo arquivo.
Todos os indicadores -F
diferentes de *
mapeiam em um dos valores do primeiro campo da saída do modo em ls -l
, mas há adicional valores que podem aparecer também, especialmente b
para dispositivos de bloco, c
para dispositivos de caractere e outros indicadores específicos do sistema.