Estou tentando entender o que a opção -a faz exatamente com o comando cp? As páginas man no meu sistema não fornecem muitas informações sobre isso.
relate perguntas
-
Problemas ao usar o comando cp -r
-
No Unix, como eu copiaria /etc/passwd usando o caminho relativo para um diretório no meu diretório inicial? [fechado]
-
Como posso copiar um diretório e renomeá-lo no mesmo comando?
-
Como faço uma duplicata de uma árvore de diretórios com links simbólicos duplicados relativamente?
-
cp se comporta de maneira estranha quando . (ponto) ou .. (ponto ponto) são o diretório de origem
De acordo com a página man,
cp -a
é o mesmo quecp --no-dereference --preserve=mode,ownership,timestamps,context,links,xattr
--no-dereference
: copie o link simbólico em vez do que ele aponta--preserve=mode
: copia os bits de permissão--preserve=ownership
: copie o proprietário e o grupo (se possível)--preserve=timestamps
: copie o mtime e o atime (ctime não pode ser copiado)--preserve=context
: copia os atributos de contexto SELinux ou SMACK--preserve=xattr
: copia os atributos estendidosA resposta do user10489 está correta. Mas é possível abordar esta questão de um ângulo diferente. Para perguntar "Que função ele faz
cp
?"Aqui, na verdade, somos bastante insinuados pelo fato de que
-a
é a abreviação de--archive
, e é exatamente quando você mais usará isso. A última vez que precisei usar essa opção foi quando estava alterando a distribuição, enquanto reformatava a unidade simultaneamente. Eu queria preservar a maioria dos arquivos no meu diretório pessoal, mas se você deixar o arquivo normalcp --recursive
executado, é possível que algumas das informações armazenadas no próprio sistema de arquivos não sejam copiadas. Eu não me importei muito com timestamps (embora fosse ótimo que eles fossem preservados também), mas o fato de que links simbólicos foram copiados como estão, ao invés de segui-los é ótimo. As informações de propriedade também são muito importantes, especialmente se você estiver fazendo backup de seu diretório pessoal como root ou de algum usuário que é criado automaticamente durante o lançamento do LiveCD.Tenha em mente que é essencial usar
-a
quando você "arquiva" e quando está restaurando seus arquivos. Caso contrário, durante a restauração, você pode perder o que salvou originalmente.