Contents
/dev
Directory
The kernel can add or remove almost any device in the running system.
Changes in device state (whether a device is plugged in or removed) need to
be propagated to userspace. Devices need to be configured as soon as they
are plugged in and discovered. Users of a certain device need to be informed
about any state changes of this device. udev provides the needed
infrastructure to dynamically maintain the device node files and symbolic
links in the /dev
directory. udev rules provide a way
to plug external tools into the kernel device event processing. This enables
you to customize udev device handling, for example, by adding certain
scripts to execute as part of kernel device handling, or request and import
additional data to evaluate during device handling.
The device nodes in the /dev
directory provide access
to the corresponding kernel devices. With udev, the
/dev
directory reflects the current state of the
kernel. Every kernel device has one corresponding device file. If a device
is disconnected from the system, the device node is removed.
The content of the /dev
directory is kept on a
temporary file system and all files are created from scratch at every
system start-up. Manually created or changed files intentionally do not
survive a reboot. Static files and directories that should always be
present in the /dev
directory regardless of the
state of the corresponding kernel device can be placed in the
/lib/udev/devices
directory. At system start-up, the
contents of that directory is copied to the /dev
directory with the same ownership and permissions as the files in
/lib/udev/devices
.