LN(1)

NOME
ln - cria uma ligação simbólica entre arqvuios

SINOPSE
ln [opções] origem [destino]
ln [opções] origem... diretório

Opções POSIX: [-f]

Opções GNU (forma reduzida): [-bdfinsvF] [-S backup-suffix] [-V {numbered,existing,simple}] [--help] [--version] [--]

DESCRIÇÃO
Existem dois conceitos de 'ligação'no Unix, usualmente nomeadas de ligação forte e ligação fraca. Uma ligação forte é exatamente um nome para o arquivo. (E um arquivo pode ter vários nomes. Aquilo só é apaguado do disco somente quando o último nome é removido. O número de nomes é dado por ls(1). Não havia coisa semelhante no nome 'original': todos os nome tem o mesmo status. Usualmente, mas não necessariamente, todos os nomes do arquivo encontrado no sistema de arquivos contém os mesmo dados.)

Uma ligação fraca (ou ligação simbólica, ou symlink) é um material totalmente diferente: é um pequeno arquivo especial que contém o nome de caminho. Assim, a ligação fraca pode apontar arquivos em diferentes sistemas de arquivos (talvez NFS montadas de diferentes máquinas), e não precisa de ponto para o arquivo existente atualmente. Quando acessado (com a chamada de sistema open(2) ou stat(2) , uma referência para o symlink é substituída pelo núcleo do sistema operacional com uma referência para o arquivo nomeado no nome de caminho. (De qualquer forma, com rm(1) ou unlink(2) a ligação é removida, não o arquivo que ela aponta. Estas são chamadas especiais de sistema lstat(2) e readlink(2) que lêem o status do symlink e para onde aponta o nome do arquivo. Para várias outras chamadas de sistema há um pouco de incerteza e variação entre sistemas operacionais fazem com que as operações atuem no próprio symlink, ou no arquivo apontado.

ln cria ligações entre arquivos. Por padrão, ele cria ligações fortes; com a opção -s , ele cria ligações simbólicas (ou 'fracas').

Se somente um arquivo é fornecido, a ligação daquele arquivo é feita dentro do diretório atual, o qual é, criado um link para aquele arquivo no diretório atual, com o nome igual para (o último componente sobre) o nome daquele arquivo. (Isto é uma extensão GNU.) De outra forma, se o último argumento é o nome de um diretório existente, ln deverá criar uma ligação para cada arquivo de origem mencionada naquele diretório, como o nome iqual ao (o último componente de) nome daquele arquivo de origem . (Veja a descrição da opção --no-dereference abaixo.) De outra forma, se somente dois arquivos são fornecidos, ele cria uma ligação nomeada destino para o arquivo de origem. Será um erro se o último argumento não for um diretório e mais que dois arquivos forem fornecidos.

Por padrão, ln não remove arquivos ou ligações simbólicas existentes. (Assim, é possível o seu uso para propósitos de fechamento: que só terá sucesso se destino já não exista.) Mas pode ser forçado a fazer assim com a opção -f.

Em implementações existentes, é possível criar ligações fortes para um diretório, isto pode ser feito somente pelo super-usuário. POSIX proíbe a chamada de sistema link(2) e o utilitário ln de criar ligações fortes para diretórios (mas não proíbe de criar ligações forte entre sistemas de arquivos diferentes).

OPCÕES POSIX

-f  Remove o arquivo de destino existente.

OPÇÕES GNU

-d, -F, --directory
    Permite que o super usuário crie ligações fortes para diretórios.

-f, --force
    Remove o arquivo de destino existente.

-i, --interactive
    Questiona se remove o arquivo de destino existente.

-n, --no-dereference
    Quando é fornecido uma destinação explicita daquele symlink para um diretório, trata o destino como se fosse um arquivo normal. Quando o destino é no diretório atual (e não um symlink para ele), não há ambigüidade. A ligação é criada naquele diretório. Mas quando o destino especificado é um synlink para um diretório, há dois modos para tratar o pedido do usuário. ln pode tratar o destino como um diretório normal e criar uma ligação para ele. Na outra interpretação, o destino pode ser visualizado não como diretório - e sim como uma symlink para ele. Neste caso, ln dever apaguar ou criar um backup daquele symlink antes de criar o novo link. O padrão é para se tratar o destino como um symlink para o diretório como se fosse um diretório.

-s, --symbolic
    Cria ligações fracas ao invês de ligações fortes. Esta opção meramente produz uma mensagem de erro nos sistemas que não suportam ligações fracas.

-v, --verbose
    Descreve toda ação ocorrida para cada ligação.

OPÇÕES BACKUP GNU
As versões GNU de programas como cp, mv, ln, install e patch podem criar backup de sobre os arquivos que foram reescritos, alterados ou destruídos se isto é desejado. Aqueles arquivos de bakcup se desejados são indicado pela opção -b. Como eles deveriam ser nomeados é especificado pela opção de -V. No caso do nome do arquivo posterior é determinado para o nome de um arquivo estendido por um sufixo, este sufixo é especificado pela opção de -S.

-b, --backup
    Cria backups dos arquivos reescritos ou removidos

-S SUFFIX, --suffix=SUFFIX
    Anexo SUFFIX para cada backup feito. Se esta opção não é especificada, o valor da variável de ambiente SIMPLE_BACKUP_SUFFIX é usada. E se SIMPLE_BACKUP_SUFFIX não é selecionada, o padrão é `~'.

-V METHOD, --version-control=METHOD
    Especifica como os arquivos de cópias de segurança serão nomedos. O argumento do METHOD pode ser 'numbered' (ou 't'), 'existing' (ou 'nil'), ou 'never' (ou Se esta opção não é especificada o valor da variável de ambiente VERSION_CONTROL é usada. E se VERSION_CONTROL não é selecionada, o tipo a cópia de segurança padrão é 'existing'.

    Esta opção corresponde a variável do Emacs 'version-control'. Os MÉTODOS validos são (são aceitas abreviações únicas):

    t, numbered
        Sempre cria backups numerados.

    nil, existing
        Cria backups numerados dos arquivos que já os tem , simples auxilio dos outros.

    never, simple
        Sempre cria backups simples.

OPÇÕES PADRÃO GNU

--help
    Imprime a mensagem de uso na saída padrão e sai.

--version
    Imprime a versão na saída padrão e sai.

--  Encerra a lista de opção.

AMBIENTE
As variáveis LANG, LC_ALL, LC_CTYPE and LC_MESSAGES tem seu significado usual.

OBEDECENDO
POSIX 1003.2. De qualquer forma, POSIX 1003.2 (1996) não cita as ligações fracas. Ligaçõe fracas foram introduzidas pelo BSD, e não ocorrem nas especificações do System V release 3 (e anteriores).

VEJA TAMBÉM
ls(1), rm(1), link(2), lstat(2), open(2), readlink(2), stat(2), unlink(2)

NOTAS
Esta página descreve como ln é encontrada no pacote Utilitários de Arquivos 4.0; outras versões podem ser um pouco diferente. Envie correções e adições para aeb@cwi.nl. Relatório de problemas no programa para fileutils-bugs@gnu.ai.mit.edu.

TRADUZIDO POR LDP-BR em 21/08/2000.
André L. Fassone Canova <lonelywolf@blv.com.br> (tradução) Ricardo C.O. Freitas <english.quest@best-service.com> (revisão)