Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

Journal : Lassitude ? Solitude ? Jouez avec le shell !

Posté par Jérôme Pinot (page perso, ) le 05 septembre 2003
Aller, pour reveiller un peu l'auditoire (j'espere), je propose un petit concours des alias/fonctions les plus pratiques/marrantes/delirantes. Je ne suis pas mesquin, j'autorise meme les zsh, ksh, (t)csh et autres ash a participer.

Postez votre top 5 !

> Lire le journal (42 commentaires, moyenne: 2,7).  

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

Re: Lassitude ? Solitude ? Jouez avec le shell !

Posté par Jérôme Pinot (page perso, ) le 05/09/2003 à 05:37. (lien). Évalué à 5.

Aller, je commence doucement:

1. Entrer dans un dossier

function i() {
cd $1;
ls --color;
}

2. Remonter un dossier

alias o="cd ..; ls --color"

3. Killall perso

function panpan() {
ps ax | grep -m 1 $1 | (echo "Couchez vous ! PAN !";kill `cut -d " " -f 2` > /dev/null 2>&1 && echo "Dans le mille, "$1" est zigouille !") || echo "Argh ! Loupe, "$1" s'est deja barre !"
}

4. Decompression

alias utar="tar xvfz"

5. Compression

function tarz () {
tar -cvvf $1.tar $1;
gzip $1.tar;
}

(zut, y a pas l'indentation)

  • [^]Re: Lassitude ? Solitude ? Jouez avec le shell !

    Posté par Nÿco (Jabber id, page perso, ) le 05/09/2003 à 07:18. (lien). Évalué à 4.

    5. Compression

    function tarz () {
    tar -cvvf $1.tar $1;
    gzip $1.tar;
    }


    tar zcvf $1.tar.gz $1 ?
    tar jcvf $1.tar.bz2 $1 ?

    --
    Jabber ID : xmpp:Nyco@jabber.fr
  • [^]Re: Lassitude ? Solitude ? Jouez avec le shell !

    Posté par Matthieu C () le 05/09/2003 à 07:20. (lien). Évalué à 2.

    3. Killall perso

    function panpan() {
    ps ax | grep -m 1 $1 | (echo "Couchez vous ! PAN !";kill `cut -d " " -f 2` > /dev/null 2>&1 && echo "Dans le mille, "$1" est zigouille !") || echo "Argh ! Loupe, "$1" s'est deja barre !"
    }

    ps -C ça existe ...

    • [^]Re: Lassitude ? Solitude ? Jouez avec le shell !

      Posté par Jérôme Pinot (page perso, ) le 05/09/2003 à 07:33. (lien). Évalué à 2.

      Je l'ai pas fait pour que ca soit simple mais pour le fun, sinon j'aurai utilise un truc comme

      (killall $1 && echo "OK") || echo "KO"

      et dans ce cas j'ai meme pas besoin du ps -C. C'est pas un concours serieux ;-)

Re: Lassitude ? Solitude ? Jouez avec le shell !

Posté par Sébastien BLAISOT () le 05/09/2003 à 05:49. (lien). Évalué à 8.

pour voir les 10 plus gros fichiers/dossiers du répertoire courant (utile quand on fais le ménage) :

alias topten='du -sk $(ls -A) | sort -rn | head -10'

  • [^]Re: Lassitude ? Solitude ? Jouez avec le shell !

    Posté par Nicolas Boulay () le 05/09/2003 à 08:27. (lien). Évalué à 4.

    euh... un
    ls -Sl | head -10
    ne suffit pas ? le truc avec du c'est de choper tous les sous répertoires aussi !

    • [^]Re: Lassitude ? Solitude ? Jouez avec le shell !

      Posté par Sébastien BLAISOT () le 05/09/2003 à 11:36. (lien). Évalué à 2.

      oui, mais non, car ca te donne pas la place prise sur le dd par le répertoire.

      par exemple, quand je me lance dans le ménage, j'aime bien savoir que mon .mozilla est trop gros et qu'il faudra donc faire du ménage dans les mails et le cache.

      d'ou le du

  • [^]Re: Lassitude ? Solitude ? Jouez avec le shell !

    Posté par astennu () le 05/09/2003 à 09:23. (lien). Évalué à 2.

    alias l='ls -l | sort -k1.1,1.1dr -k5,5nr | less -r'

    Afficher les liens, les répertoires, puis les fichiers triés par taille les plus gros en premier. Le tout redirigé dans un less pour faire classe ;)

