Other Features of /proc and /sys
As mentioned previously, the /proc filesystem on Linux exposes a lot of detail about the kernel, which is not (as it may first seem) a static set of files created at boot, but is a direct hook into the kernel itself. Accordingly, some files can be written to, some can be read, and others can be read or written. A number of features in /proc are described in the proc(5) man page; run man 5 proc to read it. These files can be very useful for shell scripts because a shell script can get very close to the internals of the kernel itself, which is unusual for a Unix-like system.
/proc/version is a read-only listing of the kernel version, including build details of how it was compiled. This can be a more complete, and more accurate, way to detect the actual kernel version than uname. Despite how it looks here, it is actually a single line of text.
$ cat /proc/version Linux version 2.6.32-5-amd64 (Debian 2.6.32-29) (email@example.com) (gcc version 4.3.5 (Debian 4.3.5-4) ) #1 SMP Fri Dec 10 15:35:08 UTC 2010 $ uname -a Linux goldie 2.6.32-5-amd64 #1 SMP Fri Dec 10 15:35:08 UTC 2010 x86_64 GNU/Linux $
There is a little-used key on the PC keyboard, labeled SysRq. Its history goes back to mainframe computer systems, but it is used by the Linux kernel as a way to communicate with the kernel even when normal methods (such as echoing to /proc as most of these examples cover) are not possible. If enabled, when the user presses the “magic” combination ...