Directory - /sys in linux

From sysfs.txt:

sysfs is a ram-based filesystem [...]. It provides a means to export kernel data structures, their attributes, and the linkages between them to userspace.

In essence /sys allows you to get information about the system and its components (mostly attached and installed hardware) in a structured way.

See also the Wikipedia Article on sysfs. The following statement makes it pretty clear:

sysfs is a virtual file system provided by Linux. sysfs provides a set of virtual files by exporting information about various kernel subsystems, hardware devices and associated device drivers from the kernel's device model to user space. In addition to providing information about various devices and kernel subsystems, exported virtual files are also used for their configuring. sysfs is similar to the sysctl mechanism found in BSD systems, but implemented as a file system instead of a separate mechanism.

See also this excellent answer to What is the difference between procfs and sysfs? on Unix & Linux StackExchange.


Can't beat Wikipedia's simplicity:

Filesystem Hierarchy Standard > FHS compliance

Modern Linux distributions include a /sys directory as a virtual filesystem (sysfs, comparable to /proc, which is a procfs), which stores and allows modification of the devices connected to the system, whereas many traditional UNIX and Unix-like operating systems use /sys as a symbolic link to the kernel source tree.

I guess that, when this /sys directory got finally standardized, a description and its specification will be added to the Specifications Archive under the Filesystem Hierarchy Standard documentation.