educación, informática y demás

Comandos básicos y de gestión de ficheros

Al igual que en otros sistemas operativos, como Microsoft Windows, tenemos disponibles una serie de comandos básicos y 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 y directorios, así como en comandos básicos que utilizaremos en nuestro día a día de trabajo con la shell.

Todo el material al respecto está disponible en los contenidos generales proporcionados en la página principal. En este apartado vamos a practicar un poco con estos comandos.

Actividades de comandos

En la página de actividades de comandos básicos y de gestión de ficheros y directorios puedes encontrar varias actividades con multitud de ejercicios resueltos sobre comandos básicos y de gestión de ficheros.

Repaso a los contenidos

Consultar ayuda
manPáginas de manualPermite consultar páginas de manual disponibles, instaladas, en el sistema de comandos o ficheros
infoMuestra ficheros de ayuda en una terminalPermite consultar ficheros de ayuda desde una terminal de forma interactiva.
helpMuestra ayuda para comandos internos (builtin)Muestra breves resúmenes sobre comandos del sistema.
Gestión de ficheros y directorios
lsLista ficheros o directoriosMuestra información sobre ficheros, por defecto el directorio actual o directorio de trabajo.
cdCambia de directorioCambia el directorio de trabajo o actual del shell
catConcatena ficheros en la salida estándarMuestra el contenido de ficheros o de la entrada estándar en la salida estándar (pantalla).
moreMuestra contenido de entrada estándar o fichero pantalla a pantallaMuestra el contenido de un fichero o de la entrada estándar, permitiendo movernos por él hacia adelante pantalla a pantalla o línea a línea.
lessMuestra contenido de entrada estándar o fichero pantalla a pantallaMuestra el contenido de un fichero o de la entrada estándar, permitiendo movernos por él hacia adelante y atrás pantalla a pantalla o línea a línea.
nanoEditor de ficheros de texto planoEditor de texto simple y fácil de usar para editar ficheros de texto plano desde una shell.
cpCopia ficheros o directoriosCopia ficheros y directorios en sistemas de ficheros desde su localización de origen a la ruta de destino que se proporcione
mkdirCrea directoriosCrea directorios en el sistema de ficheros.
rmdirElimina directorios vacíosElimina directorios solo si están vacíos.
mvMueve ficheros o directoriosMueve (o renombra) ficheros.
rmElimina ficheros o directorios completosElimina ficheros o directorios, con la opción adecuada, aunque no estén vacíos.
tailMuestra las últimas líneas de entrada estándar o ficheroMuestra la última parte de ficheros o de la entrada estándar por la salida estándar (pantalla). Por defecto las 10 últimas líneas.
headMuestra las primeras líneas de entrada estándar o ficheroMuestra la primera parte de ficheros o de la entrada estándar por la salida estándar (pantalla). Por defecto las 10 primeras líneas.
grepBusca patrones en entrada estándar o ficheroBusca patrones en ficheros o entrada estándar y muestra aquellas líneas en las que haya coincidencias, en las que aparezca dicho patrón.
findBusca por el sistema de ficherosBusca ficheros en una jerarquía de directorios.
echoMuestra un mensaje en salida estándar (pantalla)Muestra una cadena de texto en la salida estándar.

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.