¿Qué es Bash?
Es un shell, o intérprete de lenguaje de comandos, para el sistema operativo GNU. Su nombre es un acrónimo de "Bourne-Again SHell", un juego de palabras sobre Stephen Bourne, el autor del antepasado directo del actual shell de Unix sh, que apareció en la séptima edición de la versión de Bell Labs Research de Unix.
El shell también es conocido como terminal; una interfaz entre el usuario y el propio sistema operativo. Podemos acceder a él a través del menú o una combinación teclas. Linux proporciona por defecto seis terminales de este tipo, de Control+Alt+F1 a Control+Alt+F6. Si queremos volver al modo gráfico lo hacemos con Alt+F7 (estos atajos pueden variar según la distribución).
Es importante destacar que el sistema operativo GNU proporciona otros shell sin embargo, Bash es el shell por defecto. Este, al igual que otros programas de GNU, es bastante portátil. Actualmente funciona en casi todas las versiones de Unix y otros sistemas operativos como Mac OS X Tiger. También se ha llevado a Microsoft Windows por el proyecto Cygwin.
Ahora bien, cuando desde una distribución Linux abrimos o activamos un terminal se indica que estamos en nuestro home mediante el signo ~.Veremos en pantalla algo similar a:
El home es el sitio donde se pueden aplicar inicialmente las tareas.
Un par de comandos que nos brindan ayuda o referencias en Bash son man
e
info
, ideales cuando se tienen dudas acerca de uno o varios comandos.
-
man
muestra la información del manual de bash en el sistema sobre el comando o página indicado. -
info
permite consultar la información que se almacena en archivos INFO (archivos de formato Texinfo) de algún comando o software.
Para utilizar estos comandos solo es necesario escribirlos seguido de un espacio
y la palabra de la cual tenemos duda. Por ejemplo si tecleamos info bash
o
man bash
, tenemos la posibilidad de leer un texto sobre lo que es bash y sus
características principales.
Crear, eliminar y editar carpetas o directorios #
Entre las tareas que podemos realizar con bash están crear, eliminar y editar carpetas o directorios. Algunos de los comandos asociados a estas son:
pwd
nos indica el directorio en el que estamos actualmente. Si probamos este
comando en el home obtendremos algo similar a
ls
nos permite ver la lista de los directorios, carpetas y archivos contenidos
en el sitio o carpeta en la que estemos. ls -a
nos muestra todos los archivos
incluyendo los ocultos.
Si queremos movernos por las carpetas el comando cd
seguido de la dirección a
la que se desea ir nos permitirá realizar esta tarea. De modo que cd /
te
llevara a la raíz, cd ~
al home ( cd
solo hace lo mismo), cd /usr/doc
te
lleva al directorio de documentación del sistema.
Si quieres crear una carpeta (o varias) lo puedes hacer en tu home, usando
mkdir
y el nombre de la carpeta que quieres crear, luego entra en ella con cd.
Para borrar una carpeta escribe rmdir
seguido por un espacio y el nombre, pero
la carpeta tiene que estar vacía y contar con permiso para borrarla.
Mover, renombrar y eliminar archivos o ficheros #
El comando mv
, permite dos operaciones. Cambiar un fichero de sitio, para lo
cual es necesario que se tenga permiso de escritura sobre ese fichero y el lugar
de destino. Se utiliza simplemente indicando mv nombre_origen ruta_destino.
Con este comando también es posible mover directorios, o todos los ficheros de un directorio.
La otra operación que se puede realizar con mv
es el cambio de nombre, así
basta con indicar el nombre de un fichero o directorio, y luego su nuevo nombre.
Los comandos cat, more y less sirven para mostrar el contenido de ficheros de texto.
El comando rm
se utiliza para borrar ficheros. Es importante destacar que
estos ficheros no se envían a una papelera así que NO SE PUEDEN RECUPERAR UNA
VEZ BORRADOS.
Otro comando útil es cp
sirve para copiar ficheros. En el proceso de copia
intervienen tres elementos: lo que se copia, la ruta de origen y la ruta de
destino. La ruta de origen se especifica junto con lo que se quiere copiar.
De la misma manera que se copian, se borran o se mueven ficheros, se puede hacer lo mismo con los directorios. Hay que tener en cuenta que un directorio puede contener muchos ficheros y, además, otros directorios que, a su vez, pueden contener más ficheros y directorios. Por tanto, si se quiere copiar un fichero completo, con todo lo que tiene dentro, hay que indicarlo con la opción -R. A esto último se suele llamar “copiar de forma recursiva”.
Otro comando que puede ser util es rm -rf nombre_del_directorio
, borra el
directorio y todo lo que contiene (lo que se elimina no se puede recuperar).
Comodines #
Recordemos que Bash es el interprete de comandos, el programa que intenta comprender lo que tu dices y lo ejecuta, este nos permite utilizar comodines a la hora de escribir un nombre de fichero o directorio. Además la tecla tab permite completar rutas o algún comando a la hora de escribir. Por ejemplo, escribe /ho y pulsa tab verás cómo aparece /home/).
Los principales comodines son *, ? y los corchetes [].
-
El asterisco sustituye a cualquier grupo de letras.
-
El signo de interrogación ? sólo vale para una letra.
-
Los corchetes valen por un conjunto definido de letras.
Debes tener en cuenta que son muy importantes las mayúsculas y la minúsculas al momento de escribir tus comandos, porque el intérprete es sensible a ellas. Esto trae como consecuencia la posibilidad de tener dos ficheros que se llamen igual, por ejemplo proyectos y Proyectos, uno tiene mayúsculas y otro no.
En resumén, tenemos que Bash nos permite realizar diversas tareas asociadas a directorio y ficheros. Existen distintos comandos que pueden ser bastante útiles y si tenemos cualquier duda podremos recurrir rápidamente a un manual o documento de ayuda.
Puedes consultar más de los comandos en https://ss64.com/bash/index.html
Referencias #
Manual Práctico de Linux con ejercicios por Luis José Sánchez González. Manual de Linux por Álvaro Alea Fdz. EcuRed-Terminal EcuRed-Bash