Para usar el directorio actual como el directorio de destino, use un solo punto ' .'
Respuesta larga
Usando su ejemplo, escribiría: cp ~/anotherdir/dir2/file .
Para ver el punto ., ..y ../../los nombres de directorio en la acción, copiar y pegar los siguientes comandos en la 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
El resultado del comando de árbol aparece así:
.
└── b
├── c
│ └── grub
├── c2
│ └── grub
└── grub
3 directories, 3 files
La .salida en la parte superior del árbol representa el nuevo directorio actual a que es el abuelo al a/b/cque navegamos usando el cd ../../comando. Debajo avemos los subdirectorios a/b, a/b/cya/b/c2
Análisis línea por línea
Primero creamos 4 directorios en una sola línea &¶ unir varias líneas.
Luego cambiamos al directorio a/b/c, que es el directorio actual para los siguientes comandos de copia:
- En el primer comando de copia (
cp) establecemos el destino en nuestro directorio actual ( c ) con ..
- En el segundo comando de copia, establecemos el destino en el directorio padre ( b ) con
...
- En el tercer comando de copia, establecemos el destino en el directorio hermano ( c2 ) con
../c2
Luego, como se indicó anteriormente, cambiamos el directorio actual ay ejecutamos el treecomando para mostrar todos los directorios y archivos en a.
Limpiar
Una vez que hayamos terminado, eliminamos los tres directorios y archivos con:
cd ~/
rm -r tree
..significa un directorio más bajo. Se puede usar varias veces, es decircd ../..