/proc
directory (also called the proc
file system) contains a hierarchy of special files which represent the current state of the kernel, allowing applications and users to peer into the kernel's view of the system.
/proc
directory contains a wealth of information detailing system hardware and any running processes. In addition, some of the files within /proc
can be manipulated by users and applications to communicate configuration changes to the kernel.
Note
/proc/ide/
and /proc/pci/
directories obsolete. The /proc/ide/
file system is now superseded by files in sysfs
; to retrieve information on PCI devices, use lspci
instead. For more information on sysfs
or lspci
, refer to their respective man
pages.
/proc
directory contains another type of file called a virtual file. As such, /proc
is often referred to as a virtual file system.
/proc/interrupts
, /proc/meminfo
, /proc/mounts
, and /proc/partitions
provide an up-to-the-moment glimpse of the system's hardware. Others, like the /proc/filesystems
file and the /proc/sys/
directory provide system configuration information and interfaces.
/proc
files operate similarly to text files, storing useful system and hardware data in human-readable text format. As such, you can use cat
, more
, or less
to view them. For example, to display information about the system's CPU, run cat /proc/cpuinfo
. This will return output similar to the following:
processor : 0 vendor_id : AuthenticAMD cpu family : 5 model : 9 model name : AMD-K6(tm) 3D+ Processor stepping : 1 cpu MHz : 400.919 cache size : 256 KB fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 1 wp : yes flags : fpu vme de pse tsc msr mce cx8 pge mmx syscall 3dnow k6_mtrr bogomips : 799.53
/proc
contain information that is not human-readable. To retrieve information from such files, use tools such as lspci
, apm
, free
, and top
.
Note
/proc
directory are readable only by the root user.
/proc
directory are read-only. However, some can be used to adjust settings in the kernel. This is especially true for files in the /proc/sys/
subdirectory.
echo value > /proc/file_name
echo www.example.com > /proc/sys/kernel/hostname
cat /proc/sys/net/ipv4/ip_forward
returns either a 0
(off or false) or a 1
(on or true). A 0
indicates that the kernel is not forwarding network packets. To turn packet forwarding on, run:
echo 1 > /proc/sys/net/ipv4/ip_forward
Note
/proc/sys/
subdirectory is /sbin/sysctl
. For more information on this command, refer to Section 2.4, “Using the sysctl Command”
/proc/sys/
subdirectory, refer to Section 2.3.9, “/proc/sys/”.