Os 10 mellores trucos para o terminal

1. Executa o último comando con !!

O título di todo, só tes que introducir o seguinte nun terminal ...

!!

… Para volver executar o último comando introducido. Este truco é moi útil cando esquecemos entrar sudo ao comezo. Nese caso, tería que introducir:

sudo!!

Para descubrir formas máis complexas de sacar o máximo proveito a este truco, recoméndovos ler isto posto antigo.

2. Executa o último comando pero corrixindo un erro de dixitación

Este truco é realmente útil cando introducimos un comando cun simple erro de dixitación. Por exemplo, se executamos:

eco "desdelinuxz"

Podes corrixilo introducindo o seguinte:

^z

3. Invoca un editor de texto para introducir un comando longo

Ás veces necesitas introducir infinitas ordes no terminal. Nese caso, a axuda dun simple editor de texto, como nano ou emacs, pode ser útil.

Para abrir o editor, só tes que premer Ctrl + x + e nun terminal. O texto que introduciu ata o momento copiarase no editor de texto unha vez aberto.

Pola súa banda, o editor empregado será o especificado na variable $ EDITOR. Para cambiar esta configuración, é posible executar ...

exportar EDITOR = nano

... Substituíndo nano polo teu editor preferido.

4. Executa un comando sen gardalo no historial

Un auténtico hacker non pode ignorar este truco. Como todo o mundo sabe, bash garda o historial dos comandos executados, ao que é moi sinxelo acceder mediante as frechas do teclado ou Ctrl + R (para realizar un busca inversa na historia).

Neste caso, o que tes que facer para que o comando introducido non se garde no historial é poñer un espazo diante:

comando

5. Configure automaticamente o último parámetro dun comando

Supoñamos que o comando executado anteriormente foi

cp file.txt / var / www / wp-content / uploads / 2009/03 /

Para acceder ao directorio en cuestión, pode introducir o comando cd seguido por Alt +. o Esc +. :

cd 'ALT +.'

Esta é só unha forma abreviada de entrar:

cd / var / www / wp-content / uploads / 2009/03 /
Ao continuar premendo o atallo de teclado mencionado, é posible navegar polo historial dos últimos comandos executados.

6. Executa un comando nun momento especificado

Si, si, para iso existe cron. Non obstante, ás veces queremos executar un comando para executalo nun determinado momento pero só unha vez.

Supoñamos que queremos executar o comando ls -l á media noite. Nese caso, debemos executalo do seguinte xeito:

eco "ls -l" | á media noite

7. Obtén a túa IP externa

Grazas ao servizo prestado por http://ifconfig.me/ É posible coñecer varios datos da súa conexión a Internet, directamente desde o terminal:

curl ifconfig.me/ip // dirección IP curl ifconfig.me/host // Servidor remoto curl ifconfig.me/ua // Axente de usuario curl ifconfig.me/port // Port

8. Aprende a usar Ctrl + u e Ctrl + y

Cantas veces che ocorreu que comezaches a escribir un comando e recordabas que antes era necesario facer outra cousa? Ben, é posible facer unha especie de corte-pegar para que despois sexa máis doado volver a ingresar o comando que quedou á metade.

Supoñamos que comezou a escribir ...

cd / home / usuario

e recordou que antes había que comprobar algo no directorio actual. Nese caso prema Ctrl + u (Sería algo así como un "corte").

Introduza o comando que había que executar primeiro. Supoña que ...

ls -l

... e logo prema Ctrl + y (Funciona como un "pegar").

9. Limpa o terminal facilmente

con Ctrl + l o terminal pódese limpar nun instante.

10. Vaia a un directorio, execute un comando e volva ao directorio actual

Este truco é unha delicia. Para executar unha serie de comandos sen saír do directorio actual, só hai que agrupalos entre parénteses. Como case todo o mundo sabe, para executar unha serie de comandos, ten que concatealos usando &&. Usando estes conceptos, podemos executar algo como o seguinte:

(cd / tmp && ls)

O resultado deste comando (fíxate entre parénteses) será unha lista dos ficheiros e directorios dentro do cartafol / Tmp. Todo sen saír do noso directorio actual. Unha xoia!

Yapa. Enumere os comandos máis usados

Para velos comandos máis usados só tes que executar o seguinte:

historia | awk '{a [$ 2] ++} END {for (i in a) {print a [i] "" i}}' | ordenar -rn | cabeza

No meu caso, os gañadores foron:

450 yaourt 415 sudo 132 git 99 cd 70 leafpad 70 killall 68 ls 52 pacman 50 xrandr 45 top

Recoméndovos visitalos aos fanáticos do terminal, como este servidor liña de comandos. Ademais, por que non, non deixes de mirar o Archivo do noso blogue.

¿Faltan trucos? Non esquezas compartir e comentar a continuación. 🙂

O contido do artigo adhírese aos nosos principios de ética editorial. Para informar dun erro faga clic en aquí.

30 comentarios, deixa os teus