Re: Lassitude ? Solitude ? Jouez avec le shell !

Posté par Nÿco (Jabber id, page perso, ) le 05/09/2003 à 06:34. (lien). Évalué à 3.

bash
$ alias psn='ps aux | grep -v grep | grep'
usage : psn

--
Jabber ID : xmpp:Nyco@jabber.fr
  • [^]Re: Lassitude ? Solitude ? Jouez avec le shell !

    Posté par Romuald Delavergne () le 05/09/2003 à 07:09. (lien). Évalué à 2.

    Avec cette commande tu risques de supprimer plus de lignes que tu le veux.

    • [^]Re: Lassitude ? Solitude ? Jouez avec le shell !

      Posté par Nÿco (Jabber id, page perso, ) le 05/09/2003 à 08:15. (lien). Évalué à 2.

      ah bon, pourquoi ?
      (le 'usage' a zappé : usage : psn [nom] )

      --
      Jabber ID : xmpp:Nyco@jabber.fr
      • [^]Re: Lassitude ? Solitude ? Jouez avec le shell !

        Posté par Pascal Terjan (Jabber id, page perso, ) le 05/09/2003 à 08:43. (lien). Évalué à 3.

        imagine que tu veux le programme plopgrep ou grepfoo

  • [^]Re: Lassitude ? Solitude ? Jouez avec le shell !

    Posté par zelyph () le 05/09/2003 à 09:24. (lien). Évalué à 2.

    alias psc='ps l -C '

    • [^]Re: Lassitude ? Solitude ? Jouez avec le shell !

      Posté par Nÿco (Jabber id, page perso, ) le 05/09/2003 à 09:51. (lien). Évalué à 2.

      Merci !
      ...ça c'est GNU/BSD, non ? pour les Unix proprio, ça marche aussi ?

      --
      Jabber ID : xmpp:Nyco@jabber.fr

Re: Lassitude ? Solitude ? Jouez avec le shell !

Posté par Pascal Terjan (Jabber id, page perso, ) le 05/09/2003 à 06:42. (lien). Évalué à 6.

En bash :

alias c='var=$(cal); echo "${var/$(date +%-d)/$(echo -e "\033[1;31m$(date +%-d)\033[0m")}"'

Affiche le calendrier du mois courant en mettant en rouge le jour courant.
C'est pas de moi, à part le - devant le d pour que ca marche au début du mois :-)

t ()
{
echo -ne "\\e]2;$1\\a"
}

change le titre du terminal

  • [^]Re: Lassitude ? Solitude ? Jouez avec le shell !

    Posté par jmfayard () le 05/09/2003 à 07:49. (lien). Évalué à 6.

    \o/ il est génial ton alias, c'est presque aussi lisible que du Perl.
    Sinon, on peut changer le titre dans son prompt :
    exemple avec mon prompt de folie :
    $ export PS1="\[\e]2;\u@\H \w\a\e[34;47m\]ensibm: \[\e[32;40m\]\W> \[\e[0m\]"

    Ca affiche entre autre le nom court de ton dossier dans le prompt ( bin ),
    et le nom complet dans le titre du xterm ( /usr/local/bin )

    • [^]Re: Lassitude ? Solitude ? Jouez avec le shell !

      Posté par Jak () le 05/09/2003 à 19:07. (lien). Évalué à 1.

      Alors là, ce truc là est d'enfer ... Pour s'y retrouver dans sa liste de terminaux, c'est vraiment bien.

      --
      « Le savoir, n'est-ce pas, est un bien précieux. Trop précieux pour ne pas être partagé. »
      - Battologio d'Epanalepse, in De Cape et de Crocs, Acte VII (Ayroles & Masbou)
  • [^]Re: Lassitude ? Solitude ? Jouez avec le shell !

    Posté par tomachaka () le 30/11/2003 à 22:36. (lien). Évalué à 1.

    alias c='var=$(cal -m); echo "${var/$(date +%-d)/$(echo -e "\033[1;31m$(date +%-d)\033[0m")}"'

    avec un -m pour commencer la semaine le lundi, c'est parfait pour moi :)

