back='cd $OLDPWD'
Eu realmente odeio digitar '$' ...
Quais são seus aliases de linha de comando favoritos (bash / sh / tcsh)? Aqui estão alguns dos meus.
alias lsr='ls -lrt' alias gon='cd $HOME/Notes' alias devdb='mysql -h dev --user=x --password=secret dbname' alias ec='rm *~'; # emacs cleanup alias h='history' alias eb='exec bash'; # Solaris sometimes defaults to sh alias mr='more' alias mroe='more' alias qd='echo export DISPLAY=$DISPLAY' alias ralias='. $HOME/.alias'; # reread aliases alias ,,='cd ../..' alias ..='cd ..' alias c='clear'
back='cd $OLDPWD'
Eu realmente odeio digitar '$' ...
Duas funções de shell mais complicadas. Eu os uso frequentemente ao pesquisar coisas em código-fonte ou arquivos de configuração.
FFind() {
if [ -n "$1" ] ; then
if [ -n "$2" ] ; then
local testVar="$1"
shift
find . -type f \
-and '(' -not -path '*.git*' ')' \
-and '(' -not -path '*.svn*' ')' \
-and '(' -not -path '*.hg*' ')' \
-and '(' "$@" ')' \
-exec grep --color=always -I -i -F -H -n "${testVar}" {} ';'
else
find . -type f \
-and '(' -not -path '*.git*' ')' \
-and '(' -not -path '*.svn*' ')' \
-and '(' -not -path '*.hg*' ')' \
-exec grep --color=always -I -i -F -H -n "$1" {} ';'
fi
fi
}
EFind() {
if [ -n "$1" ] ; then
if [ -n "$2" ] ; then
local testVar="$1"
shift
find . -type f \
-and '(' -not -path '*.git*' ')' \
-and '(' -not -path '*.svn*' ')' \
-and '(' -not -path '*.hg*' ')' \
-and '(' "$@" ')' \
-exec grep --color=always -I -i -E -H -n -m 1 "${testVar}" {} ';'
else
find . -type f \
-and '(' -not -path '*.git*' ')' \
-and '(' -not -path '*.svn*' ')' \
-and '(' -not -path '*.hg*' ')' \
-exec grep --color=always -I -i -E -H -n -m 1 "$1" {} ';'
fi
fi
}
Uso:
FFind elephant
Busca recursivamente todos os arquivos de texto no diretório atual para o elemento de string. Ignora os arquivos criados pelo Subverion, git ou mercurial. Ignora arquivos binários.
FFind 'ele.*phant' -name '*.c' -or -name '*.h'
Pesquisa recursivamente todos os arquivos de código c no diretório atual para a string 'ele. * hant' (sem correspondência de expressão regular). Ignora os arquivos criados pelo Subverion, git ou mercurial.
EFind 'mo*use' -name '*.java'
Pesquisa recursivamente todos os arquivos de código java no diretório atual para a musa de strings ou mouse ou moouse ou .... Ignora os arquivos criados pelo Subverion, git ou mercurial.
Testado com bash e zsh.
Algumas das minhas melhores coleções :)
alias cdd="cd .."
alias lss="ls -ctrl"
alias nn="nautilus . &"
alias pp="popd"
alias p="pushd"
alias g="gvim --servername 'hostname' --remote"
alias findd="find . -name"
#. Darwin:
. : source
ls : ls -G -F
resize : osascript << EOF
tell app "Terminal"
set number of rows of first window to 25
set number of columns of first window to 80
set custom title of first window to "${PROFILE}"
end tell
EOF
#. Linux:
. : source
ls : ls --color=auto -F -X -h
... em geral - eu não gosto muito de usar aliases, você se torna dependente e aprende a usar algo que só existe se você mesmo fizer isso. Eu me sentiria deficiente ao pular na máquina de outra pessoa, mesmo que por um minuto - então meu conselho geral seria usar pseudônimos muito levemente.
Por exemplo, aliasing ls to ls -F é ok, porque tem apenas efeitos cosméticos, mas aliasing a ls -l ou algo assim - eu nunca faria. Não gosto desses ll for ls -l aliases pelo mesmo motivo.
Não é um alias, mas uma função, já que eu odeio a verificação manual do sshd depois de uma reinicialização Eu tenho uma função de espera-por-ssh-to-answer no meu .zshrc:
function wssh () {
local HOST=$1
shift
local PORT=$1
if [[ -z $PORT ]]; then
PORT=22
else
shift
fi
echo -n "Polling host $HOST on port $PORT for ssh connection"
while ! nc -z -w 2 $HOST $PORT &>/dev/null; do
for i in 'jot 2 1'; do
echo -n "."
sleep 2
done
done
echo "\nConnection establihed!"
ssh -p$PORT $HOST $@
}
alias uab='unison -rsync -auto -batch'
Eu uso uníssono para sincronizar minhas configurações, ler / ler mensagens de grupos de notícias, etc.
alias memusage='ps -o rss,command -waxc | sort -n'
alias ssq='svn status -q'
alias up='cd ..'
Nós tendemos a usar o rdp um pouco, porque nós só podemos acessar certos servcices via windows, então eu gosto:
alias rdt='rdesktop -d UOFA -g 1024x768 -u '
uso é
rdt <win_username> <winhost>
Muitas das nossas coisas estão no LDAP, então pesquise como o gerenciador de diretórios é útil (com um /etc/openldap/ldap.conf configurado oportunamente):
alias dmsearch='ldapsearch -x -LLL -D"<directory_admin_bind_dn>" -W '
alias budate='date +%Y%m%d-%H%M' E.g. cp -p some-conf.comf someconf-'budate'.conf NB repale as aspas simples com backticks. Serverfault não me deixa colocar em literais backtick e eu não posso descobrir como escapar backticks.
alias psg='ps aux|grep '
alias svndiff='svn diff --diff-cmd=colordiff'
alias df='df -h'
A primeira linha usa o colordiff para colorir a saída do svn diff
A maioria dos nossos servidores não escuta o SSH em uma VLAN pública. Eu não posso ser incomodado em manter um túnel aberto no meu laptop quando estiver longe do escritório:
zugzug() { ssh -A -p <non_standard_port> -t <proxy_server> ssh $1; }
Embora seja uma função e não um alias, acho inestimável.
alguns trechos relacionados à LAMP de escolha:
apache: atividade atual
alias apache_status='watch -n1 "/etc/init.d/httpd fullstatus | egrep \"GET|POST\""'
apache: verifique a configuração e reinicie normalmente se tudo estiver ok
alias graceful='/etc/init.d/httpd configtest && /etc/init.d/httpd graceful && echo Gracefully Done'
obtenha informações do processo
alias pinfo='/root/procinfo'
info de lançamento do redhat
alias about='cat /etc/redhat-release && cat /proc/version && uname -a' alias
inicie o vim no modo de inserção (contraversial!)
alias vi='vim -c startinsert'
monitorar a atividade do drbd e o estado dos NICs ligados
alias cluster='watch -d -n0.2 cat /proc/drbd /proc/net/bonding/bond0'
para exibir o arquivo de log do squid em tempo real
proxy alias = 'tail -f /usr/local/squid/var/logs/access.log'
alias pd=pushd
alias so="echo ^O"
alias sy='rsync -vaH'
alias tcem='echo -ne "3[?25h"'
alias tt='traceroute -I'
alias x=type
Liste todos os arquivos desse diretório e classifique por tamanho de arquivo legível.
alias sizes="du --max-depth=1 -k | sort -nr | cut -f2 | xargs -d '\n' du -sh"
Eu uso muito em alguns servidores com muito espaço em disco.
Para adicionar uma coluna de números, eu tenho isso no meu .bashrc. Se você der um nome a ele como um 2º arugment, ele irá somar o número da coluna passada daquele arquivo em vez de std-in.
sumcol() {
awk "BEGIN { SUM=0 } { SUM+=\$$1 } END { print SUM }" $2
}
Eu não tenho muitos apelidos, eu copiei esse aqui de algum lugar.
alias dirf='find . -type d | sed -e "s/[^-][^\/]*\// |/g" -e "s/|\([^ ]\)/|-/"
Eu também tenho:
alias dmeasg='dmesg'
Eu digitei tantas vezes errado, que eu fiz um apelido para isso.
alias agc='df -h; apt-get autoclean ; apt-get clean ; apt-get autoremove ; df -h'
alias agi='apt-get install '
alias acs='apt-cache search '
alias agdu='apt-get update ; apt-get dist-upgrade'
Eu posso reconstruir o mesmo sistema 5+ vezes em um dia. Isso ajuda a acelerar a remoção da entrada de known_hosts.
remove-known-host() { em local HOST=$1 em em grep -v $HOST ~/.ssh/known_hosts > ~/.ssh/known_hosts.tmp em mv ~/.ssh/known_hosts.tmp ~/.ssh/known_hosts em }
alias t="rlog -L -l -R RCS/*"
Sistemas baseados em RedHat, e. RHEL, CentOS, Fedora vêm com os seguintes apelidos:
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mc='. /usr/libexec/mc/mc-wrapper.sh'
alias vi='vim'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'