Deixa o teu comentario

Enderezo de correo electrónico non será publicado. Os campos obrigatorios están marcados con *

*

*

  1. Responsable dos datos: Miguel Ángel Gatón
  2. Finalidade dos datos: controlar SPAM, xestión de comentarios.
  3. Lexitimación: o seu consentimento
  4. Comunicación dos datos: os datos non serán comunicados a terceiros salvo obrigación legal.
  5. Almacenamento de datos: base de datos aloxada por Occentus Networks (UE)
  6. Dereitos: en calquera momento pode limitar, recuperar e eliminar a súa información.

  1.   raposo dixo

    Houbo un que usei que omitía maiúsculas no meu inputrc, porque sinceramente moitos ficheiros que comezaban así se escorregarían en min.

  2.   Xesús Perales dixo

    Creo que un dos máis importantes é o comando history no que devolve unha lista numerada
    dos comandos que usou e se quere usar algún deles só use a seguinte liña
    ! 22

    que executará o comando que está no seu historial no número 22 😀

    Para buscar un comando con autocompletar é
    ctrl + r

    1.    Xurxo dixo

      Tamén uso sempre Ctrl + r para repetir o último comando; unha vez que apareza o último, pode desprazarse cara atrás polo historial premendo Up Pag (frecha cara arriba).

      Saúdos.

  3.   Rodrigo bravo dixo

    Bo artigo. Grazas por compartir eses consellos.
    Quero compartir un que uso a diario, que é 'fg', que che permite abrir as aplicacións que detiviches anteriormente con 'Ctrl + z'.

    1.    xiscarda dixo

      E con 'bg' envialas a segundo plano 🙂

    2.    usemos linux dixo

      Mírate ... bo truco! Grazas por compartilo.
      Abrazo! Paul.

  4.   Gabriel dixo

    A publicación é excelente, sempre fan que recordes cousas que sabías e que eventualmente esqueciches, pero que son realmente útiles.

  5.   Qvic dixo

    Os trucos de terminal sempre son benvidos.
    Increíblemente non sabía que a historia engadiu un espazo ao comando.
    Moitas grazas, Saúdos !!

  6.   Ezequiel dixo

    para usar o historial de filtrado completado automaticamente engada no ficheiro $ HOME / .inputrc
    "\ E [5 ~": historial-busca-atrás
    "\ E [6 ~": historial-busca-adiante

    e por exemplo nalgún momento empregara:
    $ cd / one / path / longer / than / the / shit

    e agora quere usalo de novo, ten que facer:
    $cd
    e logo prema as teclas "Páxina arriba" ou "Páxina abaixo" para navegar por todos os comandos do historial que comezaron con "cd".

    1.    xiscarda dixo

      OU ... Sen editar nada, preme Ctrl + R e logo cd (se quere buscar algo con 'cd') e premendo Ctrl + R varias veces verá todos os comandos que o conteñen ata chegar ao que desexa. Obviamente, se é o inmediatamente anterior, obterás un.

    2.    usemos linux dixo

      Moi bo!

  7.   antc dixo

    En realidade ls / tmp debería ser suficiente para listar o directorio sen saír do actual.

  8.   slayerkorn dixo

    Tamén pode concatenar o comando usando ";" como no exemplo n ° 10 sería así:

    (cd / tmp; ls)

    lembranzas

    1.    RudaMale dixo

      El ";" Funciona de xeito diferente ao "&&" (e), cando facemos comando-1 && comando-2, o segundo comando só se executa se a saída do primeiro é "0", é dicir, sen erro. No caso do punto e coma, o segundo comando execútase independentemente da saída do primeiro. Para ampliar, existe o operador «||» (ou), neste caso o segundo comando só se executa se o primeiro lanza un erro na saída. Saúdos.

  9.   anónimo dixo

    Para que cada liña que recorda o historial teña data e hora, hai unha variable de entorno no ~ .bashrc do usuario normal ou root.

    # nano .bashrc
    exportar HISTTIMEFORMAT = »% F% T»

    # historia
    492 2014-09-02 14:25:57 revdep-rebuild -i -v
    493 2014-09-02 14:31:14 eclean-dist -d
    494 2014-09-02 14:31:23 localepurge -v
    495 2014-09-02 14:31:29 etc-update
    496 2014-09-02 14:31:54 emerxer –depclean –pretend
    497 2014-09-02 14:39:08 actualizadob

    Hai máis opcións, que son para a cantidade de liñas que aforra, estou probándoas.

  10.   chuckT dixo

    Moi bo post. Realmente moi útil. O truco número 4, o de executar un comando sen que se gardase no historial, só funcionou para min en Ubuntu, non en Debian ou Centos.

    1.    Azureus dixo

      Funcionou para min en raspbian e non en arch.

  11.   Chaparral dixo

    Merveilleux!!

  12.   erjuak dixo

    Ola,
    que poñer un espazo antes de executar un comando para que non se rexistre no historial, xa que non funciona ...
    [usuario @ host /] $ ls -l
    104 total
    dr-xr-xr-x. 2 raíz raíz 4096 21 ago 03:55 bin
    dr-xr-xr-x. 5 raíz raíz 3072 20 de agosto 17:26 arranque
    drwxr-xr-x. 2 raíz raíz 4096 9 de decembro de 2013 cgroup

    [usuario @ host /] $ historial
    1024 ls
    1025 ls
    1026 historia
    1027 ls -l
    1028 historia

    interesante artigo ..

    cumprimento

  13.   erjuak dixo

    Sentímolo, por non ler todas as publicacións,
    A proba tamén se fai en centos.

  14.   eliotime3000 dixo

    Bo con Ctrl + U e Ctrl + Y.

  15.   NauTiluS dixo

    No meu sistema, a lista de comandos máis usados ​​funcionou para min cambiando a variable a $ 5.

    Exemplo de saída:

    1122 sudo
    362 ls
    279 despexado
    214 cd
    142 cavar
    141 xaurt
    130 vnstat
    122 mv
    112 viu
    112 historia

    Isto ocorre porque no meu ficheiro .bashrc teño a seguinte liña:
    # Amosar a data ao comando historial
    exportar HISTTIMEFORMAT = '% F% T:'

    Estou case seguro de que moitos por aquí usaron varios terminais ao mesmo tempo.
    Agora, non sei se dicirche que é un truco para o terminal, pero como normalmente teño moitas fiestras ou uso a pantalla para ter varios terminais abertos, isto habilita calquera comando introducido nun deses terminais, xa que se reflectirá en .

    Isto vai no ficheiro .bashrc:

    HISTSIZE = 90000
    HISTFILESIZE = $ HISTSIZE
    HISTCONTROL = ignorespace: ignoredups

    historial () {
    _bash_history_sync
    historial incorporado "$ @"
    }

    _bash_history_sync () {
    historia incorporada -a # 1
    HISTFILESIZE = $ HISTSIZE # 2
    historia incorporada -c # 3
    historia incorporada -r # 4
    }

    PROMPT_COMMAND = _bash_history_sync

    1.    usemos linux dixo

      Moi boa achega! Grazas por pasar.
      Abrazo! Paul.

  16.   Roy dixo

    Parabéns polo artigo.
    Moi práctico e aprendín algúns comandos.

  17.   linuXgirl dixo

    Aínda que xa teño algo de "experiencia" nestes asuntos, sempre se agradecen estes trucos, así que ... polo baúl dos trucos !!!

  18.   sen nome dixo

    xenial, grazas polos trucos, son realmente útiles 😀

  19.   vinsuk dixo

    Os camiños da consola son inescrutables 😉

  20.   desikoder dixo

    O truco de premer control + u e control + y non depende do shell, senón da configuración que ten o tty. A día de hoxe, baixo linux, as entidades son entidades moi complexas, de feito estiven investigando o seu funcionamento e podo asegurar que teñen moitos máis detalles do que parece. O tty ten algúns caracteres de control que cambian o seu estado, por exemplo a min sucedeume ás veces que fago un gato nun ficheiro binario e, despois de que apareza todo o "lixo" na pantalla, o aviso semella estraño ou con outro codificación. Isto ocorre porque nun ficheiro aleatorio hai unha alta probabilidade de atopar caracteres de control tty.

    Por exemplo, executa isto nun intérprete de comandos:

    imprimir '33c'

    Isto borrará a pantalla (coma se foses claro).

    Outras combinacións, como control + L para limpar a pantalla, proceden do propio shell que se está a usar, as clásicas / bin / shells normalmente non traen esta característica.

    Ademais, hoxe hai moitas opcións complexas para manexar ficheiros e sockets baixo Linux. Por exemplo, se abre un dispositivo tty usando open (), no modo AIO (entrada / saída asíncrona), o proceso recibirá un SIGIO cada vez que haxa datos dispoñibles no buffer de entrada.

    Se, por exemplo, bash funciona simplemente lendo as liñas e executando comandos (como fai cando se executa un script), ao premer control + L, esta secuencia de caracteres simplemente incluiríase como parte dos comandos, pero xa que bash ten o control do buffer de a entrada pode detectalo.

    Por exemplo, ás veces ao programar usei fcntl para obter un búfer de entrada sen bloqueo, que usei incluso coas bibliotecas ncurses (manipule o control tty antes de iniciar ncurses no programa).

    Saúdos!

  21.   Lautaro dixo

    Para aqueles que non traballaron co espazo ao comezo e quizais para engadilo á nota, hai unha variable chamada HISTIGNORE onde o carácter que se engade antes dun comando está configurado para ser ignorado no historial.
    Nalgunhas instalacións esta variable non procede
    Un saúdo e bo post! directo aos favoritos!

    Teña en conta que nos comentarios tamén vin varias cousas interesantes .. !!

  22.   Ramón Hidalgo dixo

    Todo realmente moi útil. Grazas.