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.