mirror of
https://github.com/mohitmishra786/amILearningEnough.git
synced 2025-12-17 20:34:40 +03:00
94 lines
5.5 KiB
Markdown
94 lines
5.5 KiB
Markdown
# Unix File System Hierarchy
|
|
|
|
The Unix file system hierarchy is a standardized directory structure that organizes the files and directories on a Unix-based operating system. This hierarchical structure ensures consistency and predictability across different Unix-like systems, making it easier for users and applications to interact with the file system.
|
|
|
|
## The Root Directory (`/`)
|
|
|
|
The root directory, denoted by the forward slash (`/`), is the topmost directory in the Unix file system hierarchy. It serves as the starting point for all other directories and files.
|
|
|
|
## Essential User Command Binaries (`/bin`)
|
|
|
|
The `/bin` directory contains essential user command binaries, which are executable files for common user-level commands, such as `bash`, `cat`, `chmod`, `date`, `echo`, `grep`, `gzip`, `hostname`, `kill`, `less`, `ls`, `mkdir`, `mount`, `mv`, `nano`, `open`, `ping`, `pwd`, `rm`, `sh`, `su`, `tar`, `touch`, and `umount`.
|
|
|
|
## System Configuration Files (`/etc`)
|
|
|
|
The `/etc` directory is the home for system configuration files, including `crontab` (scheduled tasks), `cups` (printing system), `fonts` (font files), `host.conf` (host name resolution configuration), `hostname` (system host name), `hosts` (hosts file for name resolution), `hosts.allow` and `hosts.deny` (network access control), `init` (system initialization), `issue` (message of the day), `machine-id` (unique machine ID), `mtab` (mounted file systems), `mtools.conf` (configuration for MTOOLS), `nanorc` (nano text editor configuration), `networks` (network name resolution), `passwd` (user account information), `profile` (system-wide environment and startup scripts), `protocols` (network protocols), `resolv.conf` (DNS resolver configuration), `rpc` (Remote Procedure Call configuration), `securetty` (secure TTY list), `services` (network services), `shells` (list of available shells), and `timezone` (system timezone information).
|
|
|
|
## Essential System Binaries (`/sbin`)
|
|
|
|
The `/sbin` directory contains essential system binaries, which are executable files for system administration commands, such as `fdisk` (partition management), `fsck` (file system check and repair), `getty` (login process), `halt` (system shutdown), `ifconfig` (network interface configuration), `init` (system initialization), `mkfs` (file system creation), `mkswaP` (swap space creation), `reboot` (system reboot), and `route` (network routing configuration).
|
|
|
|
## Read-Only User Application Support Data & Binaries (`/usr`)
|
|
|
|
The `/usr` directory is the home for read-only user application support data and binaries, including:
|
|
|
|
- `/usr/bin`: "most user commands"
|
|
- `/usr/include`: "standard include files for 'C' code"
|
|
- `/usr/lib`: "obj, bin, lib files for coding & packages"
|
|
- `/usr/local`: "local software" (including `/usr/local/bin`, `/usr/local/lib`, `/usr/local/man`, `/usr/local/sbin`, and `/usr/local/share`)
|
|
- `/usr/share`: "static data sharable across all architectures"
|
|
- `/usr/share/man`: "manual pages"
|
|
|
|
## Variable Data Files (`/var`)
|
|
|
|
The `/var` directory is the home for variable data files, including:
|
|
|
|
- `/var/cache`: "application cache data"
|
|
- `/var/lib`: "data modified as programs run"
|
|
- `/var/lock`: "lock files to track resources in use"
|
|
- `/var/log`: "log files"
|
|
- `/var/opt`: "variable data for optional packages"
|
|
- `/var/spool`: "tasks waiting to be processed"
|
|
- `/var/tmp`: "temporary files saved between reboots"
|
|
|
|
## Device Files (`/dev`)
|
|
|
|
The `/dev` directory contains device files, which represent physical or virtual devices on the system, such as `/dev/null`, `/dev/zero`, and `/dev/random`.
|
|
|
|
## Home Directories (`/home`)
|
|
|
|
The `/home` directory is the location for user home directories, where users can store their personal files and configurations.
|
|
|
|
## Mount Points (`/mnt`)
|
|
|
|
The `/mnt` directory is used as a mount point for temporary file systems, typically used for mounting external storage devices or network file systems.
|
|
|
|
## Process & Kernel Information Files (`/proc`)
|
|
|
|
The `/proc` directory is a virtual file system that provides access to information about running processes and the kernel, such as CPU, memory, and other system resources.
|
|
|
|
## Root User Home Directory (`/root`)
|
|
|
|
The `/root` directory is the home directory for the root user, the superuser with full administrative privileges.
|
|
|
|
## Temporary Files (`/tmp`)
|
|
|
|
The `/tmp` directory is used for storing temporary files that are deleted between system reboots.
|
|
|
|
## System Libraries & Kernel Modules (`/lib`)
|
|
|
|
The `/lib` directory contains system libraries and kernel modules, which are essential for the proper functioning of the operating system.
|
|
|
|
## Optional Software Applications (`/opt`)
|
|
|
|
The `/opt` directory is used for installing optional software applications, which are not part of the core system.
|
|
|
|
## Mount Points for Temporary Filesystems (`/run`)
|
|
|
|
The `/run` directory is used as a mount point for temporary file systems that are created and destroyed between system boots.
|
|
|
|
## System Boot & Init Information (`/boot`)
|
|
|
|
The `/boot` directory contains files essential for booting the operating system, such as the kernel image, initramfs, and boot loader configuration.
|
|
|
|
## System Logs (`/var/log`)
|
|
|
|
The `/var/log` directory is the location for system log files, which record various events and activities on the system.
|
|
|
|
## Spool Directories (`/var/spool`)
|
|
|
|
The `/var/spool` directory is used for storing tasks that are waiting to be processed, such as print jobs, mail, and cron jobs.
|
|
|
|
## Temporary Files (`/var/tmp`)
|
|
|
|
The `/var/tmp` directory is used for storing temporary files that persist across system reboots, unlike the `/tmp` directory. |