Alias ​​de ligne de commande Unix préférés? [fermé]

39

Quels sont vos alias de ligne de commande préférés (bash / sh / tcsh)? Voici quelques-unes des miennes.

alias lsr = 'ls -lrt'
alias gon = 'cd $ HOME / Notes'
alias devdb = 'mysql -h dev - utilisateur = x --password = nom_bdd secret'
alias ec = 'rm * ~'; # emacs cleanup
alias h = 'histoire'
alias eb = 'exec bash'; La valeur par défaut de Solaris est parfois sh
alias mr = 'more'
alias mroe = 'more'
alias qd = 'echo export DISPLAY = $ DISPLAY'
alias ralias = '. $ HOME / .alias '; # relire les alias
alias ,, = 'cd ../ ..'
alias .. = 'cd ..'
alias c = 'clear'
anon
la source
18
Plutôt que de transmettre votre mot de passe sur la ligne de commande à mysql(tout le monde sur le serveur pourrait le voir!), Mettez le nom d'utilisateur et le mot de passe dans un fichier ~ / .my.cnf et spécifiez simplement -up. Les outils MySQL vont chercher ces identifiants automatiquement, lisez mysql (1) pour plus d’informations.
Alex J
+1 Pour alias .. = 'cd ..'
mardi
+1 pour 'mroe'. Je dois prendre soin de mes fautes d'orthographe communes ...
gWaldo

Réponses:

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

Connectez-vous à un hôte dans un nouvel onglet d'écran, avec le nom de l'appareil comme titre.

Murali Suriar
la source
11

Mes favoris qui n'ont pas encore été mentionnés:

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

Normalement, je ne suis pas fan de pseudonymes qui raccourcissent les choses, mais je tape tellement souvent, et je n’ai besoin que d’une main.

C Pirate
la source
+1 - pas une mauvaise idée
Rook
1
ls (et cd) n'a besoin que d'une main ... si le keymap est Dvorak! Même main que 'Enter', d'ailleurs.
gbarry
8

aucune puisque je ne peux jamais garantir qu'ils seront configurés sur CHAQUE système auquel je me connecterai (comme moi-même, root ou qui que ce soit).

TCampbell
la source
1
Exactement! Des choses sans danger comme alias ls = "ls --color = auto sont acceptables, mais vous
pouvez
7

Aucune, je change tellement de système chaque jour que j'y renonce.

Martin P. Hellwig
la source
Vous ne synchronisez pas vos répertoires personnels entre les différentes machines? xoa.petdance.com/How_to:_Keep_your_home_directory_in_Subversion
Andy Lester
Je maintiens avec un groupe d’administrateurs environ 5 000 ordinateurs. La plupart de ces ordinateurs n’ont jamais eu de session d’utilisateur interactive à distance (toute l’installation et la configuration se font automatiquement). Nous avons envisagé de faire monter automatiquement le compte des administrateurs d'utilisateurs à partir d'une partition NFS partagée, mais son utilisation n'en vaut pas la peine.
Martin P. Hellwig
1
... les comptes admin / root n'incluent pas les répertoires nfs dans son chemin - lorsque NFS est bork, les comptes admin / root le sont également. Certains de mes clients insistent pour apprendre cela à la dure.
David Mackintosh
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; }
z8000
la source
6

Le contenu total de ma "liste d'alias" est:



J'ai passé assez de temps à réparer des machines Unix avec lesquelles je ne travaille pas "normalement" (l'un des inconvénients d'être administrateur Unix en interne pour un éditeur de logiciels, vous vous retrouvez sur les sites des clients, beaucoup). Je fais est de "unalias -a", juste pour que n'importe quel alias de l'administrateur de production normal n'interagisse pas avec une faute d'orthographe, après que c'est trop compliqué à personnaliser.

Cela a également été repris dans mon utilisation normale.

Vatine
la source
6
alias rm 'mv -f \!* $WASTEBASKET'
alias unrm 'mv $WASTEBASKET/\!* .'

Je sais que beaucoup ne seront pas d'accord, mais j'aime les filets de sécurité. (Et s'il vous plaît essayez de me pardonner pour l'utilisation de tcsh.)

Celui-ci un peu similaire devrait être proscrit, cependant:

alias rm 'rm -i'

J'ai vu des personnes formées sur les systèmes portant ce pseudonyme, puis elles tapaient rm *sur un autre système, s'attendant à recevoir des questions sur les fichiers à supprimer, puis elles restaient assises à regarder le document faire exactement ce qu'il était censé faire.

MODIFIER:

Certains commentaires ont comparé l'alias de déménagement à la corbeille avec l'indicateur "-i", affirmant qu'ils étaient similaires. Mais pour moi, il y a une différence importante. Avec "-i", vous obtenez l’invite de confirmation chaque fois que vous utilisez la commande. C’est quelque chose que vous attendez et sur lequel vous comptez. La solution Corbeille, en revanche, fonctionne exactement comme la société standard, jusqu’à ce que vous commettiez une erreur et que vous deviez annuler la suppression d’un fichier. C'est un peu comme la différence entre des roues de formation et un pneu de secours dans le coffre.

Thomas Padron-McCarthy
la source
l'équivalent en bash nécessite une fonction: del () {chemin = readlink -f "$1"mkdir -p $ WASTE $ chemin mv $ chemin $ WASTE $ chemin} Ce n'est pas parfait (car il crée un nouveau répertoire avec le nom du fichier), mais cela fonctionne correctement. (les nouvelles lignes sont laissées comme un exercice pour le lecteur!)
gbjbaanb
+1: J'utilise Tcsh trop :-)
+1: on vous pardonne d'utiliser tcsh;)
bedwyr
6
En toute justice, s'attendre à une confirmation rapide et ne pas en recevoir une est aussi grave que de s'attendre à ce qu'elle soit mise dans une corbeille à papier et que cela ne se produise pas. Il n'y a pas de différence, vraiment.
Dan Udey
@Dan: Je pensais la même chose. L'alias ne devrait vraiment pas s'appeler rm, mais wb pour Wastebasket, ou quelque chose de similaire.
user9474
4

