
Tentando usar os comandos copy move e remove no Linux, mas sempre recebo mensagens de erro. Existem três símbolos nas estruturas de diretório do Linux com os quais estou tendo dificuldades: ".", "~" e "/". Por exemplo, eu gostaria de copiar um arquivo em um diretório de um nível acima para algum lugar onde eu cp ./filename ~/directory/ . ou o que. Disseram-me que preciso incluir o arquivo . para copiá-lo para o mesmo nome.
Sim, eu li o manual do cp, mas isso não fornece detalhes.
Responder1
Para copiar um arquivo chamado filename
do diretório atual para o diretório acima deste diretório, você faria
cp filename ..
O ..
significa "o diretório pai", e quando você não especifica umnome do arquivopara o arquivo no destino (há apenas um diretório no segundo argumento), o nome do arquivo será o mesmo que já é.
Não há necessidade de usar o delimitador de caminho /
aqui, mas vocêpoderiaescreveu
cp ./filename ../
também. Usar ./
é uma forma de dizer explicitamente "no diretório atual".
Se você deseja copiar o arquivo ~/directory
(ou seja, do diretório chamado directory
em seu diretório inicial) para o diretório acima desse diretório, então
cp ~/directory/filename ~
Esta ~
é uma maneira abreviada de escrever o caminho para seu diretório inicial, e o diretório pai ~/directory
é seu diretório inicial. O diretório inicial, ~
, pode não ter nenhuma relação com .
ou ..
, ou seja, o diretório atual ( .
) e o diretório acima dele ( ..
) pode ser um local completamente diferente do seu diretório inicial, dependendo de onde na estrutura de diretórios você se moveu com o cd
comando.
Você também pode usar
cp ~/directory/filename ~/directory/..
mas isso seria um pouco estranho de digitar.
Para copiar um arquivo do diretório pai do diretório atual para algum outro diretório (aqui ~/directory
como exemplo):
cp ../filename ~/directory