bash CAP. 0:
Es necesario que conozcas como se organizan los archivos y directorios en el sistema y que aprendas a utilizar la terminal.
Al menos debes conocer los comandos básicos para poder moverte por la estructura de directorios y así poder mover, copiar, borrar y ejecutar archivos, crear directorios, actualizar el sistema, etc...
¿Qué debo aprender estudiando este capítulo?:
Desplazarme por la estructura de directorios.
Listar el contenido de un determinado directorio.
Crear y borrar directorios.
Copiar, mover y eliminar archivos y directorios.
Estructura de Directorios de GNU/Linux:
La estructura de directorios de GNU/linux comienza a partir de la raíz del sistema "/"
A partir de allí, el sistema tiene varios directorios, cada uno de ellos almacena información específica sobre determinadas cosas.
Uno de esos directorios es /home.
En él hay un directorio para cada usuario del sistema.
Dentro del directorio de cada usuario, se guardan sus archivos y directorios.
Por lo tanto, en mi caso, como mi usuario es "flavio", todos mis archivos se encuentran en /home/flavio.
/home/flavio es el home de mi usuario.
A partir de /home/flavio, encontraré:
Documentos (/home/flavio/Documentos),
Descargas (/home/flavio/Descargas),
etc . . .
La estructura es así:
|--home
|--flavio
|--Documentos
|--Descargas
|--etc . . .
|--etc . . .
|--etc . . .
Puedes ver toda la estructura de directorios escribiendo: tree /
O si quieres verla a partir de /home: tree /home/
Nota:
tree es un programa, puede que no lo tengas instalado.
Puedes instalarlo mediante:
sudo apt-get install tree (en caso de tener debian o ubuntu).
sudo yum install tree (en caso de tener fedora).
La terminal:
Es una interfase del sistema operativo GNU/Linux que nos permite utilizar el interprete de comandos llamado bash (bourne-again shell).
El interprete de comandos ejecuta tareas del sistema operativo según los comandos que el usuario escribe en la terminal.
bash cuenta con un manual donde explica el uso de cada comando.
Puedes consultar lo que hace cada comando escribiendo man y el nombre del comando (man de manual y el comando a consultar).
Bash es el interprete de comandos de linux. Cuando abres la terminal, abres el interprete de bash.
Esto quiere decir que la terminal responderá a cualquier comando de bash pues sabe interpretarlo.
Nota:
Si tu máquina no tiene el manual de bash, tendrás que consultarlo en internet.
Uso básico de bash y la terminal:
Cuando abres la terminal, ella se posiciona en el home de tu usuario.
Por ejemplo, en mi caso, mi usuario se llama "flavio", por lo tanto, al abrir la terminal, ella se posicionará en /home/flavio
Comandos básicos de bash:
ls = Lista el contenido del directorio donde estamos ubicados.
ls -a = Lista todo el contenido del directorio, incluso los archivos y directorios ocultos. (Los archivos y directorios ocultos son los que comienzan con un punto).
ls -l = Lista el contenido, mostrando los permisos de cada archivo y directoro. (También puedes combinar los parámetros, por ejemplo, puedes hacer ls -la).
clear = limpia la terminal.
cd /directoriodestino = Te lleva a un determinado directorio.
cd .. = Sube un nivel en la jerarquía de directorios.
cd = Te lleva al directorio home.
pwd = Te muestra el directorio en que te encuentras.
rm archivo = Borra un archivo.
rm -r directorio = Borra un directorio y todo su contenido.
cp archivo-origen directorio-destino = Copia un archivo en un determinado directorio.
cp -r directorio-origen directorio-destino = Copia un directorio y todo su contenido en el directorio destino.
mv archivo-origen directorio-destino = Mueve un archivo a un determinado directorio.
mkdir nombre-directorio = Crea un Directorio con un determinado nombre.
Nota:
Si te fijas, a veces, luego del comando, se utiliza un guión con una letra que hace que varíe el comportamiento del comando.
Estos son los llamados “parámetros” y sirven para especificar como debe ejecutarse.
Si lees en el manual de linux sobre un determinado comando, verás que parámetros acepta ese comando y para que sirve cada uno de ellos.
Para ver el manual del comando ls, escribes: man ls).
En la terminal, tienes la capacidad de utilizar muchísimos comandos para diferentes cosas, vas a aprenderlos en la medida que investigues y practiques, pero al final solo utilizarás unos pocos, los más necesarios según el uso cotidiano que hagas de tu máquina.
Pequeño ejemplo de uso de la terminal:
Al abrir la terminal quedo posicionado en /home/flavio.
Si quiero moverme al directorio Descargas, hago: cd Descargas
Para asegurarme de que estoy dentro de /home/flavio/Descargas, escribo: pwd
Eso debe devolverme: /home/flavio/Descargas
Ahora que estoy en Descargas, si quiero ver que directorios y archivos hay allí, escribo: ls
ls me devuelve la lista de directorios y archivos que hay en el lugar donde le pedí que mire. (Como no le especifiqué dónde, se fija en el directorio en donde me encuentro ubicado).
Si quiero crear un directorio, escribo: mkdir midirectorio.
Si vuelvo a hacer ls, debe aparecer midirectorio en la lista.
Si quiero borrar ese directorio, hago: rm -r midirectorio.
Ahora si vuelvo a hacer ls, midirectorio no debe aparecer en la lista.
Si quiero salir del directorio Descargas hago: cd ..
Eso sube un nivel en la jerarquía de directorios, por lo tanto me posiciona de nuevo en /home/flavio.
Nota:
Todos los comandos son abreviaciones del inglés según su función, por ejemplo:
ls = list (lista)
cd = Change Directory (Cambiar de Directorio)
mkdir = Make Directory (Hacer Directorio)
Para linux, cd y CD son cosas diferentes, cd es un comando de bash, CD no existe.
Siempre debes escribir correctamente los comandos, respetando mayúsculas y minúsculas y los espacios entre parámetros y otros datos que puedas pasarle a cada comando.
La forma en que escribimos los comandos y sus parámetros y datos extras es lo que llamamos sintaxis.
Si escribes mal una orden, se produce un error de sintaxis y el comando no se ejecuta.
Siempre que cometas un error de sintaxis, linux te lo mostrará en la terminal.
Si no cometes errores y el comando logra ejecutarse sin problemas, en la terminal no aparecen datos de este tipo.
Es muy común que se cometan este tipo de errores, por ejemplo, querer ir a Documentos y escribir documentos. En este caso, si no existe un directorio documentos (en minúsculas), bash lanzará un error.
¿Qué debo aprender estudiando este capítulo?:
Desplazarme por la estructura de directorios.
Listar el contenido de un determinado directorio.
Crear y borrar directorios.
Copiar, mover y eliminar archivos y directorios.