Celles-ci sont pour zsh, mais j'imagine que vous pourriez les porter dans un autre shell assez facilement:

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
Alex J
la source
Désolé pour mon ignorance, quelle est la différence entre sudo vim et sudoedit? Sudo edit = sudo $ EDITOR?
Olle
sudoedit exécute votre éditeur sous votre compte, plutôt qu'en tant que root. Cela signifie que vous avez accès à votre propre ~ / .vimrc, etc.
Alex J
1
+1 pour passer sudo vi <somefile>à sudoedit <somefile! + plus si je pouvais
Kevin M
4

Voici quelques-uns de mes favoris. (Quelques-uns sont spécifiques à 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 :)
À M
la source
4

Pour ces collègues gênants:

alias ls=rm
Mark Harrison
la source
2
Je préfère le "alias vi = vi -R" beaucoup plus subtil
David Mackintosh
4

il y a beaucoup de pseudonymes ici qui ne sont pas nécessaires:

alias c = 'clear'

peut être remplacé en appuyant simplement sur [Ctrl] + [L]

alias mroe = 'more'

et similaire: zsh fournit une correction orthographique par défaut, bash le fait avec des extensions

alias quelque chose = "historique | grep $ @"

appuyer sur [Ctrl] + [R] fait la même chose en bash / zsh

back = 'cd $ OLDPWD'

la même chose peut être faite dans chaque coquille avec

cd -
Skaarj
la source
3
jldugger @ jldugger: ~ $ alias 
alias ls = 'ls --color = auto'
alias youtube-dl = 'youtube-dl -t
Jldugger
la source
+1 pour ls = 'ls - color = auto'
Matt Simmons
3
alias perg='grep -rni --exclude=\*.svn\*'
alias df='df -kTh'
alias ll="ls -l --group-directories-first"
Andrei Serdeliuc
la source
1
Pour le premier, essayez "ack". c'est un grep de programmeur;) betterthangrep.com
hayalci
3
alias cdd='cd /wherever/my/current/project/is'
le chaos
la source
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'
GNUix
la source
2

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

disserman
la source
Dans certains cas, pgrep est utile. Pas le même effet, mais toujours utile.
Juliano
2

Pour rechercher quelque chose dans les anciens scripts Perl:

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

Email moi un fichier:

alias mailthis 'mail -s mailthis [email protected] < '
mmarchin
la source
1
alias l='ls --color=auto -lsah'
alias ..='cd ..'

Ça me manque très souvent sur d'autres systèmes

lmbus
la source
1
history | awk '{print $2}' | awk 'BEGIN {FS="|"} {print $1}' | sort | uniq -c | sort -nr | head -10

Affiche les 10 commandes les plus utilisées de votre historique.

pete
la source
version plus courte, pas besoin de awk: history | cut -f 5 -d '' | trier | uniq -c | trier -n | queue
Marcin
1
alias viewpw='aespipe -d < ~/.passwd.aes > ~/.passwd.dec && more ~/.passwd.dec && shred -u ~/.passwd.dec'

Comment je me souviens de tous mes mots de passe ...

aultl
la source
1

Voici mon préféré, trouver quelque chose dans tout le code Python des répertoires courant et enfant, à l’exclusion de ceux associés à la subversion:

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

Joel
la source
1

Quelques extraits de mon bas:

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

Généralement, je demande à mon équipe de savoir quel gestionnaire de paquets le système utilise, puis de lui donner un alias au fur aptet à mesure.yum , ce qui signifie que sur n'importe quelle machine sur laquelle mon disque est exécuté, je peux simplement faire:

apt search foo
yum install foo
apt update

Ce n'est pas parfait, mais la plupart des actions courantes sont les mêmes entre miam et aptitude. Lorsque vous essayez de faire quelque chose de plus compliqué, vous pouvez simplement vous souvenir de votre système d'exploitation.

JamesHannah
la source
1

Probablement mon préféré, car cela facilite l'écriture de nouveaux alias:

alias realias='vim ~/.bash_aliases;source ~/.bash_aliases'
Télémaque
la source
1

Je dirais que c'est mon alias préféré.

alias resume = 'screen -D -R'

Cela s'avère très pratique après le redémarrage automatique de mon poste de travail Windows chaque week-end (politique de l'entreprise).

fletchnj
la source
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
daeltar
la source
vboxheadless devrait déjà être dans votre $ PATH: uname; quel vboxheadless Darwin / usr / bin / vboxheadless
olle
1

Celui-ci fonctionne sur la plupart des ordinateurs de bureau Linux:

alias go='xdg-open'

Ouvre un document ou un dossier avec l'application enregistrée, similaire à la commande de démarrage de Windows.

amarillion
la source
1
Changez-le en xdg-open et cela devrait fonctionner sur tout environnement de bureau compatible XDG.
Juliano
1

Quelques autres à ajouter à la pile:

# 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'
Yalestar
la source
Stocker des mots de passe dans des scripts tels que celui-ci est potentiellement dangereux, sauf si vous en avez 600. Dès son exécution, votre mot de passe est enregistré dans un fichier historique - également potentiellement dangereux.
Marcin
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()"'
Jorge Bernal
la source
1

Effectuez une arithmétique rapide à partir de la ligne de commande. Utilisez "x" pour la multiplication afin d'éviter une expansion.

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


$ math 12,537.2 x 4
50148.8
Gérald Combs
la source