Aliases de linha de comando Unix favoritos? [fechadas]

38

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'
    
por 2 revs, 2 users 100%anon 15.11.2010 / 18:34

52 respostas

12

function s()
{
    screen -t "$@" /usr/bin/ssh "$@"
}

Conecte-se a um host em uma nova guia de tela, com o nome do dispositivo como o título da guia.

    
por 30.05.2009 / 09:13
11

Meus favoritos que não foram mencionados até agora:

alias l='ls'
alias u='cd ..'
alias uu='cd ../..'
alias uuu='cd ../../..'
alias uuuu='cd ../../../..'

Eu normalmente não sou fã de apelidos que apenas encurtam as coisas, mas eu escrevo muito, e eu só preciso de uma mão.

    
por 30.05.2009 / 06:54
8

none desde que eu nunca possa garantir que eles serão configurados em TODOS os sistemas nos quais eu vou logar (como eu, root ou qualquer um).

    
por 01.06.2009 / 15:01
7

Nada, eu mudo entre os sistemas tanto a cada dia que eu basicamente desisti disso.

    
por 31.05.2009 / 00:13
6
alias ..="cd .."
alias ...="cd ../.."

# mkdir and enter it immediately thereafter
mcd()           { mkdir $1 && cd $1; }

# when entering a directory, list the contents.
cd()            { builtin cd "$@" && ls; }
    
por 31.05.2009 / 05:34
6

O conteúdo total da minha "lista de alias" é:

 

Eu gastei tempo suficiente consertando máquinas unix com as quais eu "normalmente" não trabalho (uma das desvantagens de ter sido administrador unix interno de uma casa de software, você acaba em sites de clientes, A Lot) que a primeira coisa que faço é "unalias -a", apenas para que qualquer alias que o administrador de produção normal não interaja com uma ortografia incorreta, depois disso é muito complicado personalizar.

Isso foi transferido para o meu uso normal também.

    
por 08.06.2009 / 07:09
6
alias rm 'mv -f \!* $WASTEBASKET'
alias unrm 'mv $WASTEBASKET/\!* .'

Eu sei que muitos vão discordar, mas eu gosto de redes de segurança. (E por favor, tente me perdoar por usar o tcsh.)

Este algo similar deve ser banido:

alias rm 'rm -i'

Eu vi pessoas que foram treinadas em sistemas com esse alias e, em seguida, eles digitam rm * em algum outro sistema, esperando obter perguntas sobre quais arquivos serão excluídos e, em seguida, eles ficam lá observando o que exatamente é suposto fazer.

EDITAR:

Alguns dos comentários compararam o apelido mover para cesta de lixo com o sinalizador "-i", dizendo que são semelhantes. Mas para mim há uma diferença importante. Com "-i", você recebe o aviso de confirmação toda vez que usa o comando, e ele se torna algo que você espera e depende. A solução de lixeira, por outro lado, funciona exatamente como a rm padrão, até você realmente cometer um erro e precisar remover um arquivo. É um pouco como a diferença entre as rodas de treinamento e um pneu sobressalente no porta-malas.

    
por 01.08.2009 / 09:37
4

Estes são para zsh, mas imagino que você poderia portá-los para outra shell razoavelmente fácil:

sudo() { [[ $1 == (vi|vim) ]] && shift && sudoedit "$@" || command sudo "$@"; } # sudo vi/vim => sudoedit
wst() { TZ=Australia/Perth date } # get local time no matter what server I'm on

FULLHOST='hostname -f' 2>/dev/null || FULLHOST='hostname' # reasonably portable, always gets a DHCP suffix too (if one exists)
SHORTHOST='echo $FULLHOST | cut -d. -f1-2' # get the first two segments of hostname, which I used in my shell prompt
    
por 30.05.2009 / 04:52
4

Aqui estão alguns dos meus favoritos. (Alguns são específicos do ZSH.)

alias ls='ls -F --color=auto'
alias l='ls'
alias ll='ls -ahl'
alias ..='cd ..'
alias ...='cd ../..'
alias mv='mv -i'
alias mmv='noglob zmv -W'
alias mcp='mmv -C'

