Accéder au contenu principal

Un script Bash pour retrouver les fichiers volumineux

Qu'est-ce qu'un fichier volumineux ?

Personne n'a une définition précise.. Mais chacun de nous, selon les cas, peut définir un fichier volumineux selon sa taille et selon l'espace disponible sur son disque dur.

L'idée de ce script est simple : permettre à l'utilisateur de choisir une taille précise à partir de laquelle les fichiers seront considérés comme volumineux. Pour moi, j'ai choisi d'exprimer cette taille en Méga-Octets. Il est possible de le modifier pour considérer d'autres ordres de grandeurs.

L'utilisation est simple aussi : il faut indiquer un répertoire et puis la taille minimale et hop ! le script demande le mot de passe root (pour pouvoir accéder à tout les fichiers, mais on peut aussi modifier ça)

Voici une capture d'écran :


enfin voici le code :


#!/bin/bash


if [[ $1 = -h ]]
then 
echo "Usage : showlargefiles "
echo "Written by Zarathoustra : http://lovermet1984.blogspot.com"
echo "lovermet1984@gmail.com | www.facebook.com/lovermet1984"
echo "Note : Requires Root password (will be prompted)"
echo "This script uses the xmessage, find and su commands. These"
echo "commands could generate warnings and errors unhandled by"
echo "the script." 
exit
else
if [[ -n $2 ]]
then
su -c "find $1 -type f -size +${2}M -exec ls -gGhl {} \;"
if [[ $? != 0 ]]
then exit
fi
else
echo "use -h for help"
exit
fi
fi
if [ -x /usr/bin/xmessage ]
then 

echo We are Done !! Thanks for using this script
fi


PS : je viens d'enlever l'utilisation de la commande xmessage à la place du dernier "echo" pour plus de simplicité.

Commentaires

Hamdi Kadri a dit…
version en mode utilisateur, ne demande pas un mot de passe root.

#---------script----------

#!/bin/bash

if [[ $1 = -h ]]
then
echo "Usage : showlargefiles "
echo "Written by Zarathoustra : http://lovermet1984.blogspot.com"
echo "lovermet1984@gmail.com | www.facebook.com/lovermet1984"
echo "Note : Requires Root password (will be prompted)"
echo "This script uses the xmessage, find and su commands. These"
echo "commands could generate warnings and errors unhandled by"
echo "the script."
exit
else
if [[ -n $2 ]]
then
exec "find $1 -type f -size +${2}M -exec ls -gGhl {} \;"
if [[ $? != 0 ]]
then exit
fi
else
echo "use -h for help"
exit
fi
fi

echo We are Done !! Thanks for using this script

Posts les plus consultés de ce blog

Les 69 bonnes raisons de préférer la bière aux femmes:

J'ai trouvé ça sur Facebook et j'ai trouvé marrant. 01- Une bière froide est une bonne bière 02- On arrive toujours a faire mousser une bière 03- Une bière est toujours prête et humide 04- Une bière n'a jamais la migraine 05- On peut consommer 2 bières en même temps sans complications 06- Une bière n'est jamais jalouse d'une autre 07- On n'a pas besoin de raconter des mots doux a une bière pour se soulager 08- Une bière, ça se commande 09- En soirée, on peut toujours se taper une bière 10- Une bière ne parle pas 11- Une bière reste consommable 28 jours sur 28 12- Quand on finit une bière, on peut récupérer la consigne 13- Quand on ne la finit pas, elle ne fait pas la gueule 14- La bière ne donne que PARFOIS mal a la tête 15- On peut rester actif après s'être taper une bonne bière 16- Même la bière belge n'est pas stupide 17- Une bière est non violente 18- Une bière n'est jamais complexée 19- On voit toujours facilement a l'intérieur d'une biè...

Un Linux Communautaire Tunisien : pourquoi pas ?

J'ai remarqué que plusieurs pays (même pas avancées technologiquement, comme la Corée du Nord) ont leur(s) distribution(s) Linux à eux. Comme la Tunisie contient des informaticiens de qualité, pourquoi ne pas créer une telle distribution, par nous-mêmes ? C'est pour ça que j'ai créer un groupe Linux Tunisie sur Google Groups. Ce groupe est dédié à un tel projet. Il n'est pas difficile de l'accomplir, mais ce qui importe, est de bien discuter des spécifications de notre distribution (Nom, Logo, RedHat/Slackware/ Debian based, logiciels inclus, capabilités de déploiement (Live-CD, Live Usb, etc)) et si l'un de nous pourra nous proposer un travail personnel (art, application personnelles, configuration, etc) ce sera excellent !! Discutons du projet avant, et puis, voyons si nous pouvons créer cette distribution pratiquement !! Rejoignez-nous si vous êtes interressé !! A vos idées !!

GNS3 on Manjaro/Arch Linux: How to create virbr0 for NAT to work

Problem: You can't add a NAT connection to your GNS3 simulation, and you get the error : "ERROR template_manager:226 Error while creating node from template: NAT interface virbr0 is missing, please install libvirt" Steps to resolve: 1- Create a file named /tmp/default.xml 2- Paste this content and save: <network>   <name>default</name>   <bridge name="virbr0"/>   <forward mode="nat"/>   <ip address="192.168.123.1" netmask="255.255.255.0">     <dhcp>       <range start="192.168.123.2" end="192.168.123.254"/>     </dhcp>   </ip> </network> 3- Execute the following commands in your shell : virsh net-define /tmp/default.xml sudo virsh net-start default sudo virsh net-autostart default