Trabajando en la línea de comando

Objetivos

  • Utilización de comandos de shell individuales y secuencias de líneas de comandos para realizar tareas básicas.
  • Usar y modificar el entorno de shell incluyendo la definición, las referencias y exportar variables de entorno.
  • Comandos GNU y UNIX
  • Usar y editar la historia de comandos
  • Invocar comandos dentro y fuera de la ruta predefinida

Términos y Utilidades

  • .
  • echo
  • exec
  • pwd
  • unset
  • uname
  • bash
  • env
  • export
  • set
  • man
  • history

Introducción a Bash

El interprete Bash fue escrito para el proyecto GNU y es el intérprete de comandos por defecto en la mayoría de las distribuciones de Linux. Su nombre es un acrónimo de Bourne-Again Shell , haciendo un juego de palabras (Bourne-Again significa renacimiento) sobre el Bourne shell (sh), que fue uno de los primeros intérpretes importantes de Unix.

¿Que shell estoy ejecutando?

El siguiente comando nos indica que shell estamos ejecutando:

$ echo $0

-bash

Comandos Internos

Los comandos internos, conocidos en ingles, como built-in commands, son los comandos que forman parte del programa Bash. En contraposición de los comandos externos, a los cuales Bash debe invocar ya que no forman parte de el.

Algunos de ellos nos sirven para realizar las siguientes tareas:

Cambiar el directorio de trabajo: El comando cd cambia el directorio actual en el que se esta trabajando.

Mostrar el directorio de trabajo: El comando pwd muestra el directorio en el cual se esta trabajando.

Mostrar una línea de texto: El comando echo muestra en pantalla el texto que se ingrese, por ejemplo, escribiendo echo Hola, el sistema muestra la palabra Hola en pantalla.

Ejecutar un programa: El comando exec ejecuta un programa externo que se especifique:

Ejemplo

exec programa.sh

En la mayoría de los casos es mas fácil escribir directamente el nombre el programa que se desea ejecutar. El comando exec tiene la particularidad de que en lugar de crear un nuevo proceso para ejecutar el programa en paralelo al shell, el programa reemplaza al shell. Una vez terminando el nuevo proceso, también se termina el shell.

Cronometrar una operación: El comando time nos indica cuando tarda el comando subsiguiente en utilizarse.

Ejemplo

time pwd

Este comando nos indica cuanto tiempo tardo en ejecutarse el comando pwd.

Fijar Opciones: En su forma mas básica, set muestra una amplio rango de opciones relacionadas con la operatoria de bash. Si bien tienen un formato parecido a las variables de ambiente, no son la misma cosa.

Terminar la sesión: Exit y logout se usan para acabar con las sesiones de shell.

Comando history

El comando history mantiene un registro de todos los comandos que se ejecutan. Para reutilizar un comando previamente utilizado se puede navegar a través de la lista del historial de comandos presionando la tecla arriba del cursor, o abajo si uno se pasa del comando que necesitaba ejecutar. También se puede utilizar Ctrl+P y Ctrl+N, como alternativas.

Todas la entradas del comando history de almacenan en ~/.bash_history.

Búsqueda reversa de comandos: Presionando Ctrl+R se inicia una búsqueda entre los comandos de la historia en base al texto que se vaya ingresando en la búsqueda. Ctrl+S inicia la búsqueda hacia adelante y Ctrl+G termina la búsqueda.

Moverse dentro de la línea: Ctrl+A y Ctrl+E nos mueven al principio y al final de la línea, respectivamente. El cursor derecho e izquierdo se mueven un carácter a la vez, Ctrl+B y Ctrl+F son alternativas a esto. Presionando Ctrl mas el cursor hacia la derecha o hacia la izquierda nos mueve de a una palabra por vez, la alternativa a esto es presionar Esc seguido de la letra B o F.

Borrar Texto: Ctrl+D borra el carácter que se encuentra debajo del cursor, mientras que la tecla de espacio atrás borra el carácter anterior al cursor. Ctrl+K borra todo el texto desde el cursor hasta el final de la línea. Ctrl+U borra desde el cursor hasta el principio de la línea.

Explorando la configuración del shell

Los principales archivos de configuración para bash son ~/.bashrc y ~/.profile. Estos archivos son en realidad scripts de bash. Los archivos globales de configuración son /etc/bash.bashrc y /etc/profile.

Variables de ambiente

Las variables de ambiente se utilizan para modificar el ambiente de trabajo de bash. Para fijar una variable de ambiente se utiliza el operador de asignación (=).

$ NNTPSERVER=1.ar.pool.ntp.org

$ export NNTPSERVER

Se pueden combinar estos dos comandos en una sola línea:

$ export NNTPSERVER=1.ar.pool.ntp.org

Es temporal, dura lo que dura la sesión.

Se pueden ver todas la variables de ambiente usando el comando env. Para remover las variables de ambiente se usa el comando unset.

$ unset NNTPSERVER

Obteniendo ayuda

Uno de los métodos para obtener ayuda es el comando son los manuales provistos por las aplicaciones, los cuales se pueden acceder por el comando man.

Comando man

Man es una herramienta de sistemas Unix que se utiliza para documentar y aprender sobre comandos, archivos, llamadas de sistema, etc. El manual utiliza el programa less para desplegar la información una pagina a la vez.

El manual normalmente está dividido en ocho secciones numeradas, organizadas como sigue:

Numero de sección Información que contiene
1 Comandos Generales
2 Llamadas al sistema
3 Biblioteca C de funciones
4 Archivos especiales (normalmente dispositivos, que se pueden encontrar en /dev) y drivers
5 Formatos de archivos y convenciones
6 Juegos y salvapantallas
7 Miscelánea
8 Comandos de administración del sistema y Demonios

Comando info

Algunos programas han migrado del uso de man hacia info. La ventaja de man sobre info es que este ultimo utiliza hipertexto para moverse a través de la documentación. Estas 2 herramientas presentan información de una manera que puede resultar poco amigable para el usuario principiante. Por lo que en ocasiones conviene ir a las web para buscar ayuda o tutoriales acerca de programas.

results matching ""

    No results matching ""