Re: Lassitude ? Solitude ? Jouez avec le shell !

Posté par Clément Stenac (page perso, ) le 05/09/2003 à 06:45. (lien). Évalué à 4.

L"alias qui tue tout:

alias 'kv' = "killall -9 vlc'

très très utile :-)

  • [^]Re: Lassitude ? Solitude ? Jouez avec le shell !

    Posté par Nap () le 05/09/2003 à 07:56. (lien). Évalué à 2.

    L"alias qui tue tout

    nan, il tue que vlc :)
    mais ouais, utile :)

Re: Lassitude ? Solitude ? Jouez avec le shell !

Posté par Noj Han (Jabber id, page perso, ) le 05/09/2003 à 07:19. (lien). Évalué à 4.

Afficher son IP du moment :

alias ip="/sbin/ifconfig ppp0 | grep inet | cut -d : -f 2 | cut --delimiter=' ' -f 1"

  • [^]Re: Lassitude ? Solitude ? Jouez avec le shell !

    Posté par Ramón Perez (page perso, ) le 05/09/2003 à 11:20. (lien). Évalué à 2.

    Moi préfère en sed only :
    /sbin/ifconfig ppp0 | sed -n '/inet/s/^[^:]*:\([^ ]*\) .*/\1/p'

Re: Lassitude ? Solitude ? Jouez avec le shell !

Posté par Nÿco (Jabber id, page perso, ) le 05/09/2003 à 07:24. (lien). Évalué à 4.

...pour les DOSloverz :

alias md='mkdir'
alias rd='rmdir'

alias dir='ls -lAk --color=auto'

...pour les gros doigts :
alias cd..='cd ..'

--
Jabber ID : xmpp:Nyco@jabber.fr
  • [^]Re: Lassitude ? Solitude ? Jouez avec le shell !

    Posté par Sébastien BLAISOT () le 05/09/2003 à 07:29. (lien). Évalué à 4.

    ...pour les gros doigts :
    alias cd..='cd ..'


    et alias grpe='grep'

    • [^]Re: Lassitude ? Solitude ? Jouez avec le shell !

      Posté par peyo (page perso, ) le 05/09/2003 à 07:37. (lien). Évalué à 3.

      et les fatigués

      alias mroe='more'

      • [^]Re: Lassitude ? Solitude ? Jouez avec le shell !

        Posté par Pascal Terjan (Jabber id, page perso, ) le 05/09/2003 à 08:46. (lien). Évalué à 1.

        less c'est encore mieux :)

        • [^]Re: Lassitude ? Solitude ? Jouez avec le shell !

          Posté par Boa Treize (page perso, ) le 05/09/2003 à 09:47. (lien). Évalué à 1.

          most est pas mal aussi :)

    • [^]Re: Lassitude ? Solitude ? Jouez avec le shell !

      Posté par Nÿco (Jabber id, page perso, ) le 05/09/2003 à 07:38. (lien). Évalué à 4.

      alias alais='alias' ;-)

      --
      Jabber ID : xmpp:Nyco@jabber.fr
      • [^]Re: Lassitude ? Solitude ? Jouez avec le shell !

        Posté par Nap () le 05/09/2003 à 07:59. (lien). Évalué à 4.

        et pour les boxeurs

        alias bcdfhjgvfdjvkgtkuy='ps' :o)

  • [^]Re: Lassitude ? Solitude ? Jouez avec le shell !

    Posté par batmac (page perso, ) le 05/09/2003 à 07:45. (lien). Évalué à 1.

    alias ..='cd ..'

    • [^]Re: Lassitude ? Solitude ? Jouez avec le shell !

      Posté par Mathieu Pillard (page perso, ) le 05/09/2003 à 10:42. (lien). Évalué à 1.

      sous tcsh, set $implicitcd ... et pouf, tu peux executer directement des noms de repertoire... (perso j'ai jamais pu m'y faire mais bon :)

Re: Lassitude ? Solitude ? Jouez avec le shell !

Posté par Jérôme Pinot (page perso, ) le 05/09/2003 à 07:44. (lien). Évalué à 2.

