Haciendo el Bash CLI más fácil de usar

Haciendo el Bash CLI más fácil de usar
Este tutorial le mostrará cómo personalizar el shell bash para que la línea de comando sea más fácil y rápida de usar.

Objetivos

Al final de esta sEesion podrás:

  • alterar el indicador para mostrar el directorio de trabajo actual
  • Establezca el indicador en un color elegido
  • crear y usar alias
  • Guardar personalizaciones como el aviso y los alias
  • Use la función Historial
  • Utilice la finalización del comando

Directorio de inicio - Inicio

Linux utiliza un conjunto de variables de entorno de mayúsculas, como los agujeros Pidgin, que se poblan automáticamente, para almacenar información. La lista completa se puede ver de la siguiente manera:

$ set | más

He llegado a más aquí en lugar de menos para que el comando se pueda ver en el volcado de la pantalla.

El nombre del directorio de inicio de un usuario, generalmente/hogar/nombre de usuario (/home/kdm en mi CAE), se almacena en el hogar de la variable de entorno; Tenga en cuenta que la mayoría de las variables de entorno están en mayúsculas.

Utilizamos un $ al hacer referencia a una variable de entorno para especificar que es un

nombre de variable y no una cadena. Para ver la variable inicio, ingrese:

$ Echo $ Home

Linux está lleno de atajos y el personaje Tilde, ~, es un atajo para el hogar. Se puede usar en su lugar:

$ Echo ~

Directorio de trabajo - PWD

El comando pwd se puede usar para averiguar cuál es el directorio de trabajo actual. Cuando un usuario inicia sesión, este es su directorio de inicio como se define en el /etc/passwd archivo. Aquí mostramos solo las dos últimas líneas del archivo y la ruta actual para el usuario KDM:

$ cola -2 /etc /passwd
$ PWD

Directorios cambiantes - CD

El CD de comando se puede usar para cambiar el directorio de trabajo actual.

Por ejemplo, para moverse al directorio raíz:

$ CD /; PWD
# el ; El personaje permite dos comandos en una línea

Para moverse al directorio /etc:

$ cd /etc; pwd

Para regresar al directorio anterior, use el comando:

$ CD -

Para regresar al directorio de inicio, use el CD de comando sin ninguna opción:

$ CD; PWD

Símbolo del sistema - PS1

Al usar el comando CD para cambiar los directorios, no siempre es obvio cuál es el directorio actual. La bandeja de la fiesta permite personalizar la solicitud.

El símbolo del sistema predeterminado se almacena en una variable del sistema, PS1; esto se ingresa en superior caso. Para ver la variable Enter:

$ echo $ ps1

Tenga en cuenta que el ps Mostrado no es el aviso sino el contenido de la variable!

Se pueden usar los siguientes caracteres especiales para alterar el aviso:

  • \ s- \ v Shell y versión actual
  • \ W Directorio de trabajo actual
  • \ h@\ u host y nombre de usuario
  • \ d@\ t fecha y hora actuales

Por ejemplo, para establecer el indicador en el uso actual de la versión y la versión:

$ Ps1 = '\ s- \ v:'

El aviso ahora aparece como Bash-5.0: .

Directorio actual - $ PWD

Para guardar el uso constante del comando pwd, el mensaje se puede establecer en el nombre de ruta completo del directorio actual, un concepto familiar para los usuarios de DOS. Para hacer esto, escriba cuidadosamente lo siguiente en superior caso:

bash-5,0: ps1 = '$ pwd:'

Los cambios rápidos serán el directorio de trabajo actual, en este ejemplo

/Inicio/KDM: .

Ahora cambie los directorios y tenga en cuenta cómo cambia el mensaje.

/Home /Kdm: CD /
/: CD /etc
/etc: CD

Ahora podemos ver en qué directorio estamos sin recurrir al comando pwd.

Agregar color

Un color, en este ejemplo amarillo, se puede agregar de la siguiente manera:

/home/kdm: ps1 = '\ [\ e [01; 33m \] $ pwd: \ [\ 033 [01; 34m \] \ [\ 033 [00m \]'


Por lo general, tengo mi aviso configurado en el directorio actual, reservando el color rojo (alter 33 a 31 en el comando anterior) para cuando estoy usando root. Sin embargo, para los ejemplos a seguir, volveré al signo '$'.

Aviso secundario ->

El aviso secundario también se almacena en una variable del sistema, PS2, también en la caja superior. Para ver esta variable Enter:

$ echo $ ps2

Este aviso se verá si se ingresa un comando incompleto, por ejemplo:

$ Echo "Hola

En este ejemplo falta el segundo símbolo de cita. Para corregir esta situación, complete el comando o ingrese el control & c y vuelva a ingresar el comando.

Archivos o directorios?

Cuando se muestran el contenido de un directorio, no siempre es obvio si las entradas son archivos o directorios.

Con la opción -f, a menudo utilizada en servidores Unix, las entradas que se muestran son seguidas por un carácter adicional. Por ejemplo, intente:

