Swisslinux.org

− Le carrefour GNU/Linux en Suisse −

 

Langue

 

Le Forum

Vous n'êtes pas identifié.

#1 07 Dec 2009 21:30:33

jewelz
Affranchi(e)
 
Date d'inscription: 07 Dec 2009
Messages: 4

script bash

Bonjour a tous,

voila je suis completement novice en bash c'est le moin que l'on puisse dire et je suis un peu perdu!
Je fais donc appel a votre aide ^^ et vous remercie d'avance.

Alors voila je voudrais savoir comment afficher la taille occupé par les fichiers d'un utilisateur donné

voila encore merci^^

Hors ligne

 

#2 07 Dec 2009 22:40:00

BOFH
Admin
Lieu: Ecublens, VD
Date d'inscription: 03 Feb 2005
Messages: 862
Site web

Re: script bash

Salut,

  Il y a un système de quotas pour ça, que tu peux utiliser en installant les packages adéquats. L'activation des quotas se fait au niveau d'un filesystem entier, par une option dans /etc/fstab.

  Sinon, si tu souhaites juste estimer la taille des répertoires home, un simple

Code:

du -sh /home/*

fera affaire.

Tu peux aussi trouver les fichiers d'un utilisateur donné avec find, et les passer a du:

Code:

du -sh $(find /tmp -user alice)

Mais cette approche ne marche pas pour un grand nombre de fichiers. Tu peux aussi faire:

Code:

 (find /tmp -user alice |xargs du |awk '{print "x+="$1}' ; echo x) | bc

Qui devrait mieux marcher (pas testé) mais souffre de quelques problèmes.

La seule manière vraiment fiable, pour différentes raisons liées a l'architecture du système, le seul mécanisme précis et simple est celui des quotas.

Hors ligne

 

#3 07 Dec 2009 22:42:58

jewelz
Affranchi(e)
 
Date d'inscription: 07 Dec 2009
Messages: 4

Re: script bash

ah merci beaucoup de ta réponse ^^
c'est très gentil encore merci

Hors ligne

 

#4 08 Dec 2009 20:48:20

jewelz
Affranchi(e)
 
Date d'inscription: 07 Dec 2009
Messages: 4

Re: script bash

bonjour de nouveau je suis face a un probleme pour afficher cette fois ci la taille en bloc  j'ai mis :

taille_bloc=`tr --block-size`
du -sh -B $taille_bloc /home/utilisateur/$repertoire

(soit $ $utilisateur et $répertoire les parametre utilisés pour définir un répertoire d'un utilisateur donné)
a bah j'ai trouvé toutes seule comme une grande^^

mais la je planche sur un nouveau souci existe t il une commande pour afficher le sous répertoire ayant la plus petite taille et celui ayant a plus grande?

Dernière modification par jewelz (08 Dec 2009 23:39:24)

Hors ligne

 

#5 10 Dec 2009 10:13:41

BOFH
Admin
Lieu: Ecublens, VD
Date d'inscription: 03 Feb 2005
Messages: 862
Site web

Re: script bash

Hello,

  Oui, tu peux utiliser la commande sort pour trier les lignes du résultat (et eventuellement head et tail pour récupérer la première et la dernière ligne).

  Plutot que d'utiliser -B, tu peux juste enlever le -h de du pour avoir la taille en bytes.

Code:

du -s /home/alice/* | sort -n | tail -n1  # plus grand répertoire

Hors ligne

 

#6 15 Dec 2009 13:45:31

jewelz
Affranchi(e)
 
Date d'inscription: 07 Dec 2009
Messages: 4

Re: script bash

merci beaucoup je n'avais pas vu ta réponse et donc j'ai réussi par un autre moyen plus complexe je dois l'admettre c'était tout bête en faite lol .


je reviens vous embêter =$ dsl dsl

comment pourrai je faire pour avoir la taille par exemple de tous les fichier.txt?

merci d'avance...

Dernière modification par jewelz (15 Dec 2009 22:56:14)

Hors ligne

 

Pied de page des forums

Powered by FluxBB