Outils pour utilisateurs

Outils du site


linux:aliases

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
linux:aliases [22/07/2010 13:35] – .bashrc complet daniellinux:aliases [04/05/2012 18:50] (Version actuelle) daniel
Ligne 1: Ligne 1:
 ====== Aliases, couleur de prompt & co ====== ====== Aliases, couleur de prompt & co ======
-===== .bashrc ===== 
-<code bash> 
-# ne rien faire en mode non interactif 
-[ -z "$PS1" ] && return 
  
 +Pour les users ayant bash comme shell (attention, avec squeeze le shell par défaut est dash, qui devrait réagir à peu près pareil, pas vérifié), le processus au login est le suivant
 +  * /etc/profile (prompt $ ou #, ), qui source
 +  * /etc/bash.bashrc (active notamment /etc/bash_completion)
 +  * /etc/profile.d/*
 +  * ~/.profile qui source
 +  * ~/.bashrc (qui lui est aussi lu par les "non-login shell")
 +
 +Mais attention, c'est **au login seulement** et pas au lancement de bash (qui lit alors seulement /etc/bash.bashrc et ~/.bashrc), donc si on veut que les commandes soient lancées à l'ouverture d'un nouveau terminal dans une session graphique, il faut le mettre dans un de ces deux fichiers, éventuellement avec un test ''if [ -n "$PS1" ] ...'' avant pour limiter les commandes à un shell interactif.
 +
 +Attention aussi à ne pas faire de ''echo "Bonjour"'' dans un .bashrc pour les shell non interactifs qui n'apprécient guère (rsync marche plus par exemple), ce genre de chose irait plutôt dans un .profile pour l'afficher au login ssh, ou dans .bashrc avec un test sur le shell interactif.
 +
 +Cf http://www.fam.tuwien.ac.at/~schamane/_/blog:110814_bash_shell_startup_files_in_debian_squeeze
 +
 +===== ~/.profile =====
 +<code bash>
 umask 022 umask 022
  
-# les variables d'environnement+# les variables d´environnement
 export HISTSIZE=2500 export HISTSIZE=2500
 export PATH="$PATH:/home/bin" export PATH="$PATH:/home/bin"
Ligne 18: Ligne 29:
 done < /etc/environment done < /etc/environment
  
-# Pour le reste, on charge alias et prompt et completion+# Pour le reste, on charge alias et prompt et complétion
 if [ -f ~/.bash_prompt ]; then if [ -f ~/.bash_prompt ]; then
   . ~/.bash_prompt   . ~/.bash_prompt
Ligne 30: Ligne 41:
 fi fi
 </code> </code>
 +Cf http://doc.ubuntu-fr.org/variables_d_environnement pour la liste des variables dispo
 +
 +
 +
 +
 +
 +
 +
  
 ===== .bash_aliases ===== ===== .bash_aliases =====
Ligne 40: Ligne 59:
 # alias perso # alias perso
 # dates # dates
-timestamp2date() { [ $# -lt 1 ] && echo "prend un timestamp comme argument" || date -d "1970-01-01 UTC +$1 seconds" "+%d/%m/%%H:%M:%S";+ts2date() { [ $# -lt 1 ] && echo "prend un timestamp comme argument" || date -d "1970-01-01 UTC +$1 seconds" "+%Y-%m-%%H:%M:%S";
-date2timestamp() { [ $# -lt 1 ] && echo "entrez une date comme argument (sous la forme 'YYYY-MM-DD' ou 'YYYY-MM-DD hh:mm' ou 'YYYY-MM-DD hh:mm:ss', etc.)" || date -d "$*" "+%s"; }+date2ts() { [ $# -lt 1 ] && echo "entrez une date comme argument (sous la forme 'YYYY-MM-DD' ou 'YYYY-MM-DD hh:mm' ou 'YYYY-MM-DD hh:mm:ss', etc.)" || date -d "$*" "+%s"; }
    
 # gestion des paquets # gestion des paquets
Ligne 52: Ligne 71:
 alias apud='aptitude update' alias apud='aptitude update'
 alias apug='aptitude safe-upgrade' alias apug='aptitude safe-upgrade'
 +alias apwh='aptitude why'
 +alias apwn='aptitude why not'
 alias apfs='apt-file search'  alias apfs='apt-file search' 
 alias apfu='apt-file updtate'  alias apfu='apt-file updtate' 
 alias apcp='apt-cache policy'  alias apcp='apt-cache policy' 
 alias pkgr='dpkg -l|grep'; # liste des paquets dont le nom contient $1 alias pkgr='dpkg -l|grep'; # liste des paquets dont le nom contient $1
-alias pkl='dpkg -l'; # pour voir l'état local du paquet $1+alias pkl='dpkg -l'; # pour voir l´état local du paquet $1
 alias pkL='dpkg -L'; # la liste des fichiers du paquet $1 alias pkL='dpkg -L'; # la liste des fichiers du paquet $1
- +# pour utiliser les backport 
 +alias aplbin='aptitude install -t squeeze-backports' 
 +alias aplbsh='aptitude show -t squeeze-backports' 
 +alias aplbfs='apt-file search -t squeeze-backports' 
 +alias aplbfu='apt-file updtate -t squeeze-backports' 
 +alias aplbcp='apt-cache policy -t squeeze-backports' 
 # fichiers # fichiers
    
 # un peu de couleurs pour ls # un peu de couleurs pour ls
 export LS_OPTIONS='--color=auto' export LS_OPTIONS='--color=auto'
-eval "$(dircolors)" 
 alias ls='ls $LS_OPTIONS' alias ls='ls $LS_OPTIONS'
 alias ll='ls $LS_OPTIONS -l' alias ll='ls $LS_OPTIONS -l'
 alias l='ls $LS_OPTIONS -lAh' alias l='ls $LS_OPTIONS -lAh'
 alias la='ls $LS_OPTIONS -la' alias la='ls $LS_OPTIONS -la'
 +# et pour les couleurs de fichiers suivant droits / extensions, on exporte LS_COLORS
 +eval "$(dircolors)"
 ltr() { ls -altr $*|tail; } ltr() { ls -altr $*|tail; }
 +# un cd qui accepte les fichiers
 +cdf() { [ -f "$1" ] && r="$(dirname "$1")" || r="$1"; cd "$r" ; }
    
 alias chweb='chown -R www-data:www-data' alias chweb='chown -R www-data:www-data'
Ligne 76: Ligne 106:
 # et pour grep # et pour grep
 alias grep='grep --color=auto' alias grep='grep --color=auto'
 + 
 # et les locales utf8 que awk n'aime pas trop    # et les locales utf8 que awk n'aime pas trop   
 alias awk='env LANGUAGE=C LANG=C LC_ALL=C LC_NUMERIC=C awk' alias awk='env LANGUAGE=C LANG=C LC_ALL=C LC_NUMERIC=C awk'
    
-# taille d'un rep (sans les éventuels autres filesystems montés dedans) +# taille d´un rep (sans les éventuels autres filesystems montés dedans) 
-alias du1='du -schx';+alias du1='du -schx' 
 +alias du1m='du -scxm' 
 +alias du1a='echo -e "Mo\tchemin"du -camx --max-depth=1'     # la liste du contenu d'un dossier, en Mo 
 +du1A() { echo -e "Mo\tchemin"; du -camx --max-depth=1 $1 | sort -n -k 1; } # idem, triés 
 +du1Ag() { du -camx --max-depth=1 $1 | sed -e "/^.[^0-9]/d; 1 i Mo\tchemin (< 10Mo non affichés)" | sort -n -k 1; } # idem > 9Mo 
 alias tf='tail -f' alias tf='tail -f'
 alias t50='tail -n50' alias t50='tail -n50'
Ligne 89: Ligne 124:
 # affiche une tranche de fichier # affiche une tranche de fichier
 cattr() { [ $# != 3 ] && echo "3 arguments requis (n° 1re ligne, n° dernière ligne, fichier)" || sed -ne "$1,$2 p;" $3; } cattr() { [ $# != 3 ] && echo "3 arguments requis (n° 1re ligne, n° dernière ligne, fichier)" || sed -ne "$1,$2 p;" $3; }
-# pour lister tous les exemplaires uniques (on se fie à date et taille) d'un fichier+# pour lister tous les exemplaires uniques (on se fie à date et taille) d´un fichier
 luf() {  luf() { 
   tl=/tmp/luf.list;   tl=/tmp/luf.list;
Ligne 114: Ligne 149:
     # sans accents ni espace     # sans accents ni espace
     rename 'y/áàâäçéèêëíìîïñóòôöúùûü ÁÀÂÄÇÉÈÊËÍÌÎÏÑÓÒÔÖÚÙÛÜ/aaaaceeeeiiiinoooouuuu_aaaaceeeeiiiinoooouuuu/' $*     rename 'y/áàâäçéèêëíìîïñóòôöúùûü ÁÀÂÄÇÉÈÊËÍÌÎÏÑÓÒÔÖÚÙÛÜ/aaaaceeeeiiiinoooouuuu_aaaaceeeeiiiinoooouuuu/' $*
-    # et on remplace tout ce qui n'est pas lettre, chiffre, underscore, tiret, point par underscore+    # et on remplace tout ce qui n´est pas lettre, chiffre, underscore, tiret, point par underscore
     rename 's/[^a-z0-9_\-\.]/_/g' $*     rename 's/[^a-z0-9_\-\.]/_/g' $*
     # on vire les doubles underscores     # on vire les doubles underscores
Ligne 130: Ligne 165:
 # les derniers logs systeme modifiés # les derniers logs systeme modifiés
 alias lvl='ls -ltr /var/log/ |tail';  alias lvl='ls -ltr /var/log/ |tail'; 
-# la fin d'un log systeme+# la fin d´un log systeme
 tvl() { [ $# -lt 1 ] && echo "Il faut indiquer un fichier de /var/log/" || tail /var/log/$1; tvl() { [ $# -lt 1 ] && echo "Il faut indiquer un fichier de /var/log/" || tail /var/log/$1;
-# les derniers logs apache modifiés + 
-alias lwl='ls -ltr /var/log/apache2/ |tail';  +# les derniers logs web 
-# la fin d'un log apache +alias lwa='ls -ltr /var/log/apache2/ |tail'; 
-twl() { [ $# -lt 1 ] && echo "Il faut indiquer un log apache" || tail /var/log/apache2/$1;+alias lwn='ls -ltr /var/log/nginx/ |tail'; 
-# 3 dernières lignes de chaque fichier d'erreur php (NON STANDARD, dépend de la conf php) +alias lwp='ls -ltr /var/log/php5/ |tail';    
-alias tpe='for f in /var/www/traces/*/php_error.log; do echo $ftail -$fecho; done;' +# la fin d´un log        
 +twa() { [ $# -lt 1 ] && echo "Il faut indiquer un log apache" || tail /var/log/apache2/$1;
 +twn() { [ $# -lt 1 ] && echo "Il faut indiquer un log nginx" || tail /var/log/php5/$1
 +twp() { [ $# -lt 1 ] && echo "Il faut indiquer un log php" || tail /var/log/php5/$1}
    
 alias hi='history | tail -n30' # les 30 dernières commandes alias hi='history | tail -n30' # les 30 dernières commandes
Ligne 148: Ligne 186:
 alias nst='netstat -tanpu' alias nst='netstat -tanpu'
 alias nstgr='netstat -tanpu|grep' alias nstgr='netstat -tanpu|grep'
 + 
 # sous lenny, pas moyen de désactiver autoindent et wordwrap dans /etc/joe/joerc # sous lenny, pas moyen de désactiver autoindent et wordwrap dans /etc/joe/joerc
 # apparemment un bug... # apparemment un bug...
 alias joe='joe --autoindent --wordwrap' alias joe='joe --autoindent --wordwrap'
    
-# mysql avec user debian (seul root peut s'en servir car il faut les accès à /etc/mysql/debian.cnf)+# mysql avec user debian (seul root peut s´en servir car il faut les accès à /etc/mysql/debian.cnf)
 alias sql='mysql --defaults-file=/etc/mysql/debian.cnf' alias sql='mysql --defaults-file=/etc/mysql/debian.cnf'
 alias sqldump='mysqldump --defaults-file=/etc/mysql/debian.cnf' alias sqldump='mysqldump --defaults-file=/etc/mysql/debian.cnf'
Ligne 174: Ligne 212:
 } }
  
 +# pour svn
 +svnc() { 
 +  if [ $# -lt 2 ] || [ -f "$1" ] || [ -d "$1" ]
 +  then
 +    echo "Le 1er argument doit être le commentaire"
 +  else
 +    com="$1"
 +    shift
 +    svn commit -m "$com" $@
 +  fi
 +}
 +alias svnu='svn update'
 +alias svns='svn status'
 +alias svnd='svn diff'
 +alias svnl='svn log'
 +alias svnlv='svn log -v'
 + 
 # un truc perso car 2 db locales # un truc perso car 2 db locales
 alias locatefull='locate -d /var/lib/mlocate/mlocate-full.db' alias locatefull='locate -d /var/lib/mlocate/mlocate-full.db'
 # en ayant modifié la fin de /etc/cron.daily/mlocate comme suit (pour avoir les deux bases) # en ayant modifié la fin de /etc/cron.daily/mlocate comme suit (pour avoir les deux bases)
 # $IONICE /usr/bin/updatedb.mlocate --add-prunepaths /backup # $IONICE /usr/bin/updatedb.mlocate --add-prunepaths /backup
 +# $IONICE -c3 /usr/bin/updatedb.mlocate --output /var/lib/mlocate/mlocate-full.db
 +
 +# en desktop
 +alias gop='gnome-open'
 +alias xop='xdg-open'
 </code> </code>
  
-===== Couleurs et .bash_prompt =====+===== .bash_prompt =====
 Pour plus d'info, voir notamment http://jipe.homelinux.org/trucs_bash/prompt.html et son code pour tester les couleurs ftp://jipe.homelinux.org/Download/scripts/colors2 ou bien Pour plus d'info, voir notamment http://jipe.homelinux.org/trucs_bash/prompt.html et son code pour tester les couleurs ftp://jipe.homelinux.org/Download/scripts/colors2 ou bien
 <code>for f in $(echo {30..39}); do for b in $(echo {40..49}); do echo -n -e "\e[0;$f;${b}m$f-$b\e[0m ";done;echo;done;</code> <code>for f in $(echo {30..39}); do for b in $(echo {40..49}); do echo -n -e "\e[0;$f;${b}m$f-$b\e[0m ";done;echo;done;</code>
Ligne 231: Ligne 291:
 # for f in {40..47}; do for j in 0 1; do echo; for i in {30..37}; do echo -ne "\e[$j;$i;${f}m${j}-${i} test "; done;done;done; # for f in {40..47}; do for j in 0 1; do echo; for i in {30..37}; do echo -ne "\e[$j;$i;${f}m${j}-${i} test "; done;done;done;
 # sur fond noir (40), on peut utiliser rouge (1;31), vert (1;32), jaune (1;33), bleu (1;34) violet (1;35), cyan (1;36) et blanc (1;37) # sur fond noir (40), on peut utiliser rouge (1;31), vert (1;32), jaune (1;33), bleu (1;34) violet (1;35), cyan (1;36) et blanc (1;37)
-# sur fond rouge (41), c'est pas terrible mais peuvent passer vert (1;32), jaune (1;33), blanc (1;37)+# sur fond rouge (41), c´est pas terrible mais peuvent passer vert (1;32), jaune (1;33), blanc (1;37)
 # fond vert (42), noir (0;30), vert (1;32), jaune (1;33), blanc (1;37) # fond vert (42), noir (0;30), vert (1;32), jaune (1;33), blanc (1;37)
 # fond moutarde (43), noir (0;30), rouge (0;31), blanc (1;37) # fond moutarde (43), noir (0;30), rouge (0;31), blanc (1;37)
linux/aliases.1279798548.txt.gz · Dernière modification : 22/07/2010 13:35 de daniel