Vous êtes ici : Accueil Zaclys Astuces / Les rubriques / Informatique / Système d'exploitation / Linux / Autre

Voir un article

illustration

© Tito

Trouvez et Zippez vos gros fichiers pour gagner de la place

Petite astuce : utilisez find et zip en ligne de commande pour trouver et zipper vos gros fichiers, récursivement et de façon indépendante.

Imaginons (c'est impossible mais imaginons) qu'un dossier de travail contienne toute une arborescence de milliers sous dossiers et fichiers qui s'accumulent depuis des années et vous voulez maintenant trouver les gros fichiers encombrants et éventuellement obsolètes, pour les zipper sur place (pas question de les déplacer pour faire un seul zip, chaque fichier doit rester là où il est mais être zippé pour gagner de la place).

Ouvrez un xterm ou tout autre interprêteur de commande type shell.

Placez vous dans le dossier qui contient vos documents (ou typiquement le lecteur réseau qui est partagé par vos utilisateurs sur windows et sur lequel se trouvent leurs documents de travail )  :
cd /travail

Le plus dur est fait.
Pour trouver les gros fichiers (par ex plus de 30Mo) de ce dossier et des sous-dossiers (récursivement)  :
find . -size +30000k

(Note : +30000k peut s'écrire +30M sur des versions récentes de find).


Pour afficher les tailles de ces fichiers et trier la liste du plus petit au plus gros :
find . -size +30000k -exec ls -sh "{}" ; |sort -n


Et donc maintenant pour zipper automatiquement sur place ces mêmes fichiers :
find . -size +30000k -exec zip -mj "{}".zip "{}"  ;

Note : l'option "-exec" indique à find d'executer la commande qui suit pour chaque fichier correspondant et de remplacer dans cette commande les "{}" par le nom complet du fichier en question.
Soit par ex pour le fichier de 50Mo "projet/truc/toto.pdf" , find executera "zip -mp projet/truc/toto.pdf.zip projet/truc/toto".
L'option -m indique à zip de faire un "move", cad de ne pas garder le fichier source non zippé et l'option -j pour "junk" lui indique de ne pas garder le chemin complet dans l'archive : donc dans projet/truc/ on transforme purement et simplement toto.pdf en son équivalent zippé toto.pdf.zip.

Astuce : pour zipper uniquement les fichiers .doc par exemple :
find . -size +30000k -iname "*.doc" -exec zip -mj "{}".zip "{}"  ;

 et de plus de 60 jours :
find . -size +30000k -iname "*.doc" -ctime +60 -exec zip -mj "{}".zip "{}"  ;

Pour d'autres filtres et toute question du genre elle fait quoi la commande ?  :
man find


Note : pour monter sur linux un partage d'un serveur windows :
mount -t cifs //server/partage -o username=moi,password=xxx,domain=mondom

4 046 clics - Créé le 18/12/2008 par Tito - Modifié le 02/01/2009



Réagissez, commentez, discutez ...

InfoSoyez le premier à réagir !


(sert uniquement à vous signaler les réactions)




Partager ?

diaspora  G+  facebook  twitter  Digg  Yahoo  Delicious  Technorati  myspace


Voir d'autres articles en rapport avec celui-ci ?



Stats des clics sur cet article : cliquez ici »



Vous voulez contribuer et publier un article dans cette rubrique ?

InfoMerci de vous identifier ou de vous créer un compte si ce n'est pas déjà fait.


icone user Me connecter :

InfoMerci de saisir vos identifiants.




Me reconnecter automatiquement à chaque visite sur ce navigateur :
               





retour






Plan du site | Aide | Mentions légales et CGU | RGPD | Travaux et incidents | Budget | Faire un don | Chouchen | Z pub | Logo et prospectus

© Association la mère Zaclys 1998-2019  - Zaclys v2.5

Suivez nous sur Diaspora, Mastodon, Google+, FaceBook ou Twitter