Tutos geek

Tutoriaux linux, debian, android et autres

Créer un fichier avec la date du jour

27 février 2015 - 3 commentaires

Si vous souhaitez créer un fichier dont le nom contient la date du jour :
touch mon_fichier_`date +%F`.txt
Notez l'utilisation des deux "apostrophes inversée" que vous pouvez écrire avec ALT+96.
Résultat : mon_fichier_2015-02-27.txt

Pour avoir l'heure en plus :
touch mon_fichier_`date +%F_%T`.txt
Résultat : mon_fichier_2015-02-27_16:00:00.txt


Source : http://www.linuxquestions.org/questions/linux-newbie-8/howto-create-a-file-based-on-date-in-bash-179045/


Debian version : 6.0.10

grep lisible

27 janvier 2015 - Aucun commentaire

grep -Rins --color -A 5 -B 5 "pumbaa" .

Un résultat tout de suite plus lisible

-R : Recursif
-i : insensible à la casse
-n : numéro de ligne (ici en vert)
-s : n'affiche pas les messages d'erreur (du style "Permission denied")
--color : explicite, non ?
-A 5 : Affiche le contenu des 5 lignes d'avant
-B 5 : Affiche le contenu des 5 lignes d'après

EDIT : un alias

vi ~/.bashrc
 mygrep(){
         grep -Rins --color -A 5 -B 5 $1 .
}

Attention, ajouter une fonction dans le .bashrc n'est pas recommandé !


Source : http://doc.ubuntu-fr.org/alias


Debian version : 6.0.10

Nettoyage de printemps

08 janvier 2015 - Aucun commentaire

Vous commencez à être limite en espace libre sur votre disque dur ?
Il y a peut-être des fichiers volumineux inutiles qui prennent de la place.

Voyons déjà la place qu'il reste :

df -h

cela affiche la taille de vos HDD, la place occupée, la libre, etc.
L'option -h affiche des tailles lisibles par les humains, donc en kilo, mega, giga, etc...

Seek...

Il y a probablement des outils plus adaptés pour afficher visuellement les fichiers qui prennent de la place mais voilà ma méthode pour identifier les fichiers volumineux.

J'ai fait un alias permanent que j'ai appelé "lx" et qui va, récursivement, afficher la liste des fichiers et dossiers du chemin courrant avec leur taille totale.
cd ~
vi .bashrc

Ajouter tout à la fin
alias lx='for folder in $(ls -A) ; do du -hs "$folder" ; done ; du -hs'



... and destroy !

Si après la suppression d'un fichier volumineux la place libre n'a pas changé c'est qu'il est encore utilisé par un processus.
Cela m'est arrivé une fois avec un fichier de log. Un "ls" montrait qu'il était supprimé (il n'était pas listé) mais il prennait toujours de la place sur mon disque dur.

lsof -n | grep NOM_DU_FICHIER_SUPPRIME
Si une ligne apparait c'est qu'un processus utilise le fichier, il faut tuer ce processus.

Dans le cas d'un fichier de log utilisé par syslogd :
kill -SIGHUP `cat /var/run/syslogd.pid`

Bonus

Pour cet exemple j'ai voulu créer un fichier de 500 Mio rapidement.
Le moyen le plus simple est celui-ci :
dd if=/dev/zero of=fichier.txt bs=1024 count=512000

cela va créer un fichier nommé fichier.txt de 512'000 blocs de 1 kio remplis de zéro, soit 500 Mio.
Il est possible de le remplire avec des données aléatoire en changeant /dev/zero par /dev/urandom


Source : http://www.linuxquestions.org/questions/linux-general-1/cmdline-howto-know-size-of-folder-recursive-569884/


Debian version : 6.0.10

Coloration syntaxique

02 janvier 2015 - Aucun commentaire

"vi" ne fait pas - à ma connaissance - de coloration syntaxique, au contraire de "vim", si on lui demande gentiment.
EDIT : En fait si, "vi" et "vim" colorent la syntaxe de la même manière, avec la même manip'.

vi /etc/vim/vimrc

décommentez
syntax on

Pour tester :
vi /etc/vim/vimrc
Plein de jolies couleurs.


Source : https://wiki.debian.org/vim


Debian version : 6.0.10

Changer les couleurs du shell Debian

19 décembre 2014 - 4 commentaires

Il est puissant le shell de Debian, mais alors qu'est-ce qu'il est moche !
Et au delà de ces considération bassement esthétique il est surtout illisible. QUI a eu l'idée de mettre le texte en bleu foncé sur fond noir ? Blu-ray Charles ? (Bon sang, j'suis content de ma blague !!!)

