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/c
que navegamos usando el cd ../../
comando. Debajo a
vemos los subdirectorios a/b
, a/b/c
ya/b/c2
Análisis línea por línea
Primero creamos 4 directorios en una sola línea &&
para 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 a
y ejecutamos el tree
comando 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 ../..