$ LS -F

Estos personajes adicionales incluyen lo siguiente y denotando:

  • directorio /
  • archivo vinculado @
  • Archivo ejecutable *

Los sistemas de Linux admiten la codificación de color de los directorios y archivos. Los colores pueden estar encendidos por defecto. Si no, intente lo siguiente (use un guión doble):

$ ls -color

Estos colores adicionales incluyen lo siguiente y denote:

  • directorio azul
  • archivo vinculado cian
  • archivo ejecutable verde

Creando alias

En algunos sistemas, comandos útiles como LA, que ejecuta el comando ls -a y ll que ejecuta el comando ls -l están disponibles. Sin embargo, si estos comandos no están disponibles, se puede crear un alias para lograr el mismo resultado. Algunos alias pueden definirse automáticamente cuando se inicia un shell.

Se puede crear un alias para cualquier comando de uso frecuente. Esto ahorra tener que escribir el comando completo y sus opciones. Por ejemplo, si los colores no están en uso con LS:

$ alias ls = 'ls -color'
$ LS

Estos dos ejemplos muestran archivos en los directorios /etc y /bin. La opción -d muestra solo entradas de directorio, no los archivos en el directorio:

$ ls -d /bin /y*
$ ls -d /etc /u*

Alias ​​comunes

Los alias de comman incluyen lo siguiente a los comandos de eliminar, copiar y mover. Estos alias hacen que el comando sea interactivo para que pueda elegir tomar una acción o no:

$ alias rm = 'rm -i'
$ alias cp = 'cp -i'
$ alias mv = 'mv -i'

En el ejemplo que se muestra aquí, se crean cuatro archivos vacíos. El primero, el archivo1, luego se elimina. Luego se crea un alias para RM y File2 se elimina de manera interactiva:

El nombre del comando real no necesariamente tiene que usarse para el nombre de alias. Tenga en cuenta que estos ejemplos usan el alias a LS creado anteriormente:

$ alias la = 'ls -a'
$ alias ll = 'ls -l'
$ LA
$ LL

Usando alias

Para mostrar una lista de alias, use el comando alias. Es muy probable que ya tenga varios alias de forma predeterminada:

$ alias

Se puede invocar un comando sin el uso del alias prefijando el comando con una barra insegura, \ . Esto es particularmente útil si existe un alias a RM y desea eliminar muchos archivos!

$ LS
$ \ ls

Para eliminar uno o más alias de comando Use:

$ unalias ll la
$ alias

Guardar personalizaciones

Un inconveniente al alterar el indicador o agregar alias es que estas configuraciones se pierden cuando el usuario finaliza la sesión. Este problema se puede superar guardando la configuración en un archivo de configuración. El shell bash almacena variables y alias de forma permanente en uno de varios archivos ocultos, archivos que comienzan con una parada completa.

Aquí, usaré el editor simple Nano (Vim se puede usar en su lugar) para actualizar el archivo oculto .bashrc para configurar el entorno.

He agregado mis cambios al final del archivo, he alterado el aviso y he agregado varios de mis alias favoritos:

$ nano .bashrc

Para guardar los cambios y salir, ingrese el control y X.

El comando DOT - .

El nuevo .El archivo BASHRC se puede probar abriendo una nueva sesión o iniciando sesión y nuevamente. Como alternativa, el archivo puede probarse así:

$ ... bashrc

El punto (.) El comando ejecuta el contenido del archivo en el shell actual.

Historial de comandos

La función de historial de comandos mantiene una lista de comandos recientemente utilizados en el archivo .Bash_history y proporciona una taquigrafía para re-ejecutar cualquiera de estos comandos.

Para ver los últimos 10 comandos, escriba:

$ HISTORIA 10

Para volver a ejecutar el último comando use !!. Por ejemplo:

$ head -3 /etc /shadow
$ sudo !!

Editar línea de comando

Las teclas de control utilizadas para editar las entradas de línea de comandos anteriores incluyen las siguientes:

  • Control y R Búsqueda de historial inverso
  • Control y un comienzo de línea
  • Control & e ir al final de la línea
  • Control & g cancelar la búsqueda y restaurar la línea original

En este ejemplo, uso Control & R (dos veces) para hacer una búsqueda inversa del comando Head. Presionar Enter ejecutará el comando:

Finalización de comando

En el shell bash, la pestaña de secuencia de clave se puede usar para completar un nombre de archivo utilizado en un comando siempre que exista una coincidencia exacta.

Para probar esto, primero cambie al directorio /bin:

$ CD /Bin

Escriba el siguiente comando pero no Presione Entrar todavía:

$ ls -l y

Ahora presione el pestaña clave dos veces. Se mostrará una lista de todos los archivos que comienzan con el personaje.

Agregue los caracteres al comando para invocar un nombre único, pero nuevamente no presione Entrar todavía.

$ ls -l yp

Ahora presione el pestaña llave. El comando seleccionará automáticamente el archivo correcto.