Para usar o diretório atual como o diretório de destino, use um único ponto ' . '
Resposta longa
Usando seu exemplo, você digitaria: cp ~/anotherdir/dir2/file .
Para ver os nomes dos diretórios dos pontos . , .. e ../../ em ação, copie e cole os seguintes comandos em seu Terminal:
mkdir a && mkdir a/b && mkdir a/b/c && mkdir a/b/c2
cd a/b/c
cp /etc/default/grub .
cp /etc/default/grub ..
cp /etc/default/grub ../c2
cd ../../
tree
A saída do comando tree aparece assim:
.
└── b
├── c
│ └── grub
├── c2
│ └── grub
└── grub
3 directories, 3 files
O . na parte superior da saída da árvore representa o novo diretório atual a , que é o avós de a/b/c para o qual navegamos usando o comando cd ../../ . Abaixo de a , vemos os subdiretórios a/b , a/b/c e a/b/c2
Análise linha por linha
Primeiro, criamos 4 diretórios em uma linha usando && para unir várias linhas.
Depois, mudamos para o diretório a/b/c , que é o diretório atual dos seguintes comandos de cópia:
- No primeiro comando de cópia (
cp ), definimos o destino para o nosso
diretório atual ( c ) com . .
- No segundo comando de cópia, definimos o destino para o pai
diretório ( b ) com
.. .
- No terceiro comando de cópia, definimos o destino para o irmão
diretório ( c2 ) com
../c2
Em seguida, conforme declarado anteriormente, alteramos o diretório atual para a e executamos o comando tree para exibir todos os diretórios e arquivos em a .
Limpeza
Depois de terminar, removemos os três diretórios e arquivos com:
cd ~/
rm -r tree