ls -l
output mostra o número de links físicos para uma entrada do sistema de arquivos entre permissões e proprietário:
$ mkdir foo
$ ls -ld foo
drwxr-xr-x 2 danielbeck staff 68 15 Aug 18:49 foo
Por padrão, é 2
para diretórios vazios, foo/.
e foo
. Cada subdiretório adiciona um para seu ..
. A menos que você esteja no OS X e de sanidade questionável, esse é o único link rígido do diretório que você terá.
Os arquivos, é claro, mostram apenas hard links "reais", então qualquer coisa, exceto 1
, indica que há um link físico em algum lugar:
$ touch bar
$ ln bar baz
$ ls -l bar baz
-rw-r--r-- 2 danielbeck staff 0 15 Aug 18:52 bar
-rw-r--r-- 2 danielbeck staff 0 15 Aug 18:52 baz
Meu (BSD / OS X) ls
não tem opções relacionadas a hard links, mas você pode escrever sua própria função de shell, como a seguinte, que imprime apenas a contagem de hard link e é ls -F1
(se ls -l
é muito complicado):
function lss {
OLDIFS="$IFS"
IFS=$'\n'
for line in $( ls -d1 $@ )
do stat -f '%N%T (%l)' "$line"
done
IFS="$OLDIFS"
}
Saída para os dois hardlinks e um arquivo não relacionado qux
:
$ lss bar baz qux
bar (2)
baz (2)
qux (1)