ti-enxame.com

Aliases úteis e gerando uma listagem de seus comandos mais usados

Eu encontrei isto Artigo discutindo uma maneira rápida de classificar seu histórico de bash e ver quais comandos você mais usa:

cut -f1 -d" " .bash_history | sort | uniq -c | sort -nr | head -n 30

Realmente abre seus olhos sobre quais tarefas você deve criar aliases e quais você deve distanciar completamente.

Eu adoraria ver uma lista ServerFault de aliases de linha de comando recomendada que economizam tempo no trabalho . O que voce conseguiu?

Entre nós, aposto que podemos salvar cada usuário que lê este post pelo menos 10 minutos por dia. (Menos o primeiro dia em que eles desperdiçam todo o seu tempo lendo serveFault em vez de fazer o seu trabalho, é claro!)

10
Jax

Eu lido com muitas máquinas diferentes, então um dos meus favoritos é aliases para cada máquina que eu preciso frequentemente ssh para:

alias claudius="ssh [email protected]"

Também é útil configurar um bom .ssh/config e ssh chaves para fazer pular entre as máquinas ainda mais fácil.

Outro dos meus aliases favoritos é para subir diretórios:

alias ..="cd .."
alias ...="cd ../.."
alias ....="cd ../../.."
alias .....="cd ../../../.."

E alguns para variações comumente usadas de ls (e typos):

alias ll="ls -l"
alias lo="ls -o"alias lh="ls -lh"
alias la="ls -la"
alias sl="ls"
alias l="ls"
alias s="ls"

Eu quase sempre quero egrep:

alias grep="egrep"

Obter Páginas MAN de todas as seções

alias man="man -a"

Muitas vezes me encontrei a saída de tubulação através de awk para obter uma determinada coluna da saída, como em df -h | awk '{print $2}' Para encontrar o tamanho de cada um dos meus discos. Para facilitar isso, criei uma função fawk no meu .bashrc:

function fawk {
    first="awk '{print "
    last="}'"
    cmd="${first}\$${1}${last}"
    eval $cmd
}

Agora posso executar df -h|fawk 2 Que salva um bom bocado de digitação.

Eu trabalho com muito Perl e preciso saber as versões de módulos instalados em um sistema:

function perlmodver {
    Perl -M$1 -e 'print "Version " .
        $ARGV[0]->VERSION . " of " . $ARGV[0] .
        " is installed.\n"' $1
}
7
Drew Stephens

Eu geralmente gosto de digitar tudo, porque tenho medo de esquecer tudo sobre os comandos que estou usando em nenhum momento. Eu sei que posso estar errado, mas eu não acho que soube tanto sobre o sistema se eu tivesse acabado de colar todos os comandos em Commandlineef no meu .bashrc.

Note que não estou dizendo que sou o maior e sei tudo o que há para saber sobre o Linux, longe disso, estou apenas dizendo que gosto de aprender e lembrar o que aprendi usando.

Isso não quer dizer que eu não aprecio como os aliases de poupança de tempo são (especialmente para funções maiores, mas você tem que ver se um script não é melhor), mas, pessoalmente, eu não gosto de usá-los (pelo menos Sem sempre).

Dito isto, Commandlineefu tem um especial tag para aliases. Vale a pena olhar.

Também acho que isso é bom:

   alias less='less -FSRX'

Isso só usará menos se a saída for maior que a tela.

3
Flávio Amieiro

alias lt='ls -lhart'

  • l = long: h = tamanhos legíveis humanos: a = tudo: r = classificação reversa: t = tempo tipo
  • Coloca o arquivo mais novo na parte inferior, logo acima do prompt

alias active='grep -v -e "^$" -e"^ *#"'

  • mostra apenas linhas que não estão em branco ou comentadas
  • exemplo: ativo /etc/httpd/conf/httpd.conf

alias svi='Sudo vim'

alias scr='screen -Rd'

2
CanyonR

Eu acho irritante colocar todo o apt-get e apt-cache coisas em debian/* buntu, especialmente com prefixo sudo, então eu tenho:

alias apti='Sudo apt-get install'
alias aptr='Sudo apt-get remove'
alias apts='apt-cache search'
1
astropanic

criar .tar.gz.

alias tarc="tar czvf"

extrato .tar.gz.

alias tarx="tar xzvf"

lista .tar.gz.

alias tart="tar tzvf"
1
aeonflux

Eu tenho que admitir que tenho alguns como este ..

alias sl=ls

Para tentar combater meus erros de digitação :-)

Eu também tenho

alias aliases='xterm -e vim ~/.bash_aliases;reload'
alias reload='. ~/.bash_aliases'

Então é legal e simples para adicionar novos.

1
Vagnerr
alias cd..='cd ..'
1
vartec
for Host in `awk '{ print $1 }' ~/.hostsILogIntoAllTheTime`; do
  alias $Host='ssx '$Host
done 

Digite o nome do host para logon para o host. Nota: SSX é um alias em si:

ssx='ssh -Y'

Combinado com chaves compartilhadas, é muito liso.

1
Swoogan

+1 para Drew Stephens responder. O único que ele não cobria que eu também uso é para alias os vários arquivos de pontos que preciso acessar regularmente como:

alias dotz='vi ~/.zshrc'

Dê um passo adiante com uma função de add-alias on-the-fly:

function add-alias {
echo "alias $1=\047$2\047" >> ~/.zshrc
}
0
Somantra

Eu achei esta página à procura de uma maneira de fazer um alias para me mostrar a nidade coluna de um arquivo csv (tsv na verdade) usando awk. A função Fawk acima foi quase exatamente o que eu queria. Eu modifiquei ligeiramente para adicionar um segundo argumento opcional, o nome do arquivo, para que eu possa usá-lo como awk normalmente em vez de apenas através de um tubo.

function fawk {
    first="awk '{print "
    last="}' $2"
    cmd="${first}\$${1}${last}"
    echo $cmd
    eval $cmd
}

Obrigado!

0
marlacparker

Este não é um alias, mas vendo pessoas que aliases se conexões SSH podem ser úteis.

O pacote openssh tem um binário chamado ssh-argv0 que funciona via links simpáticos.

Então, se você fizer algo assim:

Sudo ln -s /usr/bin/ssh-argv0 /usr/local/bin/[email protected]

Tendo/usr/local/bin no caminho $, agora você pode se conectar como usuário "user" para ssh.server.com escrevendo isso em um prompt de shell:

 $ [email protected] 
0
sntg
0
Hamish Downer