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 [AT] cwi.nl. Relatório de problemas no programa para fileutils-bugs [AT] gnu.edu.
TRADUZIDO POR LDP-BR em 21/08/2000.
André L. Fassone Canova <lonelywolf [AT] blv.br> (tradução) Ricardo C.O. Freitas <english.quest [AT] best-service.com> (revisão)