10 votes

Des alias bash utiles et la génération d'une liste de vos commandes les plus utilisées

J'ai trouvé este Cet article présente un moyen rapide de trier votre historique de bash et de voir quelles commandes vous utilisez le plus :

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

Cela vous ouvre vraiment les yeux sur les tâches pour lesquelles vous devez créer des alias et celles que vous devez complètement supprimer par cronjob.

J'aimerais voir une liste ServerFault des alias de ligne de commande recommandés qui vous font gagner du temps au travail. . Qu'est-ce que tu as ?

Entre nous, je parie que nous pouvons faire gagner à chaque utilisateur qui lit cet article au moins 10 minutes par jour. (Moins le premier jour où ils perdent tout leur temps à lire ServerFault au lieu de faire leur travail, bien sûr !)

0 votes

Pour mémoire, sur Super User il y a superuser.com/questions/7083/alias utiles de la ligne de commande avec de nombreux alias Bash utiles

0 votes

7voto

81bronco Points 7071

Je travaille avec beaucoup de machines différentes et l'un de mes préférés est l'utilisation d'alias pour chaque machine à laquelle je dois fréquemment accéder par SSH :

alias claudius="ssh dinomite@claudius"

Il est également utile de mettre en place un bon .ssh/config y clés ssh pour faciliter le passage d'une machine à l'autre.

Un autre de mes alias préférés sert à déplacer des répertoires vers le haut :

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

Et d'autres pour des variations courantes de ls (et les fautes de frappe) :

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"

Je veux presque toujours egrep :

alias grep="egrep"

Obtenir les pages de manuel de toutes les sections

alias man="man -a"

Je me suis souvent retrouvé à canaliser la sortie à travers awk afin d'obtenir une certaine colonne de la sortie, comme dans df -h | awk '{print $2}' pour trouver la taille de chacun de mes disques. Pour faciliter cette tâche, j'ai créé une fonction fawk dans mon .bashrc :

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

Je peux maintenant exécuter df -h|fawk 2 ce qui permet d'économiser une bonne partie de la saisie.

Je travaille avec beaucoup de Perl et j'ai besoin de connaître les versions des modules installés sur un système :

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

3voto

Kellenjb Points 131

J'aime généralement tout taper, car j'ai peur d'oublier rapidement les commandes que j'utilise. Je sais que je peux me tromper, mais je ne pense pas que j'en saurais autant sur le système si j'avais simplement collé chaque commande dans Commandlinefu dans mon .bashrc.

Notez que je ne dis pas que je suis le plus grand et que je sais tout ce qu'il y a à savoir sur Linux, loin de là, je dis simplement que j'aime apprendre, et me souvenir de ce que j'ai appris en utilisant.

Cela ne veut pas dire que je n'apprécie pas le gain de temps que représentent les alias (surtout pour les grandes fonctions, mais il faut alors voir si un n'est pas mieux), mais, personnellement, je n'aime pas les utiliser (du moins pas toujours).

Ceci étant dit, Commandlinefu a une spéciale étiquette pour les pseudonymes. Cela vaut la peine de regarder.

Je pense aussi que c'est une bonne chose :

   alias less='less -FSRX'

Cela n'en utilisera moins que si la sortie est plus grande que l'écran.

2voto

Mon préféré de tous les temps :

alias server_name='ssh -v -l username ip_address'

Il n'y a pas besoin d'explication, n'est-ce pas ? :-)

5 votes

N'est-ce pas à cela que sert le fichier .ssh/config :-P Nom du serveur Host nom de l'hôte 1.2.3.4 Nom de l'utilisateur, etc.

0 votes

L'utilisation de bash_completion et de tab,tab semble fonctionner parfaitement pour moi, au lieu de mettre en place un tas d'alias ssh.

2voto

CanyonR Points 371

alias lt='ls -lhart'

  • l=long : h=taille lisible par l'homme : a=tous : r=tri inverse : t=tri temps
  • Place le fichier le plus récent en bas, juste au-dessus de l'invite.

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

  • ne montre que les lignes qui ne sont pas vides ou commentées
  • exemple : actif /etc/httpd/conf/httpd.conf

alias svi='sudo vim'

alias scr='screen -Rd'

0 votes

Sympa, surtout sudo vim

1voto

Amr Points 728

Je dois admettre que j'en ai quelques-uns comme ça

alias sl=ls

Pour essayer de combattre mes fautes de frappe :-)

J'ai aussi

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

Il est donc agréable et simple d'en ajouter de nouveaux.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X