Comandos Linux: Operaciones con archivos

Vamos a ver algunos comandos interesantes para realizar operaciones con archivos en Linux.

 
En este artículo:
 

 

Comando du (disk usage)

 
–> El comando du, nos muestra un resumen del uso del disco por un conjunto de directorios y archivos.

Podemos especificar si deseamos conocer el uso de disco de un archivo o de un directorio concreto.

Si no especificamos nada, entonces el comando du nos mostrará el uso de disco del directorio actual, sus subdirectorios y archivos.
 

La opción -h mostrará los tamaños de una manera legible y comprensible; es decir, nos indicará Kb, Mb …

comando du | disk usage
 

Otras opciones del comando du

 

du archivo: nos muestra cuanto ocupa el archivo

du -s : (significa summarize) solamente muestra el total.

du -h : muestra los tamaños en una forma legible.

du -sh directorio : Muestra cuanto pesa un directorio

 

 

A continuación veremos el resultado del comando du directorio, utilizando también el parámetro -h

du -h directorio
 

 
Y el resultado del comando du -sh directorio, que mostrará solamente el peso del directorio

du -sh directorio
 

 
du también permite especificar la profundidad de directorios a la cual podemos ejecutar el comando.

du –max-depth 1   (para ejecutar un du de directorios a profundidad 1)

du max-depth

 

 

Comando cp: Copiar archivos y directorios en Linux

 

 
–> El comando cp sirve para copiar de origen a destino, o bien de varios origen a directorio. A continuación vamos a hacer algunos ejercicios.
 

  • Ejercicio 1: Copiar archivo a otro directorio

 
Primero comprobamos que en el directorio actual existen varios archivos y un subdirectorio.

Después copiamos el archivo hola.txt al subdirectorio pruebas2, con el parámetro “verbose” para ver las acciones que se están realizando.

comando cp
 

  • Ejercicio 2: Copiar archivo a otro directorio y renombrarlo

 
Copiamos el archivo hola.txt, situado dentro del directorio dir1, al directorio dir2, y al mismo tiempo renombrándolo como hey.txt:

cp -vr dir1/hola.txt dir2/hey.txt

comando cp-vr directorio
 

 

  • Ejercicio 3: Copiar todos los archivos con extensión .txt de un directorio a otro

Copiaremos con los parámetros recursivo y verbose, todos los archivos con extensión .txt, a otro directorio

cp -vr dir1/*.txt dir2/dir3

copiar archivos a directorio Linux
 

 

  • Ejercicio 4: Copiar un directorio y sus contenidos a otro directorio

Copiaremos el directorio dir2/dir3 al directorio actual. Lo haremos con:

cp -vr dir2/dir3 .

 
De nuevo con los parámetros verbose y recursivo. Y posteriormente realizaremos un ls para comprobar que el directorio ha sido copiado:

copiar directorio Linux a directorio
 

 

Comprobar Integridad de archivos copiados en Linux (comando md5sum)

 
Ahora nos queda comprobar la integridad de los archivos copiados en Linux. Lo podemos hacer con el comando cat, con el que visualizaremos el contenido del archivo, o con el comando md5sum, con el cual podremos comparar la suma de comprobación entre el archivo original y el archivo copiado (si la copia del archivo se ha realizado correctamente podremos ver que la cifra del checksum es la misma):

comprobar integridad corrupcion archivos linux

 

 

Comando mv

 

Con el comando mv podremos mover archivos de un directorio a otro en Linux. También podremos renombrar dichos archivos al moverlos con mv.
 

 

  • Ejercicio 1: Mover archivo a otro directorio y renombrar dicho archivo en el proceso

mv dir1/hola.txt dir3/dir4/hello.txt

 
Hemos movido el archivo hola.txt, situado dentro del directorio dir1, al directorio dir3/dir4, y cambiándole el nombre al archivo por hello.txt

comando mv mover archivos linux
 

 

  • Ejercicio 2: Mover directorio y renombrarlo en el proceso

Moveremos el directorio dir5 y lo renombraremos como dirnuevo

mv dir5 dirnuevo

 
después hacemos un ls para comprobar que el directorio dirnuevo contiene los directorios y/o archivos que contenía antes de moverlo.

comando mv - mover directorio y renombrar
 

 

Comando ln para crear enlaces entre archivos y directorios en Linux

 
Podemos crear enlaces de 2 tipos: enlace duro (en los que un mismo inodo es apuntado por dos nombres diferentes) y enlace blando o simbólico (que es más parecido a un acceso directo).

Los enlaces duros son creados por defecto.
 
Por cierto, un inodo es una estructura de datos (como una tabla que contiene información sobre un fichero).
 

 

  • Ejercicio 1: Crear un enlace (duro)

Primero listamos el contenido del directorio dir1/dir2/dir3 y comprobamos que en su interior está el archivo llamado archivo3.txt.

Y después generamos un enlace a ese archivo, y lo situamos en el directorio actual:

ln dir1/dir2/dir3/archivo3.txt enlacearchivo

 

Posteriormente con cat nombrearchivo, comprobamos que podemos visualizar el contenido del archivo visualizándolo desde el enlace recién creado.

comando ln linux - crear enlaces
 

También hacemos un stat a ese enlace, y comprobamos el resultado:

stat enlace duro

 

Y lo contrastamos haciendo un stat sobre el archivo original:

stat archivoenlace duro
 
Como se puede ver, ambos utilizan el mismo inodo, y el número de enlaces es 2.
 

 

Los enlaces blandos se crean utilizando el parámetro -s
 

Creamos un enlace blando al archivo anterior:

ln -s dir1/dir2/dir3/archivo3.txt enlaceblando

 
Y realizamos de nuevo un stat para comprobar los resultados:

enlace blando linux
 
Podemos ver que se ha creado un nuevo inodo, y que el número de enlaces ahora es 1.
 

 

Y este ha sido el resumen de comandos Linux para realizar operaciones con archivos en Linux. Esperamos que estas explicaciones y los ejercicios de ejemplo puedan servir de ayuda para trabajar con nuestros archivos en Linux.