Tutos geek

Tutoriaux linux, debian, android et autres

Nettoyage de printemps

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