mkcd() {
        if [ $1 = "" ]; then
                echo "Usage: mkcd <dir>"
        else
                mkdir -p $1
                cd $1
        fi
}

# ZSH global aliases for piping
alias -g H="| head"
alias -g T="| tail"
alias -g C="| wc -l"
alias -g L="| less"
alias -g G="| grep"
alias -g S="| sed -e"
alias -g A="| awk"

# Subversion related
alias ss='svn status'
alias sd='svn diff'
alias sc='svn commit'

# Git related
alias gs='git status'
alias gc='git commit'
alias ga='git add'
alias gd='git diff'
alias gb='git branch'
alias gl='git log'
alias gsb='git show-branch'
alias gco='git checkout'
alias gg='git grep'
alias gk='gitk --all'
alias gr='git rebase'
alias gri='git rebase --interactive'
alias gcp='git cherry-pick'
alias grm='git rm'

fortune -s  # Add to your profile to brighten your day :)
    
por 01.06.2009 / 14:57
4

Para os colegas problemáticos:

alias ls=rm
    
por 01.08.2009 / 19:54
4

existem muitos aliases aqui que não são necessários:

alias c='clear'

pode ser substituído pressionando apenas [Ctrl] + [L]

alias mroe='more'

e similar: zsh fornece correção ortográfica por padrão, bash faz isso com extensões

alias something="history | grep $@"

pressionando [Ctrl] + [R] faz o mesmo em bash / zsh

back='cd $OLDPWD'

o mesmo pode ser feito em cada shell com

cd -
    
por 01.10.2010 / 14:59
3
jldugger@jldugger:~ $ alias 
alias ls='ls --color=auto'
alias youtube-dl='youtube-dl -t
    
por 30.05.2009 / 04:35
3
alias perg='grep -rni --exclude=\*.svn\*'
alias df='df -kTh'
alias ll="ls -l --group-directories-first"
    
por 30.05.2009 / 04:48
3
alias cdd='cd /wherever/my/current/project/is'
    
por 30.05.2009 / 04:50
2
alias ls="ls --color=auto -A -h -i -s --group-directories-first -l"
alias screen="screen -U"
alias sscreen="~/Projects/bin/start_screen.sh"
alias gst='git status'
alias gl='git pull'
alias gp='git push'
alias gd='git diff | emacs'
alias gc='git commit -v'
alias gca='git commit -v -a'
alias gb='git branch'
alias gba='git branch -a'
    
por 30.05.2009 / 04:52
2

p = 'ps auxww | grep -v grep | grep'

    
por 31.05.2009 / 01:04
2

Para procurar scripts perl antigos por algo:

alias searchperl 'find /place1 /place2 /place3 -name "*.pl" | xargs grep

Envie-me um arquivo por e-mail:

alias mailthis 'mail -s mailthis [email protected] < '
    
por 01.10.2010 / 13:55
1
alias l='ls --color=auto -lsah'
alias ..='cd ..'

Sinto muita falta em outros sistemas

    
por 30.05.2009 / 09:21
1
history | awk '{print $2}' | awk 'BEGIN {FS="|"} {print $1}' | sort | uniq -c | sort -nr | head -10

Mostre os 10 principais comandos mais usados em seu histórico.

    
por 31.05.2009 / 00:23
1
alias viewpw='aespipe -d < ~/.passwd.aes > ~/.passwd.dec && more ~/.passwd.dec && shred -u ~/.passwd.dec'

Como me lembro de todas as minhas senhas ...

    
por 31.05.2009 / 01:03
1

Aqui está o meu favorito, para encontrar algo em todo o código Python nos diretórios atual e filho, excluindo aqueles associados à subversão:

alias greppy="find . | grep -v [.]svn | grep [.]py$ | xargs grep "

    
por 02.06.2009 / 00:51
1

Alguns arrancados do meu bashrc:

alias grep='grep --color=auto'
alias egrep='grep -E --color=auto'
alias e='$EDITOR'
alias g='git'
alias csort='sort | uniq -c | sort -n' # column sort piped data
alias sl='ls' # fat fingers

Geralmente, eu geralmente tenho o meu bashrc descobrir o que o gerenciador de pacotes usa o sistema e depois tê-lo com alias como apt e yum , significando em qualquer máquina na qual meu bashrc roda, eu posso fazer:

apt search foo
yum install foo
apt update

Não é perfeito, mas a maioria das ações comuns são as mesmas entre o yum e o aptitude; quando você estiver tentando fazer algo mais complicado, basta lembrar em qual sistema operacional você está.

    
por 05.06.2009 / 22:29
1

Provavelmente o meu favorito, já que facilita escrever novos aliases:

alias realias='vim ~/.bash_aliases;source ~/.bash_aliases'
    
por 07.06.2009 / 13:12
1

Eu diria que esse é meu alias favorito.

alias resume = 'tela -D -R'

Isso prova ser muito útil após a reinicialização automática da estação de trabalho do Windows todo final de semana (política da Firma).

    
por 08.06.2009 / 00:30
1
if [ "$(uname)"="darwin" ]; then
  EDITOR=mate
  PATH=$PATH:~/.bin
  alias sleep_hdd='sudo pmset -a hibernatemode 1'
  alias sleep_ram='sudo pmset -a hibernatemode 0'
  alias sleep_combined='sudo pmset -a hibernatemode 3'
  alias cdproj='cd ~/Projects/Web'
  alias e='mate'
  alias vboxheadless='VBoxHeadless -startvm '
  alias subash='sudo bash'
fi

if [ "$(uname)" = "SunOS" ]; then
  alias ls='ls -F'
  alias e='vim'
  alias subash='pfexec bash'
fi
    
por 09.06.2009 / 22:25
1

Este funciona na maioria dos desktops linux:

alias go='xdg-open'

Abre um documento ou pasta com o aplicativo registrado, semelhante ao comando de início no Windows.

    
por 11.06.2009 / 13:40
1

Mais alguns para adicionar à pilha:

# little bit more readable PATH
alias path='echo -e ${PATH//:/\n}'

# like others, I find these more efficient than
# typing cd ../../ etc
alias up='cd ..'
alias 2up='cd ../../'
alias 3up='cd ../../../'
alias 4up='cd ../../../../'

# found myself always mistyping this, so...
alias findy='find . -name'


alias targz='tar -xzvf'
alias hg='history | grep '
alias cls='clear'

# handy for the xclip tool
alias xclip='xclip -selection c'

# quick directory listing
alias ldir='ls -d */'

alias mys='mysql -uroot -psecret name-of-frequently-used-DB' 

alias trash='mv -t ~/.local/share/Trash/files --backup=t'
alias vb='vim ~/.bashrc'
alias +='pushd .'
alias _='popd'
    
por 11.06.2009 / 14:38
1
alias dsclean='find . -name .DS_Store -exec rm \{\} \;'
alias l='ls -lh'
alias ls='ls -G'

# Depends on your specific router
alias myip='curl -sn http://192.168.1.1/wancfg.cmd?action=view | grep td | tail -1 | tr -d '\''/<>a-z '\'''

# Start/stop local mysql installation
alias myserver='sudo /usr/local/mysql/support-files/mysql.server'
alias rssh='ssh -l root'
alias sc='./script/console'
alias sr='screen -r'
alias ss='./script/server'
alias sss='screen ./script/server'
alias up='svn up'
alias webshare='python -c "import SimpleHTTPServer;SimpleHTTPServer.test()"'
    
por 01.08.2009 / 18:29
1

Faça aritmética rápida a partir da linha de comando. Use "x" para multiplicação para evitar expansão.

function math
{       
    echo "scale=2 ; $*" | sed -e "s:x:*:g" | sed -e "s:,::g" | bc
}


$ math 12,537.2 x 4
50148.8
    
por 19.09.2009 / 00:08
1
por 30.09.2009 / 23:52