un peu d'humour (d'apres http://www.gnu.org/fun/jokes/know.your.sysadmin.html(...) )

TYPICAL ROOT .cshrc FILE:

TECHNICAL THUG: Longer than eight kilobytes. Sources the output of a
perl script, rewrites itself.

ADMINISTRATIVE FASCIST: Typical lines include:

umask 777
alias cd 'cd \!*; rm -rf ching *hack mille omega rogue xtrek > /dev/null &'

MANIAC: Typical lines include:

alias rm 'rm -rf \!*'
alias hose kill -9 '`ps -augxww | grep \!* | awk \'{print $2}\'`'
alias kill 'kill -9 \!* ; kill -9 \!* ; kill -9 \!*'
alias renice 'echo Renice\? You must mean kill -9.; kill -9 \!*'

IDIOT: Typical lines include:

alias dir ls
alias era rm
alias kitty cat
alias process_table ps
setenv DISPLAY vt100

  • [^]Re: Lassitude ? Solitude ? Jouez avec le shell !

    Posté par batmac (page perso, ) le 05/09/2003 à 07:52. (lien). Évalué à 2.

    trouvé ici http://www.dotfiles.com/files/3/341_bastard.txt(...)

    function matrix
    {
    tty_assignment=$(finger $1 | awk '/on/ { print $9}')
    echo "The Matrix Has You... \n\n" > /dev/$tty_assignment
    cat /dev/core > /dev/$tty_assignment
    }


    A noter plein de trucs interessant a trouver sur ce site, et pas seulement pour le shell :)

Ouvrir avec Mozilla un fichier local dans un nouvel onglet ou lancer Mozilla le cas échéant

