educatica!

educación, informática y demás

Comandos de gestión de ficheros

Al igual que en otros sistemas operativos, como Microsoft Windows, tenemos disponibles una serie de comandos de gestión de sistemas de ficheros. Algunos de ellos son más avanzados, puesto que tocan algunos aspectos, como los permisos, que no son sencillos a primera vista.

Así que vamos a centrarnos en los comandos más simples de gestión de ficheros.

Comando cd

El comando cd nos permitirá cambiar el directorio actual o directorio de trabajo.

Si no se le pasa parámetro, el directorio cd cambia el directorio actual al directorio personal del usuario actual.

Si se le pasa parámetro, espera la ruta del nuevo directorio actual, ya sea relativa o absoluta.

Cambiando al directorio raíz con una ruta absoluta.
Cambiando al directorio /etc usando una ruta relativa

El caracter ~ es un caracter especial, que tiene importancia en bash. Se trata de una variable que bash sustituye por la ruta del directorio personal del usuario actual. Es decir, podemos utilizarla donde queramos, como parámetro de cualquier comando.

Comando pwd

Print Working Directory. Muestra la ruta del directorio actual o de trabajo.

Cambia de directorio al directorio raíz utilizando rutas relativas.

Comando ls

Al ejecutar ls sin pasarle parámetros mostrará el contenido del directorio actual, que en este caso es el directorio raíz.

Vamos a mostrar información extendida de los ficheros, para ello debemos pasarle como parámetro la opción -l al comando ls.

Vamos a mostrar ahora información extenedida de ficheros, pero además mostrando la información de tamaños «comprensibles por humanos«.

Vamos a mostrar información de un solo fichero, en concreto del fichero /etc/passwd. Nos gustaría consultar información extendida del fichero así como información de ocupación en formato comprensible por humanos.

Ahora vamos a mostrar información de un directorio concreto, no de su contenido. Nos gustaría consultar información de permisos, propietario y grupo del directorio /etc.

Si usamos la opción -l y pasamos la ruta de un directorio, el comando ls mostrará información de el contenido del directorio. Pero nosotros queremos consultar inforamción del directorio en sí, del continente, no del contenido.

Si consultamos la ayuda, llegaremos a la opción -d

Así que tendremos que utilizar la opción -d.

Vamos a mostrar el directorio que, por defecto, contiene todos los directorios personales de los usuarios del sistema. Este directorio es /home. Nos gustaría mostrar información extendida de propietario, grupo y permisos.

Vamos a cambiarnos a nuestro directorio personal para seguir trabajando.

Comando mkdir

Crea uno o más directorios. Aquellos cuya ruta se pase por parámetro.

En nuestro directorio personal, vamos a crear el directorio castelar.

Creamos el directorio con el comando mkdir. Si queremos comprobar si existe podemos utilizar ls, pero ojo! si no utilizamos la opción -d nos mostrará el contenido, que en este caso está vacío. O bien mostramos el contenido del directorio que lo contiene o utilizamos la opción -d.

Ahora vamos a crear cuatro directorios dentro de castelar: smr, asir, dam y daw.

El comando anterior funciona perfectamente. Sin embargo, hemos tenido que escribir varias veces una parte de la ruta que se repite en todos los casos: castelar. Hubiera estado bien poder evitar escribir tantas veces lo mismo. Para ello, bash nos proporciona una opción …

Crea el directorio backups dentro del directorio 2019 dentro del directorio smr que está dentro del directorio castelar que está dentro de tu directorio personal. Usa rutas absolutas.

Lo primero que deberíamos determinar es el comando, que en este caso es sencillo. ¿Qué comando sirve para crear directorios? mkdir. Ahora la ruta absoluta: /home/alumno/castelar/smr/2019/backups.

El problema viene porque dentro del directorio sm no existe el directorio 2019, por tanto el sistema no puede crear el directorio backups dentro de un directorio que no existe.

Las soluciones son dos, bien crear a mano el directorio 2019 y después el directorio backups; o bien utilizar la opción -p del comando mkdir, que creará todos los directorios padre que no existan de la ruta del directorio a crear.

Comando rmdir

Sirve para borrar directorios, solo si están vacíos.

Si el directorio no está vacío, no se puede borrar con rmdir.

Para borrar un directorio que no esté vacío, tenemos que usar el comando rm seguido de la opción -R.

El comando rm borra ficheros, al pasarle la opción -R le estamos diciendo que borre el directorio y todo su contenido, ficheros y subdirectorios.

Comando rm

Sirve para borrar ficheros y directorios por completo.

Comando echo

El comando echo muestra un mensaje en pantalla.

Redirecciones

Al igual que en otros sistemas operativos, en bash también podemos utilizar las redirecciones para crear ficheros.

  • Redirección simple, que sobrescribe el fichero si existe.
  • Redirección doble que añade al final del fichero la información, si existe.

Crea un fichero cuya ruta sea saludo.txt cuyo contenido sea tu nombre y apellidos.

Podemos mostrar el contenido de un fichero de texto plano en pantalla con el comando cat.

Añade al fichero la fecha y hora actual. Para ello utiliza el comando date.

Comando cp

El comando cp se utiliza para copiar ficheros o directorios.

Crea de nuevo los directorios smr, asir, dam y daw dentro del directorio castelar.

Copia el fichero saludo.txt al directorio smr que está dentro de castelar.

Copia el fichero saludo.txt al directorio asir que está dentro de castelar, con el nuevo nombre leeme.txt

Copia el directorio castelar y todo su contenido al directorio backup que estará dentro de tu directorio actual.

Vamos a mostrar el contenido del directorio backup de forma recursiva.

Tema creado por Anders Norén