GNU/Linux >> Tutoriels Linux >  >> Linux

Explorer le système de fichiers Linux /proc

Le /proc Le système de fichiers semble toujours exister car il est construit au démarrage et supprimé à l'arrêt, mais il s'agit en fait d'un système de fichiers virtuel qui contient de nombreuses informations pertinentes sur votre système et ses processus en cours d'exécution. Dans cet article, je vais approfondir son contenu et la valeur que vous, en tant qu'administrateur système, pouvez en tirer.

Remarque :J'accède aux fichiers et aux répertoires sous /proc en tant qu'utilisateur standard et non en tant que root, sauf indication contraire.

Si vous regardez les fichiers sous /proc , vous en verrez beaucoup (plus de 150), selon le nombre de processus en cours d'exécution.

$ ls /proc
1     174    26    2902   4109   531          fb
10    175    2601  2904   41275  546          filesystems
1004  176    2602  2907   41292  547          fs
<snip>
166   2589   2889  4000   47452  dma          vmstat
167   2594   2898  4005   475    driver       zoneinfo
168   2595   29    40986  522    execdomains

Les fichiers numérotés sont des répertoires qui correspondent aux numéros de processus ou ID de processus (PID). Par exemple, dans la première colonne, il y a des processus avec les numéros 1, 10, 1055, 1057, 1059, etc. À l'intérieur de ces répertoires numérotés par processus, il y a plus de fichiers qui ont à voir avec les processus eux-mêmes. Vous trouverez ci-dessous une liste des /proc/411 répertoire.

$ ls /proc/411
ls: cannot read symbolic link /proc/411/cwd: Permission denied
ls: cannot read symbolic link /proc/411/root: Permission denied
ls: cannot read symbolic link /proc/411/exe: Permission denied
arch_status      fdinfo      numa_maps      smaps_rollup
attr             gid_map     oom_adj        stack
autogroup        io          oom_score      stat
auxv             latency     oom_score_adj  statm
cgroup           limits      pagemap        status
clear_refs       loginuid    patch_state    syscall
cmdline          map_files   personality    task
comm             maps        projid_map     timers
coredump_filter  mem         root           timerslack_ns
cpuset           mountinfo   sched          uid_map
cwd              mounts      schedstat      wchan
environ          mountstats  sessionid
exe              net         setgroups
fd               ns          smaps

Il y a quelques fichiers dans chaque répertoire que les utilisateurs réguliers ne peuvent pas lire. Pour lister ou ouvrir ces fichiers, vous devez être root.

[ Si vous souhaitez voir une utilisation pratique des informations de /proc, consultez :Comment effacer la mémoire d'échange sous Linux ]

Vous remarquerez qu'une longue liste (ls -l /proc ) révèle que les fichiers texte normaux ont une taille de 0. Normalement, un fichier de taille nulle signifie qu'il ne contient aucun contenu. Cependant, ces /proc fichiers, comme le /proc système de fichiers lui-même (procfs ), sont virtuels. Ils font contenir des informations sinon pourquoi seraient-ils là ?

Par exemple, affichez le cpuinfo fichier à l'écran et vous verrez ce que je veux dire.

$ cat /proc/cpuinfo 
processor	: 0
vendor_id	: GenuineIntel
cpu family	: 6
model		: 142
model name	: Intel(R) Core(TM) i5-7360U CPU @ 2.30GHz
stepping	: 9
cpu MHz		: 2303.998
cache size	: 4096 KB
physical id	: 0
siblings	: 1
core id		: 0
cpu cores	: 1
apicid		: 0
initial apicid	: 0
fpu		: yes
fpu_exception	: yes
cpuid level	: 22
wp		: yes
flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc eagerfpu pni pclmulqdq monitor ssse3 cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx rdrand hypervisor lahf_lm abm 3dnowprefetch fsgsbase avx2 invpcid rdseed clflushopt md_clear flush_l1d
bogomips	: 4607.99
clflush size	: 64
cache_alignment	: 64
address sizes	: 39 bits physical, 48 bits virtual
power management:

Ce fichier contient des informations sur votre ou vos CPU. De nombreux fichiers de type texte standard contiennent des informations sur le matériel et le système et vous pouvez cat comme vous le feriez pour n'importe quel autre fichier texte. N'oubliez pas d'ignorer cette taille de fichier nulle.

Dans le prochain épisode de ce /proc filesystem series, j'expliquerai les informations données dans les fichiers. Vous pouvez également explorer par vous-même. La plupart des fichiers ont des noms qui décrivent les informations qu'ils contiennent. Certains fichiers sont plus précieux que d'autres pour l'esprit humain. Tous les fichiers n'ont pas cpuinfo ou meminfo des informations de niveau intermédiaire qui sont précieuses pour un administrateur système, mais qui sont peut-être importantes pour les développeurs, les fabricants de matériel ou le personnel de dépannage des fournisseurs.

[ Besoin d'en savoir plus sur l'administration système Linux ? Envisagez de suivre un cours d'administration système Red Hat. ]


Linux
  1. Dépannage à l'aide du système de fichiers proc sous Linux

  2. Gérez le répertoire Linux /tmp comme un pro

  3. Linux - Que signifient les drapeaux dans /proc/cpuinfo ?

  4. Linux – En quoi le lien symbolique /proc//exe diffère-t-il des liens symboliques ordinaires ?

  5. La différence entre /opt et /usr/local ?

La bonne façon de modifier les fichiers /etc/passwd et /etc/group sous Linux

Un guide pour le système de fichiers ‘/proc’ sous Linux

Fichiers /proc/cpuinfo et /proc/meminfo sous Linux

Comprendre les fichiers /proc/mounts, /etc/mtab et /proc/partitions

/proc/[pid]/pagemaps et /proc/[pid]/maps | linux

Où est le répertoire temporaire sous Linux ?