awk

Définir les séparateurs

Entrée : FS

Pour définir le séparateur d’entrée : FS

BEGIN {
  FS=SUBSEP=” “
}
{
  #Traitement
}

Sortie : OFS

Pour définir le séparateur de sortie : OFS

Split Logs

Pour scinder en fichier d’un million de lignes, les fichiers *.log.gz
Exemple d’utilisation : ./split_logs.sh monlog.log.gz

sudoers

Si vous utilisez souvent plusieurs terminaux, vous savez que dans chaqu'un il faut retaper le mot de passe si on utilise, sudo. En ajoutant : Defaults env_reset,!tty_tickets Dans le fichier /etc/sudoers, il ne sera plus nécessaire de le faire qu'une fois pour tous les terminaux. Pratique !

Envoyer le contenu d'un répertoire par mail !

Ca faisait longtemps que je devais le faire. Un ami à eu besoin, du coup je l’ai écris rapidement. Voici donc un script pour envoyer tous les fichiers contenu dans un répertoire par mail, utilisant uuenview pour l’encodage uuencode, et la commande mail pour l’envoie pur. Il faudra revenir dessus, mais en l’état il fonctionne : #!/bin/bash IFS=$(echo -en “\n\b”) for file in ls; do echo “Envoi du fichier $file” (uuenview -u $file) | mail -s “$file” user@mail.

Se détacher d'un shell ... screen & nohup

screen c'est bien pratique pour détacher un shell où l'on s'est connecté en SSH, on le lance simplement grâce à la commande screen. Cela fait longtemps que je devais faire une "cheat sheet" de cet outil, voila chose faite. D'ailleurs en passant voici les raccourcis : Bases -ctrl a c -> créer une nouvelle fenêtre -ctrl a A -> définir le nom de la fenêtre -ctrl a w -> voir toutes les fenêtres

Etendre la validité de sudo à tous les consoles d'un même utilisateur

sudo c’est pas mal mais quand on utilise plusieurs terminaux, il faut à nouveau taper son mot de passe au moins une fois par sudo par terminal. En fait on peut transmettre l’élévation d’un user, via sudo, en passant par les tickets tty. Dans le fichier /etc/sudoers, on ajoute la ligne : Defaults !tty_tickets ou mieux : Defaults env_reset, !tty_tickets

Redimension en masse d'image

En bash, en une ligne (nécessite imagemagick): for i in *JPG; do convert -resize 640x480 $i MINI_$i; done

Monter une ISO de CD ou DVD sous GNU/Linux

Créer un point de montage : sudo mkdir /media/iso Pour monter une ISO de CD : sudo mount -o loop -t iso9660 mon_iso.iso /media/iso Pour monter une ISO de DVD : sudo mount -o loop -t udf mon_iso.iso /media/iso Pour démonter : sudo umount /media/iso

Les processus

Connaître ses processus en cours : ps aux | grep whoami Ceux des autres : ps aux | grep -v whoami Les 5 plus gourmand en CPU : ps aux –sort=-%cpu | grep -m 5 whoami

bash

Configuration

Le fichier ~/.bashrc est un fichier qui est chargé à chaque exécution d’une session bash.
Il est dépendant de l’utilisateur puisque (par défaut) bash recherche ce fichier dans /home/user.

Ainsi, ce fichier sert à beaucoup de choses :