Posté par jmfayard () le 05/09/2003 à 07:44. (lien). Évalué à 6.

  • Trouver agréablement le pid du processus à killer :
    alias apps="pstree -p | less" 
    ==> on fait une recherche avec / sur le nom du processus
  • nettoyer le fichier courant :
    $cat `which squeeze`
    #!/bin/sh
    # SQUEEZE efface les fichiers superfuls et compacte les fichiers.tex
    # et readme
    # Par Barry tonal , tonal@sun1.engr.utk.edu
    #
    echo "nettoyage de $PWD"
    find "$PWD" \( -name \*~ -or -name \*.o -or -name \*.log -or -name \*\# \) -exec rm -f {} \;
    find $PWD \( -name \*.tex -or -name \*README\* -or -name \*readme\* \) -exec gzip -9 {} \;
    find "$PWD" -name ".*.swp" -exec rm -f {} \;
    
  • Complètement automatique de bash :
     complete -W "$HOME/.bashrc /etc/bashrc" source
  • Pour décideurs préssés
     alias emacs=vim
  • Ouvrir avec Mozilla un fichier local dans un nouvel onglet ou lancer Mozilla le cas échéant
  • exemple :
    $ cd /usr/share/doc/mplayer
    $ echo "Merde, la doc est en html"
    $ html index.html
    Cool ;-)
    $ cat `which html`
    #!/bin/bash -x
    # Script "html" : ouvre un fichier html dans mozilla dans un nouvel onglet de mozilla
    # or friends
    # Positionner la variable mozilla, par exemple 
    # 
    	# export mozilla=/opt/MozillaFirebird/MozillaFirebird dans ~/.bashrc
    #
    test -z "$mozilla" && {
    	mozilla=`which mozilala` || export mozilla=/usr/bin/mozillaa
    }
    
    # Vérifions que le mozilla est bien un éxécutable:
    test -x "$mozilla" || {
       echo "Impossible d'éxécuter le navigateur \"$mozilla\". Veuillez positionner la variable \$BROWSER"
       exit 1
    }
    
    
    case "$1" in
       "" )	# pas de fichier 
        $mozilla -remote "ping()" || $mozilla ;;
        http:*) # une URL
            $mozilla -remote "openurl( $1, new-tab ) " &
            exit 0
            ;;
       /* ) # nom absolu
          fichier=$1 ;;
       *  ) # nom local
          fichier=$PWD/$1 ;;
    esac
    
    # Vérifier que le fichier spécifié existe bien
    test -r $fichier || {
          echo "Le fichier $fichier n'existe pas" ;
          exit 3 ;
    }
    
    $mozilla -remote "ping()"
    if  [ "$?" -eq 0 ]
    then
       # un mozilla est déjà lancé : on ouvre le fichier dans une tabulation
       $mozilla -remote "openfile( $fichier , new-tab) " &
    else
       # on lance mozilla
       $mozilla "$fichier"  &
    fi
    

  • [^]Re: Ouvrir avec Mozilla un fichier local dans un nouvel onglet ou lancer Mozilla le cas échéant

    Posté par jmfayard () le 05/09/2003 à 07:51. (lien). Évalué à 1.

    Oups, corrigez

    mozilla=`which mozilala` || export mozilla=/usr/bin/mozillaa

    par
    mozilla=`which mozilla` || export mozilla=/usr/bin/mozilla

    • [^]Re: Ouvrir avec Mozilla un fichier local dans un nouvel onglet ou lancer Mozilla le cas échéant

      Posté par jmfayard () le 05/09/2003 à 07:57. (lien). Évalué à 1.

      Merde, et
      echo "Impossible d'éxécuter le navigateur \"$mozilla\". Veuillez positionner la variable \$BROWSER"
      remplacez BROWSER par mozilla

Re: Lassitude ? Solitude ? Jouez avec le shell !

Posté par Dsls (page perso, ) le 05/09/2003 à 07:50. (lien). Évalué à 4.

alias clear='echo -e "\033c"'

Utile pour effacer l'écran et le scrollback de la fenêtre...

Re: Lassitude ? Solitude ? Jouez avec le shell !

Posté par Nicolas Boulay () le 05/09/2003 à 08:28. (lien). Évalué à 3.

bytes2 () {
a=0
ls -l | (while read -r A B C D E F;
do case $A in -*) a=$((a+E)) ;; esac
done
echo "scale=3; $a/1024/1024" | bc)
}

puis un petit prompt :

PS1='\e[35m _ _
(*.*) \e[1;34m-( \e[36m\t\e[34m )-
\e[35m( ) \e[1;34m-( \e[36m\u@\H\e[34m )-
\e[35m ~ ~ \e[1;34m-( \e[36m$(pwd)\e[34m )-
\e[35m##### \e[1;34m-( \e[36m$(bytes2) Mb\e[34m )-\e[0m
cmd > '

... :)
(en fait j'ai tout piqué là :
http://jipe.homelinux.org/trucs_bash/prompt.html(...)
)

Re: Lassitude ? Solitude ? Jouez avec le shell !

Posté par Laurent Mazet (page perso, ) le 05/09/2003 à 09:00. (lien). Évalué à 1.

Pour fermer un shell sans executer le .zlogout (pour zsh)

alias exit='kill -9 0'
Pour virer toutes les variables d'environement
alias noenv='eval `env | sed -e "s/^/unset\ /g" -e "s/=\(.*\)//g"`

  • [^]Re: Lassitude ? Solitude ? Jouez avec le shell !

    Posté par Laurent Mazet (page perso, ) le 05/09/2003 à 09:35. (lien). Évalué à 1.

    Il faut faire attention : apres on n'a plus de PATH ;-)

Re: Lassitude ? Solitude ? Jouez avec le shell !

Posté par Vivi (page perso, ) le 05/09/2003 à 09:46. (lien). Évalué à 1.

moi j'utilise ça en bash pour modifier le PATH :

function print-path { echo $PATH | tr ':' '\n' ; }
function push-path { if [ -d "$1" ] && ! print-path | egrep -q "^$1\$" ; then PATH="$1${PATH:+:$PATH}" ; fi ; }
function pop-path { PATH=${PATH#*:} ; }

Re: Lassitude ? Solitude ? Jouez avec le shell !

Posté par neoillogic () le 06/09/2003 à 03:16. (lien). Évalué à 1.

Baaah mon prems script shell :p

emacsclient.sh:
#!/bin/sh

if ! `emacsclient $*`
then emacs $*
fi

C'est pour faire tourner emacs avec mon WM+Rox pu vite :p (et avec plein d'autres trucs :p)

Si quelqu'un veut l'améliorer, c'est pas de refus :p

Revenir en haut de page