Crie seus próprios comandos Linux usando aliases e funções de shell bash. Controle de tarefas repetitivas, truncar processos longos e configurar comandos padrão com alternativas que você sempre usa e tem dificuldade em lembrar.
Pseudônimo e scripts de shell são técnicas poderosas em sistemas operacionais Linux e Unix que permitem aprimorar sua experiência de linha de comando para ser exatamente o que você deseja. Você pode definir seus próprios comandos adaptados às suas necessidades específicas e para aliviar o fardo de tarefas repetitivas.
Alias e scripts de shell faça o mesmo tipo de trabalho. Eles permitem que você estabeleça (e nome) um conjunto de funções de shell bash que podem ser chamadas por qualquer nome que você tenha dado. Digitar o nome é mais fácil e conveniente do que digitar todas as etapas ou comandos toda vez que quiser usá-los.
A diferença entre um alias e um script é de complexidade e escala. Scripts são melhores para salvar trechos de código mais longos e elaborados. Os aliases são perfeitos para manter os conjuntos de comandos mais curtos e concisos.
Aliases predefinidos
Alguns aliases são predefinidos para você. Para ver a lista de aliases que são definidos em seu sistema, usar o comando alias sem parâmetros:
apelido
Esses são os aliases definidos na máquina de teste do Ubuntu em que esta postagem foi investigada. Se eu tivesse definido algum apelido personalizado, estes também apareceriam nesta lista.
No topo da lista, existe um apelido de aparência complicada chamado alert
. Chegaremos a isso em um momento. Existem muitos apelidos diferentes para ls
comando, e há um grupo de aliases que fornecem saída de cor para o grep
família de comando. Como um exemplo, com esses apelidos definidos, sempre que eu escrevo:
grep
O sistema irá interpretá-lo como:
grep --color = auto
Isso mostra um ponto importante com aliases. Eles podem ter o mesmo nome dos comandos existentes. Eles podem até conter o comando original dentro de si.
Aqui está a definição de grep
apelido.
alias grep = 'grep --color = auto'
- a
alias
O comando é usado para definir um apelido. - O nome do alias é fornecido abaixo. Neste exemplo é
grep
. - O sinal de igual conecta o Nome de alias para corpo apelido. Para todos os aliases, exceto os muito simples, o corpo do alias é colocado entre aspas simples
'
. - O corpo do alias é a seção que é executada quando o alias é usado na linha de comando.
O corpo deste alias simplesmente chama o grep
comando com o --color=auto
opção.
Alerta de alias
Como um breve aparte, e então você sabe o que faz, a alert
aliasé usado para notificá-lo quando um comando termina. Também indica se o comando foi concluído com sucesso ou não. Fornece um alerta gráfico do sistema na parte superior da tela.
Aqui está um exemplo simples. a sleep
O comando vai dormir por cinco segundos. alert
então será chamado de alias. O alias verifica a solução do comando acima. Extraia o último comando do arquivo. Determina se o comando foi concluído com sucesso ou não. Em seguida, apresente os resultados em um alerta do sistema.
Se o comando for concluído conforme o esperado, o ícone de alerta do sistema é uma pequena janela de terminal. Se o comando retornou um código de erro, o ícone de alerta do sistema é um ícone de erro vermelho.
dormir 5; alerta
Depois de cinco segundos, nós vemos este sistema de alerta:
O ícone é uma pequena janela de terminal, o que significa que tudo correu bem. Vamos tentar novamente com um comando que sabemos que irá falhar:
Condenado ao fracasso; alerta
Nosso alerta de sistema agora tem um ícone de erro.
Definição de um alias trivial
Como nós vimos, para definir um alias, nós usamos o alias
comando.
Vamos criar um pseudônimo para ele clear
comando. Nosso apelido será chamado cls
e vai ligar clear
comando.
Nossa definição de apelidos é tão trivial que não justifica estar entre aspas simples. Si el cuerpo del alias es más complejo que esto, o si contiene espacios, envuélvalo entre comillas simples. Definiremos el alias, usar ls
para poner algo de salida en la ventana de terminal y después utilizar nuestro nuevo alias cls
para limpiar la pantalla.
alias cls=clear
ls -l
cls
Se borra la pantalla. Sucesso, aún cuando de corta duración. El alias sobrevivirá solo mientras esta ventana de terminal permanezca abierta. Assim que a janela for fechada, el alias desaparecerá.
Então, ¿cómo hacemos que nuestros alias sean permanentes?
El archivo .bashrc y los alias
Tal vez se pregunte dónde se definen los alias preempaquetados. está en el archivo “.bashrc” en su carpeta de inicio. Este archivo se lee y los comandos que contiene se ejecutan cada vez que inicia un shell interactivo. Em outras palavras, cuando abre una ventana de terminal.
Escriba el siguiente comando en su carpeta de inicio para ver el contenido del archivo “.bashrc” con la sintaxis resaltada.
gedit .bashrc
Esto lanzará el gedit
editor con el archivo “.bashrc” cargado en él.
Las áreas resaltadas muestran dos áreas donde se definen los alias.
Al desplazarse por el documento, se revelarán otras dos secciones asociadas con los alias:
El primero de ellos es la definición del alert
apelido. El segundo es un if
demonstração. Se traduce como, “si el archivo” .bash_aliases “existe, léalo”.
Si solo tiene unos pocos alias que desea establecer, puede ponerlos en su archivo “.bashrc”. Colóquelos debajo de la sección que contiene el ls
apelido.
Si va a crear muchos alias, o simplemente le gusta la idea de tener sus alias encapsulados dentro de su propio archivo, puede definirlos en su archivo “.bash_aliases”. Una ventaja de crearlos en su archivo “.bash_aliases” es que no puede cambiar accidentalmente ninguna de las configuraciones en el archivo “.bashrc”. Otra ventaja es que sus alias se copian fácilmente a nuevos sistemas debido a que están totalmente divorciados del archivo “.bashrc”.
Almacenamiento de alias en el archivo .bash_aliases
O arquivo “.bash_aliases” no existirá hasta que lo cree. Puede crear el archivo con este comando:
touch .bash_aliases
Editemos el archivo y agreguemos algunos alias. Este comando abrirá el archivo “.bash_aliases” no gedit
editor.
gedit .bash_aliases
Hemos agregado tres alias. El primero es nuestro cls
alias que usamos previamente. El siguiente se llama h.
y es una forma abreviada de llamar al history
comando.
El tercer alias se llama ftc
. Isso significa “recuento de tipos de archivo”.
Este alias es más complejo, por lo que se incluye entre comillas simples. Utiliza una cadena de comandos unidos entre sí por tuberías. Produce una lista ordenada de las diferentes extensiones de archivo y nombres de directorio, con un recuento para cada entrada de la lista.
RELACIONADO: Como usar Pipes no Linux
Cuando hayamos guardado el archivo “.bash_aliases”, podríamos esperar que nuestros alias estén activos y accesibles. Ese no es el caso. El shell de Bash debe leer el archivo antes de que las definiciones de alias estén activas. Esto se hace siempre que se abre un shell interactivo.
Además podemos utilizar el shell Bash integrado. .
para leer y ejecutar los comandos en un archivo. Debido a que nuestro archivo “.bash_alias” se lee cuando se procesa “.bashrc”, debemos realizar nuestra prueba llamando a “.bashrc”. De aquel modo podemos chequear que el archivo “.bash_alias” se llama desde “.bashrc” y que nuestros alias están vivos y en buen estado.
Los comandos que usamos son:
gedit .bash_alias
Para editar el archivo “.bash_alias”.
. .bashrc
Esto leerá y ejecutará los comandos dentro de “.bashrc”, que llamará “.bash_alias”.
ftc
Esto llamará al ftc
apelido.
Nuestro alias responde, lo que significa que Bash ha leído tanto en “.bashrc” como em “.bash_aliases”, y nuestros nuevos alias ahora están activos.
Ahora puede continuar y agregar nuevos alias al archivo “.bash_aliases” cuando se le ocurran. Si se encuentra haciendo cosas más de una o dos veces, considere crear un alias para esto.
Borrar alias
Hay un comando para eliminar alias para que BAsh no los reconozca ni les responda. Refrescantemente franco, el comando se llama unalias
.
Para usá-lo, dé el nombre del alias que desea que Bash olvide. Para hacer que Bash olvide nuestro ftc
apelido, usar unalias
assim:
unalias ftc
Você pode usar unalias
para quitar los alias que ha definido y cualquiera de los alias predefinidos.
Para quitar todos los alias de su sistema, Use o -a
(tudo) opção:
unalias -a
Apesar disto, la pérdida de memoria de Bash no será permanente. La próxima vez que abra una ventana de terminal, los alias “olvidados” volverán. Para eliminarlos de verdad, debe eliminarlos de sus archivos “.bashrc” e “.bash_alias”.
Si cree que alguna vez le gustaría recuperarlos, no los elimine de su archivo “.bashrc”. Em seu lugar, coméntelos agregando un hash #
al comienzo de cada alias
linha. Para que su archivo “.bash_alias” no sea efectivo, cámbiele el nombre. Si su archivo “.bashrc” no puede verlo, no lo leerá. Invertir estos pasos para restablecer sus alias es un asunto trivial.
Funciones de Shell
Los alias de Lika, las funciones de shell de Bash se pueden establecer dentro del archivo “.bashrc”, pero a menudo es mejor ponerlas en su propio archivo de definiciones. Nós vamos chamá-lo “.bash_functions”, siguiendo la convención utilizada para el archivo “.bash_aliases”.
Eso significa que debemos decirle al archivo “.bashrc” que lea nuestras definiciones. Podemos copiar y modificar el fragmento de código que se lee en el archivo “.bash_aliases”. Lançando gedit
y cargue el archivo “.bashrc” com este comando:
gedit .bashrc
Debe agregar la sección resaltada que se muestra a continuación.
Puede resaltar la sección de alias y presionar Ctrl+C
y después muévete a donde quieras la nueva sección y presiona Ctrl+V
para pegar una copia del texto. Depois de, todo lo que necesita hacer es cambiar los dos lugares donde dice “.bash_aliases” uma “.bash_functions”.
Podemos guardar esos cambios y cerrar gedit
.
Ahora vamos a crear y editar el archivo “.bash_functions” y poner una definición de función en él.
touch .bash_functions
gedit .bash_functions
Esto abrirá el archivo “.bash_functions” vacío en gedit
.
Vamos a agregar una función simple llamada up
. up
tomará un solo parámetro de línea de comando, que es un dígito. up
entonces llamaré cd ..
esa cantidad de veces. Então, si usó el comando
up 2
up
Llamaría cd ..
duas vezes e subiria dois níveis na árvore de diretórios.
Existem diferentes alternativas para definir uma função. Aqui está um:
funcionar() {
Palavra function
é opcional. Se você é um tradicionalista, use-o, se você não se incomodar em escrevê-lo, deixe de fora.
Aqui está toda a nossa função em gedit
:
funcionar() {
Isso marca o início de nossa definição de função, e nomeie a função up
.
níveis = $ 1
Isso cria uma variável chamada levels
e defina-o com o valor do primeiro parâmetro. Este parâmetro será um dígito fornecido pelo usuário ao chamar a função. a $1
Isso significa “primer parámetro de línea de comando”.
enquanto [ "$níveis" -gt "0" ]; Faz
Então entramos em um loop. Esto se traduce como “mientras que el valor de levels
é maior que zero, haz lo que está contenido en el cuerpo del bucle “.
Dentro do corpo do loop, temos dois comandos. Filho:
CD ..
Suba um nível na árvore de diretórios.
níveis = $(($níveis - 1))
Colocar levels
para um novo valor, que é um a menos que seu valor atual.
Em seguida, voltamos ao topo do ciclo, la comparación entre el valor de levels
y se torna a hacer cero. E levels
é maior que zero, el cuerpo del bucle se torna a ejecutar. Si no es mayor que cero, el bucle finaliza y pasamos al done
demonstração, y la función ha terminado.
Guarde estos cambios y cierre gedit
.
Leeremos y ejecutaremos los comandos en “.bashrc” que deberían leer y ejecutar los comandos en nuestro archivo “.bash_functions”.
. .bashrc
Podemos probar la función moviéndonos a alguna ubicación en el árbol de directorios y usando up
para volver a un punto “superior” en el árbol de directorios.
cd ./work/backup/
up 2
A função funciona. Nós movemos dois níveis de diretório para cima na árvore.
Fique atento ao cara
Conforme você cria um conjunto de aliases e uma biblioteca de funções, pode ser difícil lembrar se um determinado comando é um alias ou uma função. Você pode usar o type
comando para lembrar de você. A coisa boa aqui é que você também pode ver a definição.
Vamos usar type
em nosso ftc
alias e nosso up
Função.
digite ftc
datilografar
Recebemos um lembrete muito útil de que tipo de comando cada um é, junto com suas definições.
Comece a colecionar
Los alias y las funciones pueden acelerar enormemente el uso de la línea de comandos. Pueden acortar las secuencias de comandos y le posibilitan incorporar las alternativas que siempre utiliza con los comandos estándar.
Cada vez que vea una función ingeniosa o útil, puede adaptarla y personalizarla, y después agregarla a sus archivos “.bash_aliases” o “.bash_functions”.
setTimeout(função(){
!função(f,b,e,v,n,t,s)
{E se(f.fbq)Retorna;n = f.fbq = função(){n.callMethod?
n.callMethod.apply(n,argumentos):n.queue.push(argumentos)};
E se(!f._fbq)f._fbq = n;n.push = n;n.loaded =!0;n.version = ’2.0′;
n.queue =[];t = b.createElement(e);t.async =!0;
t.src = v;s = b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(t,s) } (window, documento,'roteiro',
‘Https://connect.facebook.net/en_US/fbevents.js ’);
fbq('iniciar', ‘335401813750447’);
fbq('acompanhar', ‘PageView’);
},3000);