Le bash_aliases grossomodo c’est un fichier qui se trouve dans votre $HOME qui contient des raccourcis de commandes. C’est très pratique quand on passe beaucoup de temps dans sont terminal…
Je partage le mien qui n’est ni plus ni moins qu’une compile de ce qu’on peut trouver ici où là et deux trois petites choses maison dont je ne suis pas peu fier…
# Eliminer les commentaires d'un fichier alias cgrep="grep -E -v '^(#|$|;)'" alias nocomment='cgrep' # Reviens à faire cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf.bak function cpb() { cp $@{,.bak} ;} # Crée une sauvegarde du fichier passé en paramètre, en rajoutant l'heure et la date function bak() { cp "$1" "$1_`date +%Y-%m-%d_%H-%M-%S`" ; } alias bak="bak" alias back="bak" # Êtres gentil avec les ressources de son système function nicecool() { if ! [ -z "$1" ] then # Prendre en paramètre un pid ionice -c3 -p$1 ; renice -n 19 -p $1 else # Si il n'y a pas de paramètre on nice le pid courant (le bash) ionice -c3 -p$ ; renice -n 19 -p $ fi } alias niceprod="nicecool" alias np="niceprod" function extract() { if [ -f $1 ] ; then case $1 in *.tar.bz2) tar xjf $1 ;; *.tar.gz) tar xzf $1 ;; *.bz2) bunzip2 $1 ;; *.rar) rar x $1 ;; *.gz) gunzip $1 ;; *.tar) tar xf $1 ;; *.tbz2) tar xjf $1 ;; *.tgz) tar xzf $1 ;; *.zip) unzip $1 ;; *.Z) uncompress $1 ;; *) echo "'$1' cannot be extracted via extract()" ;; esac else echo "'$1' is not a valid file" fi } alias extract="extract" alias unall="extract" # Bannir l'IP d'un méchant rapidement function ban() { if [ "`id -u`" == "0" ] ; then iptables -A INPUT -s $1 -j DROP else sudo iptables -A INPUT -s $1 -j DROP fi } alias ban="ban" # Divers petits raccourcis : alias q='exit' alias maj='sudo aptitude update && sudo aptitude safe-upgrade' alias c='clear' alias rm='rm --interactive --verbose' alias wget='wget -c' alias mv='mv --interactive --verbose' alias cp='cp --verbose' alias grepr='grep -r' alias grep='grep -i --color' alias tree="find . | sed 's/[^/]*\//| /g;s/| *\([^| ]\)/+--- \1/'" alias mkdir='mkdir -pv' alias pg='ps aux | grep' alias pl='ps faux | less' #function mkcd () { mkdir $1 && cd $1 } function mkcd() { mkdir -p "$@" && cd "$_"; } alias mkcd="mkcd" alias rotate-exif='jhead -autorot' # rotate-exif *.JPG alias 1024="mogrify -resize 1024x1024 *.JPG" # Sources : # - http://root.abl.es/methods/1504/automatic-unzipuntar-using-correct-tool/ # - http://forum.ubuntu-fr.org/viewtopic.php?id=20437&p=3
Si aucun de ces raccourcis ne s’applique une fois que vous avez relancé votre terminal vérifier que vous avez une référence au .bash_aliases dans votre fichier ~/.bashrc
if [ -f ~/.bash_aliases ]; then . ~/.bash_aliases fi
Et si vous avez des alias que vous jugez indispensable n’hésitez pas à les posters en commentaire…
Au lieu de ton alias ‘tree’, tu peux directement utiliser le programme ‘tree’ qui se trouve dans les dépôts de Ubuntu et Debian.
Sinon j’aime ta fonction extract 🙂
Au risque de paraître tatillon, se relire c’est toujours bon (f*d*ichier et son*t*).
d’autre part, tar détecte automatiquement le type de fichier et décompressera gentiment tout tar compressé avec un simple tar xf (que ce soit les tar.gz, tar.bz2 et les tar.Z). Du coup, la commande extract fait beaucoup moins de sens…
l’alias q me semble risqué surtout qu’un simple ^d fait la même chose.
l’alias c me semble inutile aussi : ^l et c’est fait. ( ^ = ctrl)
Il n’est pas utile de créer des alias pour les fonction crée non-plus, donc les lignes comme : alias mkcd= »mkcd » sont inutiles.
Le seul alias que j’utilises n’est pas là : alias ll=’ls -la’
++
En voici quelques un :
Pour le lister le contenu d’un répertoire (fichier caché compris)
alias ll=’ls -alF’
Redémarrer un service (systemD) exemple restartService httpd
function restartService() {
sudo systemctl restart $@
}
Pour les connections vers des machines en ssh
alias server1= »ssh utilisateur@192.168.1.1″
Voir un log en temps réel exemple liveLog /var/log/httpd/error_log
alias liveLog=’tail -f’
Petite précision l’autocomplétation marche avec tous les alias / functions, du coup y a juste à taper les premières lettres de l’alias puis une petite pression sur la touche tab.
Je te pique ta functions de backup de fichier, j’y avait jamais pensé, mais c’est vraiment une bonne idée.
tar xf
sélectionne tout seul le bon type 😉@Knah Tsaeb > alias server1=”ssh utilisateur@192.168.1.1″
peut être remplacé par :
Host server1
HostName 192.168.1.1
User utilisateur
dans le fichier ${HOME}/.ssh/config
Du coup il te suffit de lancer la commande ssh server1. Ça permet aussi de passer des options en plus (si tu veux créer un tunnel ou multiplexer tes connexions) pour les cas non géré par ça j’utilise belier, un logiciel en python.
Pour liveLog, il existe déjà tailf.
Pour rgrep, il y a ack.
Déjà merci pour le partage 🙂
Mes petites questions/apports:
– pour c/clear, même remarque que Sébastien, il y a Ctrl-L qui marche au moins avec xterm et (u)rxvt.
– La c’est plus une question, pour bannir une IP, ce n’est pas mieux de passer par /etc/hosts.deny ? En tout cas c’est encore plus court à scripter.
– À quoi cela te sert de faire un alias sur une fonction portant le même nom que l’alias ?? Par exemple pour « extract » ou « ban », si tu vires la ligne alias, ça va marcher juste pareil sauf que c’est la fonction qui sera appelée en direct, comme une commande.
@Ulhume : @Sébastien à répondu pour les 2 premiers points, Pour le « alias sur une fonction » c’est juste quand tu tape la commande « alias » tu peux repérer que c’est un alias (de plus un alias « fonction ») mais ça ne sert à rien d’autres…
@Alexis :
La fonction tree du post affiche l’arborescence des fichiers. la commande tree affiche l’arborescence des processus Unix (en montrant qui est le père de qui). C’est sûr que du coup c’est mêlant 😉
@Ulhume :
– Le ctrl-l marche avec tout terminaux compatible vt220 et supérieur. Tous les terminaux X supporte au moins ca 😉
– le Hosts.deny n’est respecté que par un ensemble de service. La méthode iptables proposé dans le post initial marchera pour tout les services et protocole. Avec le hosts.deny tu ne bloqueras pas un « ping-flood » alors qu’avec la règle iptables oui.
Merci pour le billet et les commentaires,
Voici quelques-uns de mes alias :
alias sagi=’sudo apt-get install’
alias sagyi=’sudo apt-get -y install’
alias ping=’ping -c 4′
alias resolution=’xrandr -q | grep « * » | cut -d » » -f 4′
alias search=’apt-cache search’
alias policy=’apt-cache policy’