GNU/Linux >> Tutoriales Linux >  >> Linux

Comando cpio:copia, enumera y extrae archivos hacia y desde archivos

El comando cpio (copia de entrada/salida) de Linux/UNIX copia, enumera y extrae archivos hacia y desde un único archivo o archivos comprimidos. Algunas de las opciones disponibles con el comando cpio se enumeran en la siguiente tabla. El comando cpio requiere que se especifique una de las opciones o, i o p.

Opción Descripción
-o Copia datos.
-i Extractos de una copia.
-t Contenido de copia de listas.
-v Modo detallado.
-p Lee de una copia para obtener nombres de rutas.
-a Restablece los tiempos de acceso a los archivos después de que se copian.

En esta publicación, analizaremos algunos ejemplos para comprender el uso del comando cpio.

Ejemplo 1 :Para copiar el contenido de /home, ejecute el comando de búsqueda como se muestra y redirija la salida a /tmp/home.cpio.

# find /home | cpio -ov > /tmp/home.cpio
/home
/home/geek
/home/geek/CentOS-7.0-1406-x86_64-DVD.iso.3
/home/geek/CentOS-7.0-1406-x86_64-DVD.iso.4
/home/geek/.profile
/home/geek/CentOS-7.0-1406-x86_64-DVD.iso.2
/home/geek/.bashrc
...............................................

Ejemplo 2 :Para listar el contenido de home.cpio.

# cpio -itv < /tmp/home.cpio
-rw-rw-r--   1 geek geek     2556 Nov 29 13:03 /home/geek/ubuntu
-rw-rw-r--   1 geek geek     2255 Sep  1 14:32 /home/geek/.grive-last-sync.log
drwxr-xr-x  17 geek geek        0 Dec  5 15:46 /home/geek/Desktop
-rw-rw-r--   1 geek geek   357376 Sep 11 12:23 /home/geek/Desktop/mysql-classroom.doc
-rw-rw-r--   1 geek geek    43008 Sep 27 13:16 /home/geek/Desktop/linux_interview_question.doc
drwxrwxr-x   3 geek geek        0 Sep 12 13:59 /home/geek/Desktop/July-2014
-rw-rw-r--   1 geek geek     8147 Sep 11 13:04 /home/geek/Desktop/July-2014/brainuse.php
-rw-rw-r--   1 geek geek    10885 Sep 11 13:16 /home/geek/Desktop/July-2014/news.php
drwxrwxr-x   2 geek geek        0 Sep 11 12:34 /home/geek/Desktop/July-2014/images
-rw-rw-r--   1 geek geek    13609 Sep 11 12:34 //cdn.thegeekdiary.com/home/geek/Desktop/July-2014/images/3.gif
-rw-rw-r--   1 geek geek   206334 Sep 11 12:34 //cdn.thegeekdiary.com/home/geek/Desktop/July-2014/images/July14-header.gif
-rw-rw-r--   1 geek geek     1736 Sep 11 12:34 //cdn.thegeekdiary.com/home/geek/Desktop/July-2014/images/2.gif
..............................................

Ejemplo 3 :Para restaurar archivos desde home.cpio.

# cpio -iv < /tmp/home.cpio

Ejemplo 4 :Para copiar archivos directamente desde /home a un nuevo directorio llamado /tmp/home.bkp.

# find /home | cpio -pvd /tmp/home.bkp
/tmp/home.bkp/home/geek/ubuntu
/tmp/home.bkp/home/geek/.grive-last-sync.log
/tmp/home.bkp/home/geek/Desktop
/tmp/home.bkp/home/geek/Desktop/mysql-classroom.doc
/tmp/home.bkp/home/geek/Desktop/linux_interview_question.doc
/tmp/home.bkp/home/geek/Desktop/July-2014
............................................

Ejemplo 5 :copia solo los archivos seleccionados a home.cpio.

# find . -iname *.php -print | cpio -ov >/tmp/home.cpio 
./Desktop/July-2014/brainuse.php
./Desktop/July-2014/news.php
./Desktop/July-2014/developer_section.php
./Desktop/July-2014/mysql1.php
............................

El comando anterior copiará todos los archivos con la extensión '.php' en home.cpio.

Ejemplo 6 :Creando el archivo '.tar' usando 'cpio -F'.

# find . -iname *.php -print | cpio -ov -H tar -F /tmp/home.tar
./Desktop/July-2014/brainuse.php
./Desktop/July-2014/news.php
./Desktop/July-2014/developer_section.php
./Desktop/July-2014/mysql1.php
./Desktop/July-2014/index.php
............................................

El comando anterior creará un archivo tar 'home.tar' de todos los archivos con extensión '.php' usando "cpio -F".

Ejemplo 7 :muestra el contenido del archivo “.tar” usando cpio.

# cpio -it -F /tmp/home.tar
Desktop/July-2014/brainuse.php
Desktop/July-2014/news.php
Desktop/July-2014/developer_section.php
Desktop/July-2014/mysql1.php
Desktop/July-2014/index.php
Desktop/July-2014/linux1.php
..................................

Ejemplo 8 :Extraiga el archivo ".tar" a través de cpio.

# cpio -idv -F /tmp/home.tar


Linux
  1. Cómo encontrar archivos de configuración de MySQL, PHP y Apache

  2. Cómo encontrar el número de archivos en un directorio y subdirectorios

  3. Ejecute scripts Perl/PHP desde la línea de comandos

  4. Cómo verificar si existe un comando de shell desde PHP

  5. Comando para listar todos los archivos excepto . (punto) y .. (punto punto)

4 formas de transferir archivos y directorios en Linux

40 Comando lsof simple y efectivo en el sistema Linux

Cat Command en Linux:ejemplos esenciales y avanzados

Comando Stat:mostrar atributos de archivos y directorios

Comando tar de Linux para comprimir y extraer archivos

Linux:busque el número de archivos en un directorio y subdirectorios