Estoy tratando de copiar el contenido de una carpeta a otra carpeta en un directorio diferente usando terminal.
¿Alguien podría proporcionarme un ejemplo de la sintaxis de línea de comandos requerida para lograr esto?
Estoy tratando de copiar el contenido de una carpeta a otra carpeta en un directorio diferente usando terminal.
¿Alguien podría proporcionarme un ejemplo de la sintaxis de línea de comandos requerida para lograr esto?
Respuestas:
Puede copiar el contenido de una carpeta /source
a otra carpeta existente /dest
con el comando
cp -a /source/. /dest/
La -a
opción es una opción recursiva mejorada, que conserva todos los atributos del archivo y también conserva los enlaces simbólicos.
El .
final de la ruta de origen es una cp
sintaxis específica que permite copiar todos los archivos y carpetas, incluidos los ocultos.
cp -a ~/Downloads/textext/. ~/.config/inkscape/extensions/
-p
marca como para preservar los permisos de archivo y las marcas de tiempo. cp -ap /var/www/original.com/images/. /var/www/new.com/images/
-a
ya implica --preserve=all
, que es más amplio que -p = --preserve=mode,ownership,timestamps
.
scp
se usa para copiar a través de una red (a través ssh
) y solo cifra el canal de comunicación, no los archivos en el sistema de archivos de destino.
Una alternativa es rsync
rsync -r source/ destination
Las ventajas de rsync son:
Después de la sincronización inicial, copiará solo los archivos que han cambiado.
Puede usarlo en una red, conveniente para archivos en $ HOME, especialmente archivos de configuración.
rsync -r source/ destination
debería ser suficiente, no?
rync source/ dest
obviamente las personas deberán personalizar el comando rsync para que funcione como lo deseen.
Digamos que tiene una carpeta llamada carpeta1 en su ~
, dentro de la carpeta1 hay 1 archivo llamado archivo1 y 2 carpetas llamadas sub1 y sub2, cada una con otros archivos y carpetas dentro de ellas.
Para copiar todo el contenido de ~/folder1
a ~/new_folder1
usted utilizaría
cp -r ~/folder1/. ~/new_folder1
new_folder1
contendría todos los archivos y carpetas de folder1
.
cp
es el comando para copiar usando un terminal, lo -r
hace recursivamente (por lo tanto, el directorio actual + otros directorios dentro del actual) ~/folder1
es la carpeta de origen, ~/new_folder1
es la carpeta de destino para los archivos / carpetas dentro del origen.
~/new_folder1/folder1
lugar de copiar el contenido.
cp -r ~/folder1/* ~/new_folder1
[root@ home]# mkdir food [root@ home]# cd food/ [root@ food]# mkdir .fruit [root@ food]# mkdir veggies [root@ food]# touch veggies/carrots [root@ food]# touch .fruit/apple [root@ food]# ls * carrots [root@ food]#
Consulte este http://www.cyberciti.biz/faq/copy-folder-linux-command-line/ para obtener más información sobre la copia de la carpeta. Espero que esto ayude.
cp Command
cp
es un comando de Linux para copiar archivos y directorios. La sintaxis es la siguiente:
cp source destination
cp dir1 dir2
cp -option source destination
cp -option1 -option2 source destination
En este ejemplo, copie la /home/vivek/letters
carpeta y todos sus archivos al /usb/backup
directorio:
cp -avr /home/vivek/letters /usb/backup
Dónde,
-a
: Preserve los atributos especificados, como el directorio, el modo de archivo, la propiedad, las marcas de tiempo, si es posible, atributos adicionales: contexto, enlaces, xattr, todos.
-v
: Explique lo que se está haciendo.
-r
: Copie directorios de forma recursiva. Ejemplo
Copie una carpeta llamada / tmp / conf en / tmp / backup:
$ cp -avr /tmp/conf/ /tmp/backup
Copie el directorio dir_1 y su contenido (_files_) en el directorio dir_2 :
cp -r ./dir_1 ./dir_2
# or
cp -r ./dir_1/ ./dir_2/
# Results in: ./dir_2/dir_1/_files_
Copie el contenido (_files_) solo de dir_1 en el directorio dir_2 :
cp -r ./dir_1/. ./dir_2
# or
cp -r ./dir_1/. ./dir_2/
# Results in: ./dir_2/_files_*
_files_
es un marcador de posición para los archivos reales ubicados en el directorio.
Si hay dos carpetas: (con permiso de escritura)
drwxr-xr-x 4 vimal vimal 4096 Sep 9 12:17 .
drwxr-xr-x 3 root root 4096 Aug 18 14:35 ..
drwxrwxrwx 6 vimal vimal 4096 Sep 9 12:15 DATA
drwxrwxrwx 7 vimal vimal 4096 Sep 9 12:15 PORTAL
Si está dentro de la carpeta llamada PORTAL donde desea copiar todo el contenido de otra carpeta, diga DATOS al mismo nivel, entonces lo hará
vimal@vimal-D3H:/var/www/html/PORTAL$ cp -a ../DATA/. .
Tienes que notar 2 puntos. El último punto dice copiar aquí en la carpeta actual
y
uno siguiente / DATOS /. dice que todos los CONTENIDOS dentro de la carpeta DATA se copiarán, y no la carpeta DATA en sí.
Si elimina este "." de / DATA /
entonces toda la carpeta DATA se copiará dentro del PORTAL (desde donde está haciendo frente).