Franchement, vous distinguez les noms des dossier ?
Il est temps de changer ça.

Fichiers / Dossiers

Rendez-vous dans votre home et exportez les couleurs actuelles du shell dans un fichier que vous allez modifier.
cd ~
dircolors -p > .dircolorsrc
vi .dircolorsrc

Recherchez la ligne
DIR 01;34 # directory
et remplacez le 34 (bleu foncé) par 33 (jaune).

Il vous reste à modifier le fichier .bashrc pour que le shell prenne en compte ce nouveau fichier de couleurs
vi .bashrc

Supprimez la ligne
test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
et remplacez-la par
eval "`dircolors -b ~/.dircolorsrc`"

Ça donne
# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
    eval "`dircolors -b ~/.dircolorsrc`"
    alias ls='ls --color=auto'
    #alias dir='dir --color=auto'
    #alias vdir='vdir --color=auto'

    #alias grep='grep --color=auto'
    #alias fgrep='fgrep --color=auto'
    #alias egrep='egrep --color=auto'
fi

Déloggez-vous, reloggez-vous et bim
Ça devient lisible

Prompt

Vous pouvez encore personnaliser votre interface en changeant les couleurs de la ligne de prompt.
vi .bashrc

Supprimez la ligne (dans le "else")
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
et remplacez-la par
PS1="\[\e[00;37m\]\u\[\e[0m\]\[\e[00;37m\]@\H \[\e[0m\]\[\e[00;33m\]\t\[\e[0m\]\[\e[00;37m\] \[\e[0m\]\[\e[00;32m\]:\w\[\e[0m\]\[\e[00;37m\] \[\e[0m\]\[\e[00;35m\]\\$\[\e[0m\]\[\e[00;37m\] \[\e[0m\]"

Ça donne
if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
    PS1="\[\e[00;37m\]\u\[\e[0m\]\[\e[00;37m\]@\H \[\e[0m\]\[\e[00;33m\]\t\[\e[0m\]\[\e[00;37m\] \[\e[0m\]\[\e[00;32m\]:\w\[\e[0m\]\[\e[00;37m\] \[\e[0m\]\[\e[00;35m\]\\$\[\e[0m\]\[\e[00;37m\] \[\e[0m\]"
fi
unset color_prompt force_color_prompt

Pareil : déloggez-vous, reloggez-vous et voilà
Ça devient lisible

J'ai ajouté l'heure en jaune, le chemin courant est en vert et le signe $ en magenta.

Niveau artistique on repassera, c'est sur, mais au moins maintenant je ne m'esquinte plus les yeux à chaque ligne.

Un grand pouvoir implique de grandes responsabilités

Comme il m'arrive parfois de devoir passer sur le compte root j'ai fait en sorte que ça soit bien visible, pour me rappeler de ne pas taper mes commandes à la légère.

vi .bashrc
PS1="\[\e[00;31m\]\u\[\e[0m\]\[\e[00;37m\]@\H \[\e[0m\]\[\e[00;33m\]\t\[\e[0m\]\[\e[00;37m\] \[\e[0m\]\[\e[00;32m\]:\w\[\e[0m\]\[\e[00;37m\] \[\e[0m\]\[\e[00;35m\]\\$\[\e[0m\]\[\e[00;37m\] \[\e[0m\]"

Le nom de l'utilisateur (root) est maintenant affiché en rouge

C'est un gag, ne tapez pas cette commande !


Source manip' : http://wiki.linuxwall.info/doku.php/en:ressources:astuces:lscolor
Source couleurs : http://bashrcgenerator.com


Debian version : 6.0.10