Swisslinux.org

− The GNU/Linux crossroads in Switzerland −

 

Language

 

The Forum

You are not logged in.

#1 07 Dec 2009 21:30:33

jewelz
Affranchi(e)
 
Registered: 07 Dec 2009
Posts: 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^^

Offline

 

#2 07 Dec 2009 22:40:00

BOFH
Admin
From: Ecublens, VD
Registered: 03 Feb 2005
Posts: 862
Website

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.

Offline

 

#3 07 Dec 2009 22:42:58

jewelz
Affranchi(e)
 
Registered: 07 Dec 2009
Posts: 4

Re: script bash

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

Offline

 

#4 08 Dec 2009 20:48:20

jewelz
Affranchi(e)
 
Registered: 07 Dec 2009
Posts: 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?

Last edited by jewelz (08 Dec 2009 23:39:24)

Offline

 

#5 10 Dec 2009 10:13:41

BOFH
Admin
From: Ecublens, VD
Registered: 03 Feb 2005
Posts: 862
Website

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

Offline

 

#6 15 Dec 2009 13:45:31

jewelz
Affranchi(e)
 
Registered: 07 Dec 2009
Posts: 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...

Last edited by jewelz (15 Dec 2009 22:56:14)

Offline

 

Board footer

Powered by FluxBB