1. Execute o último comando com !!
O título diz tudo, basta digitar o seguinte em um terminal ...
!!
… Para reexecutar o último comando inserido. Este truque é muito útil quando nos esquecemos de entrar sudo Ao começo. Nesse caso, você teria que inserir:
suor !!
Para descobrir maneiras mais complexas de obter o máximo deste truque, recomendo a leitura deste post antigo.
2. Execute o último comando, mas corrigindo um erro de digitação
Este truque é muito útil quando inserimos um comando com um erro de digitação simples. Por exemplo, se executarmos:
eco "desdelinuxz"
Você pode corrigi-lo inserindo o seguinte:
^z
3. Invoque um editor de texto para inserir um comando longo
Às vezes, você precisa inserir comandos infinitos no terminal. Nesse caso, a ajuda de um editor de texto simples, como nano ou emacs, pode ser útil.
Para abrir o editor, basta pressionar Ctrl + x + e em um terminal. O texto que você digitou até agora será copiado para o editor de texto assim que for aberto.
Por sua vez, o editor a utilizar será o especificado na variável $ EDITOR. Para alterar esta configuração, é possível executar ...
export EDITOR = nano
… Substituindo o nano por seu editor preferido.
4. Execute um comando sem salvá-lo no histórico
Um verdadeiro hacker não pode ignorar esse truque. Como todos sabem, o bash salva o histórico de comandos executados, que é muito fácil de acessar usando as setas do teclado ou Ctrl + R (para realizar um pesquisa reversa na historia).
Neste caso, o que você deve fazer para que o comando inserido não seja salvo no histórico é colocar um espaço na frente:
comando
5. Coloque automaticamente o último parâmetro de um comando
Suponha que o comando executado anteriormente foi
arquivo cp.txt / var / www / wp-content / uploads / 2009/03 /
Para acessar o diretório em questão, você pode inserir o comando cd seguido de Alt +. o Esc +. :
cd 'ALT +.'
Esta é apenas uma forma abreviada de inserir:
cd / var / www / wp-content / uploads / 2009/03 /
6. Execute um comando em um horário especificado
Sim, sim, é para isso que existe cron. No entanto, às vezes queremos executar um comando para ser executado em um determinado momento, mas apenas uma vez.
Suponha que queremos executar o comando ls -l a meia noite. Nesse caso, devemos executá-lo da seguinte forma:
echo "ls -l" | à meia-noite
7. Obtenha seu IP externo
Graças ao serviço prestado por http://ifconfig.me/ É possível saber várias informações sobre sua conexão de Internet, diretamente do terminal:
curl ifconfig.me/ip // endereço IP curl ifconfig.me/host // Servidor remoto curl ifconfig.me/ua // Agente do usuário curl ifconfig.me/port // Porta
8. Aprenda a usar Ctrl + u e Ctrl + y
Quantas vezes você já começou a digitar um comando e se lembrou que antes era necessário fazer outra coisa? Bem, é possível fazer uma espécie de cut-paste para que depois seja mais fácil reinserir o comando que sobrou na metade.
Suponha que você começou a escrever ...
cd / home / user
e você lembrou que antes precisava verificar algo no diretório atual. Nesse caso, pressione Ctrl + u (Seria algo como um "corte").
Digite o comando que precisava ser executado primeiro. Suponha ...
ls -l
... e então pressione Ctrl + y (Funciona como uma "pasta").
9. Limpe o terminal facilmente
Com Ctrl + l o terminal pode ser limpo em um instante.
10. Vá para um diretório, execute um comando e retorne ao diretório atual
Este truque é uma delícia. Para executar uma série de comandos sem sair do diretório atual, basta agrupá-los entre parênteses. Como quase todo mundo sabe, para executar uma série de comandos, você deve concatená-los usando &&. Usando esses conceitos, podemos executar algo como o seguinte:
(cd / tmp && ls)
O resultado deste comando (observe os parênteses) será uma lista dos arquivos e diretórios dentro da pasta / Tmp. Tudo sem sair do nosso diretório atual. Uma joia!
Brinde. Liste os comandos mais usados
Vê-los comandos mais usados apenas execute o seguinte:
história | awk '{a [$ 2] ++} END {for (i in a) {print a [i] "" i}}' | sort -rn | cabeça
No meu caso, os vencedores foram:
450 yaourt 415 sudo 132 git 99 cd 70 leafpad 70 killall 68 ls 52 pacman 50 xrandr 45 top
Para fãs de terminal, como este servidor, recomendo visitar linha de comando fu. Além disso, por que não, não pare de olhar para o arquivo do nosso blog.
Teve um que eu usei que omitia letras maiúsculas no meu inputrc, porque honestamente muitos arquivos que começavam assim iriam escorregar para dentro de mim.
Eu acho que um dos mais importantes é o comando de histórico no qual ele retorna uma lista numerada
dos comandos que usou e se quiser usar algum deles basta usar a seguinte linha
! 22
que irá executar o comando que está em seu histórico no número 22 😀
Para procurar um comando com preenchimento automático é
Ctrl + r
Também sempre uso Ctrl + r para repetir o último comando; assim que o último aparecer, você pode rolar para trás no histórico pressionando a seta para cima.
Saudações.
Bom artigo. Obrigado por compartilhar essas dicas.
Quero compartilhar um que uso diariamente que é 'fg', que permite abrir os aplicativos que você interrompeu anteriormente com 'Ctrl + z'.
E com 'bg' você os envia para segundo plano 🙂
Olhe para você ... bom truque! Obrigado por compartilhar isso.
Abraço! Paulo.
O post é excelente, sempre te fazem lembrar coisas que você sabia e acabou esquecendo, mas que são muito úteis.
Os cheats terminais são sempre bem-vindos.
Incrivelmente, eu não sabia que a adição de um espaço ao comando foi omitida do histórico.
Muito obrigado cumprimentos!!
para usar o histórico de filtragem de preenchimento automático, adicione o arquivo $ HOME / .inputrc
"\ E [5 ~": histórico de pesquisa para trás
"\ E [6 ~": histórico de pesquisa
e, por exemplo, em algum momento você usou:
$ cd / um / caminho / mais longo / que / a / merda
e agora você deseja usá-lo novamente, você deve fazer:
$cd
e, em seguida, pressione as teclas "Page Up" ou "Page Down" para navegar por todos os comandos no histórico que começam com "cd".
OU…. Sem editar nada, pressione Ctrl + R e depois cd (se você quiser pesquisar algo com 'cd') e pressionando Ctrl + R repetidamente você verá todos os comandos que o contêm até chegar ao que deseja. Obviamente, se for o imediatamente anterior, você receberá um.
Muito bom!
Na verdade, ls / tmp deve ser suficiente para listar o diretório sem sair do atual.
Você também pode concatenar o comando usando ";" como no exemplo n ° 10 seria assim:
(cd / tmp; ls)
lembranças
Ele ";" Funciona de forma diferente do "&&" (e), quando fazemos command-1 && command-2 o segundo comando só é executado se a saída do primeiro for "0", ou seja, sem erro. No caso do ponto-e-vírgula, o segundo comando é executado independentemente da saída do primeiro. Para estender, existe o operador «||» (ou), neste caso o segundo comando é executado apenas se o primeiro gerar um erro na saída. Saudações.
Para que cada linha que lembra do histórico tenha data e hora, há uma variável de ambiente no ~ .bashrc do usuário normal ou root.
#nano.bashrc
exportar HISTTIMEFORMAT = »% F% T»
# história
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 emerge –depclean –pretend
497 2014-09-02 14:39:08 updatedb
Existem mais opções, que são para a quantidade de linhas que ele salva, estou testando.
Postagem muito boa. Muito útil mesmo. O truque número 4, de executar um comando sem salvá-lo na história, só funcionou para mim no Ubuntu, não no Debian ou no Centos.
Funcionou para mim em framboesa e não em arco.
Merveilleux!!
Olá,
o que colocar um espaço antes de executar um comando para que não fique registrado no histórico, pois não funciona ...
[usuário @ host /] $ ls -l
104 total
dr-xr-xr-x. 2 root root 4096 21 de agosto 03:55 bin
dr-xr-xr-x. 5 root root 3072 20 de agosto 17:26 boot
drwxr-xr-x. 2 root root 4096 9 de dezembro de 2013 cgroup
[usuário @ host /] $ histórico
1024 ls
1025 ls
1026 história
1027 ls -l
1028 história
artigo interessante..
Uma saudação
Desculpe, por não ler todos os posts,
O teste também é feito em centos.
Bom com Ctrl + U e Ctrl + Y.
No meu sistema, a lista dos comandos mais usados funcionou para mim, alterando a variável para $ 5.
Exemplo de saída:
1122 sudo
362 ls
279 claro
214 cd
142 cava
141 iogurtes
130vnstat
122 mv
112 serra
História 112
Isso ocorre porque em meu arquivo .bashrc, tenho a seguinte linha:
# Mostra a data para o comando histórico
exportar HISTTIMEFORMAT = '% F% T:'
Tenho quase certeza de que muitos por aqui usaram vários terminais ao mesmo tempo.
Agora, não sei se te digo que é um truque de terminal, mas como geralmente tenho muitas janelas ou uso a tela para ter vários terminais abertos, isso habilita qualquer comando inserido em um desses terminais, pois isso se refletirá em tudo.
Isso vai para o arquivo .bashrc:
HISTSIZE = 90000
HISTFILESIZE = $ HISTSIZE
HISTCONTROL = ignorespace: ignoreups
história () {
_bash_history_sync
história embutida "$ @"
}
_bash_history_sync () {
história embutida -a # 1
HISTFILESIZE = $ HISTSIZE # 2
história embutida -c # 3
história embutida -r # 4
}
PROMPT_COMMAND = _bash_history_sync
Muito boa contribuição! Obrigado por passar.
Abraço! Paulo.
Parabéns pelo artigo.
Muito prático e aprendi alguns comandos.
Apesar de já ser um pouco "experiente" nestes assuntos, estes truques são sempre apreciados, por isso… para o tronco dos truques !!!
ótimo, obrigado pelos truques, eles são muito úteis 😀
Os caminhos do console são inescrutáveis 😉
O truque de pressionar control + ue control + y não depende do shell, mas da configuração que o tty possui. Até hoje, no Linux, os tty são entidades muito complexas. Na verdade, tenho investigado sua operação e posso garantir que eles têm muito mais prós e contras do que parece. Os tty possuem alguns caracteres de controle que mudam de status, por exemplo já me aconteceu algumas vezes que procuro um arquivo binário, e depois que todo o "lixo" aparece na tela, o prompt está estranho ou com outra codificação. Isso ocorre porque em um arquivo aleatório há uma grande probabilidade de encontrar caracteres de controle tty.
Por exemplo, execute isto em um shell:
imprimir '33c'
Isso limpará a tela (como se você executasse tudo limpo).
Outras combinações, como control + L para limpar a tela, vêm do próprio shell que está sendo usado, o clássico / bin / shells geralmente não trazem esse recurso.
Além disso, hoje existem muitas opções complexas para lidar com arquivos e soquetes no Linux. Por exemplo, se você abrir um dispositivo tty usando open (), no modo AIO (Asynchronous Input / Output), o processo receberá um SIGIO toda vez que houver dados disponíveis no buffer de entrada.
Se, por exemplo, o bash funciona simplesmente lendo as linhas e executando comandos (como faz ao executar um script), ao pressionar control + L, esta sequência de caracteres seria simplesmente incluída como parte dos comandos, mas como o bash tem controle do buffer de entrada pode detectá-lo.
Por exemplo, às vezes, quando estou programando, passei a usar fcntl para obter um buffer de entrada sem bloqueio, que usei mesmo com bibliotecas ncurses (manipule o tty de controle antes de iniciar ncurses no programa).
Saludos!
Para quem não trabalhou com o espaço no início, e talvez para adicioná-lo à nota, existe uma variável chamada HISTIGNORE onde o caractere que é adicionado antes de um comando é configurado para ser ignorado no histórico.
Em algumas instalações, esta variável não vem de
Saudações e bom post! direto para favoritos!
Reparem que nos comentários também vi várias coisas interessantes .. !!
Tudo realmente muito útil. Obrigado.