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 | ||
man | Páginas de manual | Permite consultar páginas de manual disponibles, instaladas, en el sistema de comandos o ficheros |
info | Muestra ficheros de ayuda en una terminal | Permite consultar ficheros de ayuda desde una terminal de forma interactiva. |
help | Muestra ayuda para comandos internos (builtin) | Muestra breves resúmenes sobre comandos del sistema. |
Gestión de ficheros y directorios | ||
ls | Lista ficheros o directorios | Muestra información sobre ficheros, por defecto el directorio actual o directorio de trabajo. |
cd | Cambia de directorio | Cambia el directorio de trabajo o actual del shell |
cat | Concatena ficheros en la salida estándar | Muestra el contenido de ficheros o de la entrada estándar en la salida estándar (pantalla). |
more | Muestra contenido de entrada estándar o fichero pantalla a pantalla | Muestra 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. |
less | Muestra contenido de entrada estándar o fichero pantalla a pantalla | Muestra 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. |
nano | Editor de ficheros de texto plano | Editor de texto simple y fácil de usar para editar ficheros de texto plano desde una shell. |
cp | Copia ficheros o directorios | Copia ficheros y directorios en sistemas de ficheros desde su localización de origen a la ruta de destino que se proporcione |
mkdir | Crea directorios | Crea directorios en el sistema de ficheros. |
rmdir | Elimina directorios vacíos | Elimina directorios solo si están vacíos. |
mv | Mueve ficheros o directorios | Mueve (o renombra) ficheros. |
rm | Elimina ficheros o directorios completos | Elimina ficheros o directorios, con la opción adecuada, aunque no estén vacíos. |
tail | Muestra las últimas líneas de entrada estándar o fichero | Muestra la última parte de ficheros o de la entrada estándar por la salida estándar (pantalla). Por defecto las 10 últimas líneas. |
head | Muestra las primeras líneas de entrada estándar o fichero | Muestra la primera parte de ficheros o de la entrada estándar por la salida estándar (pantalla). Por defecto las 10 primeras líneas. |
grep | Busca patrones en entrada estándar o fichero | Busca patrones en ficheros o entrada estándar y muestra aquellas líneas en las que haya coincidencias, en las que aparezca dicho patrón. |
find | Busca por el sistema de ficheros | Busca ficheros en una jerarquía de directorios. |
echo | Muestra 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.
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.
Páginas: 12