Alias

Usar el terminal en Linux puede ser más rápido y más productivo que usar una GUI, especialmente con operaciones repetidas. Para aprovechar al máximo esto, es útil conocer algunos de los secretos de la shell..

¿A menudo te encuentras escribiendo las mismas opciones de comando una y otra vez? ¿A veces tienes problemas para recordar las opciones correctas? ¿Eres simplemente perezoso y quieres evitar escribir cuando sea posible? Si respondiste sí a alguno de estos, entonces los alias son para ti.

Ya tienes configurados algunos alias de shell. Para enumerarlos, escriba:

alias

que devolverá entradas como esta (de Ubuntu):

alias ll = "ls -alF"
alias ls = "ls - color = auto"

El primero de estos ejemplos es simple: si escribes ll, corre ls -a. El segundo es más inteligente, ya que el alias es el mismo que el nombre del comando, por lo que el antiguo comportamiento ls desaparece y siempre se ejecuta con el comando. --color = auto opción.

Si siempre usa ciertas opciones con comandos particulares, alias como este hacen que esas opciones sean las predeterminadas..

El alias se expande antes de que se interprete el resto de la línea de comando, por lo que:

ll X Y Z

se convierte en

ls -alF X Y Z

Estos alias no siempre son fáciles de recordar, pero no teman: puede crear sus propios alias usando exactamente la misma sintaxis que en la salida del comando alias:

alias myalias = "somecommand --option1 --option2"

Aliasar un comando con su propio nombre es un buen truco, pero ¿qué pasa si luego necesita usar el comando original? No te preocupes, los desarrolladores han pensado en eso. Prefije el comando con una barra invertida y su alias se ignorará:

\ ls documentos

Prev Página 1 de 6 Siguiente Prev Página 1 de 6 Siguiente

Perfiles

Puede personalizar su experiencia de terminal con alias y mensajes personalizados, pero para hacerlos aún más convenientes, necesita una forma de aplicarlos automáticamente cuando abre un terminal..

Esto se puede hacer a través de su perfil, que es un archivo que contiene comandos que se leen y ejecutan cada vez que abre una sesión de shell.

Hay varios lugares que se leen, el primero de los cuales es / etc / perfil, que contiene la configuración de perfil global. Esto a su vez ejecuta cualquier archivo en /etc/profile.d, lo que facilita agregar configuraciones globales sin tocar el perfil predeterminado.

Luego se lee el perfil del usuario de uno de /.bash_profile, /.bash_login y /.perfil. Solo se ejecuta el primero de estos archivos que existe, y cualquier configuración aquí anula los del perfil global si se establece lo mismo en ambos..

El perfil es simplemente un conjunto de comandos de shell, uno por línea, que se ejecutan cuando se inicia el shell. Estos pueden configurar alias, variables de entorno o configurar el símbolo del sistema. Un uso típico de las variables de entorno sería cambiar el editor de texto predeterminado a nano:

EDITOR = / usr / bin / nano

Prev Página 2 de 6 Siguiente Prev Página 2 de 6 Siguiente

Completar la palabra

Si no eres un teclista táctil particularmente seguro, pronto te cansarás de escribir los comandos y los nombres de los archivos en su totalidad, y luego lidiar con los mensajes de error resultantes de errores ortográficos. Afortunadamente, el shell proporciona una forma de guardar la escritura y evitar los errores llamados rellenos de pestañas.

El nombre se explica por sí mismo: utiliza la tecla Tab para completar la palabra que está escribiendo. Si esta es la primera palabra en una línea, será un comando, por lo que buscará coincidencias en la ruta de comandos, por ejemplo, escribiendo chm y presionando Tab se completará para chmod.

Usada después del comando, la pestaña se completa con los nombres de los archivos, así que en lugar de escribir:

cat /pathto/somelongdirectory/someevenlongerfilename.txt

puedes usar:

cat / pa [presiona TAB] som [presiona TAB] som [presiona TAB]

¿No es eso más fácil? Cuando más de un archivo coincida, la tecla Tab se completará hasta el punto en que se vuelve ambiguo; al presionar nuevamente Tab en este punto se muestra una lista de opciones, con las que puede alternar con Tab, o agregar otra o dos letras y presionar nuevamente Tab. En realidad, es mucho más fácil de usar que describir, solo inténtalo.

Prev Página 3 de 6 Siguiente Prev Página 3 de 6 Siguiente

Comodines

Hay ocasiones en las que desea incluir más de un archivo en un comando pero no desea escribirlos todos. El shell de Linux tiene un par de operadores "comodín" para ayudar con esto. La más utilizada es la estrella, que se usa como reemplazo de cualquier cadena de caracteres..

Asi que * por sí solo coincidirá con todos los archivos del directorio actual (esto es diferente de los shells de MS-DOS donde * no coincide . y necesitas usar *. * para que coincida con cualquier archivo con una extensión).

También puedes usar * para que coincida con una parte de un nombre de archivo: *.TXT coincide con todos los archivos que terminan con .txt, y a * .txt coincide solo con aquellos que también comienzan con una.

