En este artículo:
–> 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 …
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
Y el resultado del comando du -sh directorio, que mostrará solamente el peso del 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)
–> 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.
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.
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
Copiaremos con los parámetros recursivo y verbose, todos los archivos con extensión .txt, a otro directorio
cp -vr dir1/*.txt dir2/dir3
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:
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):
Con el comando mv podremos mover archivos de un directorio a otro en Linux. También podremos renombrar dichos archivos al moverlos con mv.
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
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.
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).
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.
También hacemos un stat a ese enlace, y comprobamos el resultado:
Y lo contrastamos haciendo un stat sobre el archivo original:
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:
Podemos ver que se ha creado un nuevo inodo, y que el número de enlaces ahora es 1.