Fichiers, répertoires

De Diablotins.org.


Statistiques, Diagnostics et Maintenances sur le système de fichiers
Image:brush.png



Sommaire

Statistiques

disque

Utilisez du(1), pour Disk Usage, afin de consulter le taux d'occupation d'un répertoire et de ses fichiers.

du -s *     Évite d'afficher les répertoires cachés.
du -s * | sort -n  Trie par taille d'occupation
du | sort -rn | head les dix premiers

Utilisez df(1), pour Disk Free, afin de consultez l'espace disponible sur vos partitions.

df -H   Utilisez des grandes unités

Utilisez quot(8), pour obtenir les quotas d'utilisation du disque par les utilisateurs:

david:~>quot -k /usr
/dev/ad1s1f:
17046198        david
12042192        root
4018928 #1008
1987066 #1010
680876  #1003
28168   #2402
8992   light
7084   #1009
 432   man
  18   polkit
  16   #60

Euh, c'est un peu le bordel chez moi.

Scripts de ouf

Suite à discussion intéressante sur la liste <@Question>, ce script a été écrit:

#!/bin/sh
# $Id: graphical_du.sh,v 1.4 2011/04/03 16:59:59 crees Exp $
# Prints a tree view of du.
# Chris Rees utisoft@gmail.com
# Public domain 2011
#
# $Log: graphical_du.sh,v $
# Revision 1.4  2011/04/03 16:59:59  crees
# Oops, forgot pipes at beginning!
#
# Revision 1.3  2011/04/03 16:57:46  crees
# All seds removed... Much faster!
#
# Revision 1.2  2011/04/02 20:06:51  crees
# Now uses awk for rearranging with square brakets; should be more efficient
#
# Revision 1.1  2011/04/02 20:04:30  crees
# Initial revision
#
#
du -h $1 \
        | awk '{FS="    "; a[i]="|"$2"  ["$1"]"; gsub(/[^|-][^\/]*\//,"--",a[i++]);} END {for (j=i-1; j>=0;) print a[j--] }'

Qui donne le résultat suivant:

|.      [1,7M]
|--devd [8,0K]
|--zfs  [2,0K]
|--ssl  [ 12K]
|--ssh  [132K]
|--skel [2,0K]
|--security     [ 36K]
|--rc.d [400K]
|--ppp  [4,0K]
|--periodic     [130K]
|----weekly     [ 14K]
|----security   [ 48K]
|----monthly    [6,0K]
|----daily      [ 60K]
|--pam.d        [ 38K]
|--mtree        [ 74K]
|--mail [250K]
|--gss  [6,0K]
|--gnats        [4,0K]
|--bluetooth    [8,0K]
|--X11  [6,0K]

Soit, un arbre de la charger des repértoires. On en fait des trucs, non ?

Sur le même sujet:

ls -R | grep ':$' | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/   /' -e 's/-/|/' 

Qui donne

   |-X11
   |-bluetooth
   |-defaults
   |-devd
   |-gnats
   |-gss
   |-mail
   |-mtree
   |-ntp
   |-pam.d
   |-periodic
   |---daily
   |---monthly
   |---security
   |---weekly
   |-ppp
   |-rc.d
   |-security
   |-skel
   |-ssh
   |-ssl
   |-zfs

Dingue, non ?

Recherche

N'importe où

Cherchez un fichier à partir du répertoire courant, avec find(1)

find . -name "*QuoiDonc*" -ls 

Ou, si vous avez activé l'indexation, avec locate(1):

locate "*QuoiDonc*"

Lancez, pour mettre la base à jour (ce qui se fait automatiquement par les scripts "periodic" toutes les semaines)
Sous root:

/etc/periodic/weekly/310.locate

N'utilisez pas la commande locate.updatedb:

/usr/libexec/locate.updatedb

En effet la commande est normalement lancée par l'utilisateur nobody. Si vous le faites sous le compte root, locate(8) va indexer tous les fichiers; ce qui peut représenter un problème de sécurité.

Dans les chemins par défaut

which(1) recherche un entrée dans le PATH de l'utilisateur courant:

david:~>echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/home/david/bin

Exemple:

david:~>which ls
ls:      a comme alias ls -G

whereis(1) est plus bavard, il recherche l'entrée correspondante aux binaires, manuels et sources:

david:~>whereis ls
ls: /bin/ls /usr/share/man/en.ISO8859-15/man1/ls.1.gz /usr/src/bin/ls
david:~>whereis -b ls
ls: /bin/ls
david:~>whereis -m ls
ls: /usr/share/man/en.ISO8859-15/man1/ls.1.gz
david:~>whereis -s ls
ls: /usr/src/bin/ls

Identifier

La commande file(1) va décrire les fichiers demandés:

david:~>file fluxbox.sh
fluxbox.sh: Bourne shell script text executable
david:~>file ./jt3.avi
./jt3.avi: RIFF (little-endian) data, AVI, 384 x 216, >30 fps, video: FFMpeg MPEG-4, 
audio: DivX (stereo, 48000   Hz)
david:~>file dscn0041.jpg
./dscn0041.jpg: JPEG image data, EXIF standard 2.2
david:~>file CV.pdf
./CV.pdf: PDF document, version 1.4
david:~>file /usr/bin/file
/usr/bin/file: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), for FreeBSD 7.2 (702105), 
dynamically linked (uses shared libs), FreeBSD-style, stripped
Projets :