Pour utiliser le répertoire actuel comme répertoire de destination, utilisez un seul point ' .'
Longue réponse
En utilisant votre exemple, vous taperiez: cp ~/anotherdir/dir2/file .
Pour voir le point ., ..et les ../../noms de répertoire en action, copiez et collez les commandes suivantes dans votre 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
La sortie de la commande tree apparaît comme ceci:
.
└── b
├── c
│ └── grub
├── c2
│ └── grub
└── grub
3 directories, 3 files
La .sortie en haut de l'arborescence représente le nouveau répertoire courant a qui est le grand-parent a/b/cdont nous avons accédé à l'aide de la cd ../../commande. En dessous, anous voyons les sous-répertoires a/b, a/b/ceta/b/c2
Analyse ligne par ligne
Nous avons d'abord créé 4 répertoires sur une ligne en utilisant &&pour joindre plusieurs lignes ensemble.
Ensuite, nous avons changé pour le répertoire a/b/c, qui est le répertoire actuel pour les commandes de copie suivantes:
- Dans la première commande de copie (
cp), nous définissons la destination sur notre répertoire actuel ( c ) avec ..
- Dans la deuxième commande de copie, nous définissons la destination sur le répertoire parent ( b ) avec
...
- Dans la troisième commande de copie, nous définissons la destination sur le répertoire frère ( c2 ) avec
../c2
Ensuite, comme indiqué précédemment, nous avons changé le répertoire actuel en aet avons exécuté la treecommande pour afficher tous les répertoires et fichiers sous a.
Nettoyer
Une fois que nous avons terminé, nous supprimons les trois répertoires et fichiers avec:
cd ~/
rm -r tree
..signifie un répertoire plus bas. Peut être utilisé plusieurs fois, c'estcd ../..