Esta coincidencia es realizada por el shell. Expande las coincidencias a una lista de archivos antes de pasarlos al comando, que nunca ve el comodín o incluso sabe que usó uno.

Esto puede ser una distinción importante, especialmente si desea pasar un * al programa que estás ejecutando. Por ejemplo, digamos que estás usando scp para copiar archivos desde una computadora remota y ejecutar lo siguiente:

scp user @ othercomputer: Documents / *. txt Documents /

Puede esperar que esto copie todos los archivos .txt del directorio Documentos del otro equipo al mismo aquí, pero no lo hará. La cáscara expande el *.TXT para que coincida con todos los archivos .txt en el sistema local, para que solo copie los archivos que ya tiene.

En tal caso, debe decirle al shell que no expanda el * precediéndolo con una barra invertida, conocida como escapar de ella:

scp user @ othercomputer: Documents / \ *. txt Documents /

Ahora pasa Documentos / * .txt sin cambios a la computadora remota y deja que su shell maneje la expansión.

También hay un segundo carácter comodín. Mientras * coincide con cualquier número de caracteres, incluyendo ninguno, ? coincide exactamente con uno. Asi que ab? .txt coincide con abc.txt y ab1.txt pero no ab.txt o abcd.txt, mientras que ab * .txt coincidiría con todos ellos.

Prev Página 4 de 6 Siguiente Prev Página 4 de 6 Siguiente

Sustitución de comandos

Hay una característica poderosa en shells llamada sustitución de comando. Esto le permite incrustar la salida de un comando en otro.

Como un simple ejemplo, digamos que hay un comando llamado foo en su sistema y digamos que quiere saber qué tipo de programa es: compilado, Python o incluso un script de shell. los cual comando le da la ruta a un programa, y expediente reporta el tipo de archivo. Podrías usar:

que foo

Llegar / usr / local / bin / foo y entonces

archivo / usr / local / bin / foo

para obtener el tipo de archivo, pero incluso con copiar y pegar, esto es mucho trabajo y es fácil de confundir. Alternativamente, podrías hacer:

archivo $ (que foo)
/ usr / local / bin / foo: un script / usr / bin / perl, ejecutable de texto ASCII

Lo que pasa es que el shell ejecuta lo que está dentro. PS y sustituye la salida de eso en la línea de comando antes de ejecutarlo. También puedes usar backticks para esto:

archivo 'cuales foo'

Esto es más rápido de escribir pero menos legible, especialmente cuando se publica en un foro donde la fuente del lector puede hacer ' y ' parece similar. Con el primer formato no hay tal confusión..

Prev Página 5 de 6 Siguiente Prev Página 5 de 6 Siguiente

Terminal de ahorro de tiempo: repetir

Una de las grandes ventajas de la shell es que es sencillo repetir los comandos, sin importar cuán complejos sean, con un par de pulsaciones de teclas. En su forma más simple, puede presionar la tecla Arriba para mostrar los comandos anteriores, luego presionar Entrar para ejecutar el elegido nuevamente..

También puede editar el comando antes de ejecutarlo, si lo desea. Eso está bien si desea usar uno de los últimos comandos que ejecutó, pero la mayoría de los shells mantienen un historial de los últimos 500 comandos a los que puede acceder nuevamente..

Para evitar desgastar la tecla de flecha hacia arriba de su teclado (y sus ojos), presione Ctrl-R y luego escriba parte del comando. El terminal le mostrará el comando más reciente que coincide con lo que está escribiendo, actualizando con cada pulsación de tecla.

Si ha ejecutado varios comandos muy similares, no necesita seguir escribiendo: solo escriba algunos caracteres y presione Ctrl-R nuevamente para ver la coincidencia anterior. Sigue avanzando hasta que encuentres el que quieres. (No se alarme, esta es una de esas cosas que lleva más tiempo describir que hacer).

Puedes editar el comando antes de ejecutarlo. El término de búsqueda que escriba no tiene que ser el comando en sí mismo; cualquier parte de la línea de comandos coincidirá, por lo que podría comenzar con el nombre del archivo.

También puede acceder a los comandos dentro del historial directamente. los ! El personaje le dice al shell que te estás refiriendo a su historia.. !! es un atajo para el comando anterior mientras !-norte significa 'ejecutar el comando ejecutar norte hace mandos '(así que !! es lo mismo que !-1). !xyz ejecuta el último comando comenzando con xyz, y !?xyz hace lo mismo para el último comando que contiene xyz (al igual que lo hace Ctrl-R).

  • Este artículo fue proporcionado a TechRadar por el formato de Linux, y cada número de la revista contiene análisis de noticias, características detalladas sobre temas vitales de Linux, guías de codificación, proyectos de Raspberry Pi y Maker, y más. Suscríbete a la versión impresa o digital de Linux Format aquí
Prev Página 6 de 6 Next Prev Página 6 de 6 Next
Comparte