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 o ponto ., ..e ../../nomes de diretório 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 em árvore aparece assim:
.
└── b
├── c
│ └── grub
├── c2
│ └── grub
└── grub
3 directories, 3 files
A .saída na parte superior da árvore representa o novo diretório atual, a que é o avô do a/b/cqual navegamos usando o cd ../../comando Debaixo avemos os sub-diretórios a/b, a/b/cea/b/c2
Análise linha por linha
Primeiro, criamos 4 diretórios em uma linha usando &¶ unir várias linhas.
Em seguida, mudamos para o diretório a/b/c, que é o diretório atual para os seguintes comandos de cópia:
- No primeiro comando de cópia (
cp), definimos o destino para o diretório atual ( c ) com ..
- No segundo comando de cópia, definimos o destino no diretório pai ( b ) com
...
- No terceiro comando de cópia, definimos o destino no diretório irmão ( c2 ) com
../c2
Então, como declarado anteriormente, alteramos o diretório atual para ae executamos o treecomando para exibir todos os diretórios e arquivos em a.
Limpar
Depois que terminamos, removemos os três diretórios e arquivos com:
cd ~/
rm -r tree
..significa um diretório mais baixo. Pode ser usado várias vezes, ou seja,cd ../..