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.
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'
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.
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.
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).
Nada, eu mudo entre os sistemas tanto a cada dia que eu basicamente desisti disso.
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; }
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.
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.
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
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 :)
Para os colegas problemáticos:
alias ls=rm
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 -
jldugger@jldugger:~ $ alias alias ls='ls --color=auto' alias youtube-dl='youtube-dl -t
alias perg='grep -rni --exclude=\*.svn\*'
alias df='df -kTh'
alias ll="ls -l --group-directories-first"
alias cdd='cd /wherever/my/current/project/is'
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'
p = 'ps auxww | grep -v grep | grep'
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] < '
alias l='ls --color=auto -lsah'
alias ..='cd ..'
Sinto muita falta em outros sistemas
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.
alias viewpw='aespipe -d < ~/.passwd.aes > ~/.passwd.dec && more ~/.passwd.dec && shred -u ~/.passwd.dec'
Como me lembro de todas as minhas senhas ...
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 "
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á.
Provavelmente o meu favorito, já que facilita escrever novos aliases:
alias realias='vim ~/.bash_aliases;source ~/.bash_aliases'
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).
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
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.
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'
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()"'
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
Comando alias do Unix com exemplos
Felicidades!