IMPORTANTE - Nota publicada en la revista Tuxinfo Número 70.
Podemos definir como Bash a un interprete de comandos entre nosotros
y nuestra PC.
Siempre que tengamos que realizar cualquier tipo de operación en una
consola de texto acudiremos a el para realizarla.
Hay Varios interpretadores de comandos pero este es el mas utilizado.
Un Poco de Historia
Por aquellos tiempos en los que Dennis Ritchie y Ken Thompson de AT&T
diseñaban UNIX, fue su meta crear un medio para que las personas
interactuaran con el sistema de una forma mas amena y estándar.
Los sistemas de entonces venían con
intérpretes de comandos, que aceptaban comandos de los usuarios y
los interpretaban para que los utilizara la máquina.
Pero Ritchie y Thompson querían más,
algo que ofreciera más que los intérpretes de comandos del momento.
Es por eso que nació la Bourne shell (Bash), creada por S.R.
Bourne. Desde la creación de la shell de Bourne se han desarrollado
otras shells, tales como la C shell (csh) y la Korn shell (ksh).
Cuando la Free Software Foundation
buscaba una shell sin patentes, los desarrolladores empezaron a
trabajar en el lenguaje de la Bourne shell y en características de
otras shells del momento.
Por lo que surgió
Bash. (Bourne Again Shell)
Seguro que ya vimos en varias
oportunidades mensajes de error como el siguiente bash:
command not found.
Para lo cual tenemos que obtener
muchas veces ayuda para el uso del mismo.
Comenzando a Usarlo.
Uso del Man.
El comando Man nos da la opción
de tener al alcance de nuestra mano los manuales de todos y cada uno
de los comandos que podemos utilizar en Bash.
La forma de utilizarlo es muy simple.
O bien podemos guardar en un archivo
de texto el manual completo en este caso de bash con el siguiente
comando.
Con este comando le pedimos que cree
un archivo de texto y que lo coloque en donde estamos posados ahora
directamente en el /home/linux
Con el comando antes descriptos
podemos consultar el manual o generar un archivo de texto de forma
totalmente simple no solo de bash, también
de otros comandos. Mas adelante explicados.
Lo primero en ejecutarse es el logueo,
el cual se hace previo una verificación en
el sistema.
Donde nos pedirá el login y la clave,
estos dos archivos lo encontramos ya definidos en:
/home/usuario
/etc/passwd o /etc/shadow
/home/usuario
Este es el creado en forma directa cuando ingresamos un usuario en el
sistema.
La creación del mismo se realiza de forma
automática con el comando
# adduser usuario # useradd usuario
/etc/passwd o /etc/shadow
Estos archivos de configuración, passwd y
shadow son simplemente archivos donde se guarda las claves de los
usuarios.
Passwd no es mas utilizado en los sistemas actuales por su baja
seguridad que bastaba con editar este archivo y veremos en forma
transparente el contenido del mismo.
Shadow cumple la misma función que el
anterior pero la diferencia radica en su encriptación.
Por lo que no veremos la clave en forma transparente
al contrario veremos simbología.
La forma de asignarle a un usuario
su clave es simple y en todos los casos se utiliza el mismo comando.
# passwd usuario
El sistema nos pedirá que ingresemos la
clave y luego que la confirmemos.
Sigamos.
Un intérprete
interactivo de ingreso se ejecuta después de una entrada correcta al
sistema, mediante /bin/login, leyendo el fichero /etc/shadow. El
intérprete invocado lee normalmente durante el arranque /etc/profile
y su equivalente privado, ~/.bash_profile
Una ves
producido el login el interprete de comandos cd etc
bash esta
operativo y listo para realizar nuestros pedidos.
Además
el sistema bien podría ingresar
como xterm o konsole, dentro de un entorno gráfico. Este tipo de
invocación del intérprete normalmente copia el entorno padre y
luego lee en el fichero ~/.bashrc del usuario las instrucciones de
configuración adicionales para el arranque.
A los
archivos estándar le añadimos también /etc/bashrc, que es llamado
desde el ~/.bashrc del usuario para establecer los valores del
sistema de inicialización de intérpretes de no ingreso.
Podremos tener mas información ingresando
el siguiente comando.
#info bash
/etc/profile
Ahora vamos a
dar un ejemplo de un archivo básico
/etc/profile básico. Este archivo comienza estableciendo ciertas
funciones auxiliares y algunos parámetros básicos. Especifica
varios parámetros del historial de bash y, con lo que a razones de
seguridad se refiere, desactiva el almacenamiento de un fichero de
historial permanente para root. Además
establece un símbolo del sistema por defecto. Entonces
invoca a pequeños guiones de propósito único en el directorio
/etc/profile.d para proporcionar una mayor inicialización.
Por ejemplo
tenemos el archivo complete.bash , el cual es donde se guardan
la configuraciones generales de nuestro
bash.
MUY UTIL.
Bash guarda en el directorio de cada usuario un historial de los
comandos tipeados.
El mismo se llama .bash_history
Siendo un archivo de texto con lo que se podrá
editar su contenido y ver su contenido.
Algunos comandos muy útiles.
Varias veces nos encontramos con la necesidad de realizar una
operación de permisos, modificación de
archivos de sistema o cualquier operación que pueda requerir la
participación directa del Root.
Para ello tenemos como primera medida ser de nuestro conocimiento la
clave del mismo, con lo cual estando logueados como usuarios comunes
podemos cambiar y ser root con el simple comando su.
linux@linux
>$ su
Passwd: ********
linux:/home/linux #
Además
podemos tener la necesidad de ejecutar algún
tipo de aplicación en forma
de root, para lo cual bastara con tipear:
linux@linux
>$ su -c mc
Con su -c
y seguido de la aplicación como en este caso Midnight Commander
, entraremos en el como root. (operación aplicable para cualquier
comando)
ALGUNOS COMANDOS BASICOS
$ uname -a
Con esta orden podremos ver todo lo relacionado con el Kernel del
sistema, su versión de Linux, distribución, etc.
$ su usuario cualquiera
Con este comando podremos cambiar por ejemplo de pepe a root previo a
tipear su contraseña de root par poder ingresar al login de root.
$ ls -l
Podremos ver el directorio en el cual estamos parado en el sistema.
(siempre que se logee algún usuario estará parado en /home/usuario
determinado)
Solo podremos ver su contenido.
Veremos con este comando un completo informe del directorio con su
respectivo dueño, permisos, fecha de creación del directorio y por
supuesto nombre del directorio.
Forma de reconocer si estamos enfrente a un directorio, archivo, o
documento. Es por el color.
Siendo:
Azul un directorio.
Blanco un archivo.
Amarillo dispositivos.
Celeste link o enlace.
$ mkdir
Crear un directorio en su /home.
$ rmdir
Borrar un directorio.
$ cd
Nos da la posibilidad de volver siempre a /home/usuario sin importar
en que directorio estemos ahora.
Si tipearamos cd / pasaríamos a estar directamente en la barra /
(donde parten todos los directorios).
$ touch
Crea archivos vacíos.
$ cp origen y destino
Copia un archivo partiendo siempre parado en el archivo y tipeando
totalmente el destino en donde se alojara el archivo.
$ mv
Este comando es utilizado igual que en anterior con la única
diferencia que solo con este se podrá mover un archivo de un
directorio a otro.
$ rename
Sirve para renombrar un archivo.
$ ln
Este comando es solo utilizado para crear un acceso directo.
CONCLUSION.
No pretendemos con este articulo dar una clase de programación
en Bash solo brindar conocimientos generales de el y explicar algunos
comandos muy útiles.
Hay que tener en cuenta la utilización de
los manuales man los mismos son una herramienta imprescindibles
en el mundo de Linux.
Ariel M. Corgatelli
@arielmcorg
No hay comentarios.:
Publicar un comentario