Copie arquivos e altere a propriedade e as permissões ao mesmo tempo
Este breve tutorial descreve como copiar arquivos e alterar a propriedade e as permissões ao mesmo tempo na linha de comando em sistemas operacionais do tipo Unix.
Normalmente, usamos o comando “cp” para copiar arquivos de um local para outro. Em seguida, usamos os comandos “chmod” e “chown” para alterar as permissões e a propriedade de um arquivo, respectivamente.
No entanto, podemos combinar todas essas tarefas em umcomando de uma linha e ainda obter o mesmo resultado em vez de executar os três comandos consecutivos. Isso pode ser útil quando você quiser fazer isso regularmente ou dentro de um script.
Copie arquivos e altere a propriedade e as permissões ao mesmo tempo
Dê uma olhada no exemplo a seguir.
Para copiar arquivos e alterar permissões e propriedade, normalmente fazemos:
cp /dir1/file1 /dir2
chmod 775 -R /dir2
chown -R newowner:newgroup /dir2/file1
No entanto, você não precisa usar três comandos para esta tarefa simples. Podemos fazer isso com um único comando. É aqui que o comando "instalar" se torna útil.
Achei que o comando "instalar" se destinava a instalar coisas. Mas eu estava errado! O comando "instalar" é usado para copiar arquivos para o destino de sua escolha e definir atributos. Faz parte do GNU coreutils que vem pré-instalado em todas as distribuições Linux.
Agora, deixe-me mostrar como alterar as permissões e a propriedade de um arquivo durante a cópia.
sudo install -C -m 775 -o sk -g ostechnix /dir1/file1 /dir2
O comando acima copiará o arquivo /dir1/file1 para /dir2, alterará as permissões do arquivo para 775, o proprietário para sk, e o grupo para ostechnix.
Vamos analisar o comando acima e ver o que cada parte do comando faz.
- -C, (--compare): Compare cada par de arquivos de origem e destino e, em alguns casos, não modifique o destino.
- -m, (--mode): Define o modo de permissão (como em chmod).
- -o, (--owner): Define a propriedade do usuário.
- -g, (--group): Define a propriedade do grupo.
Para obter mais detalhes, consulte as páginas de manual.
man install
Leitura sugerida:
- Como manter intactas a propriedade e as permissões de arquivo ao copiar arquivos ou diretórios
- ExplainShell – Descubra o que cada parte de um comando Linux faz
E isso é tudo. Espero que isto ajude.