user groups
configuration file for resolver
Another configuration file for resolver, contains a list of DNS servers that the system should access. An example contents of the /etc/resolv.conf file:
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 2001:4860:4860::8888
nameserver 2001:4860:4860::8844
A file with information about the IP addresses of the specified hosts.
dynamic file system information
This file used to store information about user passwords, but now it's just a list of users and information about their shell.
Hashes of user passwords are stored in this file. Only root user can see the content.
A system-wide initialization file for entering the sh shell (here you can specify environment variables or functions that should be available for each user in the terminal after the computer boots up)
A List of IP protocols
port names for network services
/etc/my.cnf
- (contains a link to /etc/my.cnf.d)
/etc/my.cnf.d/
- the directory where the MySQL/MariaDB configurations are actually located
/etc/my.cnf.d/client.cnf
- MySQL/MariaDB client configuration
/etc/my.cnf.d/server.cnf
- MySQL/MariaDB server configuration
/etc/apache2/
- directory with web server settings (when the service is called apache2 - that is, on systems such as Debian and derivatives)
/etc/apache2/conf/httpd.conf
- the main Apache configuration file
/etc/apache2/conf/sites-enabled/
- enabled Apache virtual hosts
/etc/httpd/
- the directory with the web server settings (when the service is called httpd - that is, on systems such as Arch Linux and derivatives)
/etc/httpd/conf/httpd.conf
- the main Apache configuration file
/etc/httpd/conf/sites-enabled/
- enabled Apache virtual hosts
/etc/php/php.ini
- main PHP configuration file
/etc/systemd/
- directory with Systemd files.
/etc/NetworkManager/system-connections/
- network connections that are configured through NetworkManager.
/etc/ssh/
- configuration files and SSH keys
/etc/ssh/ssh\_config
- SSH client configuration file
/etc/ssh/sshd\_config
- SSH server configuration file
/etc/ssh/ssh_host_\*
(/etc/ssh/ssh_host_dsa_key, /etc/ssh/ssh_host_dsa_key.pub and others) - SSH keys
home directory of users. Each time a new user is created, a directory is created in the home directory according to the user name (for example, for the mial user it will be /home/mial/
), which contains other directories, such as the Desktop, Downloads, Documents, etc.
In some distributions, the path ~/bin (that is, the bin folder in the user's home directory) is added to the $PATH system variable. This means that if you put a file in this folder, it will be available in the console by the file name (you do not need to specify the full path).
The only exception is the root user, his files are stored in the /root directory (more on that below).
The lib directory contains the kernel modules and shared library images needed to boot the system and run commands on the root file system.
This directory is created during the installation of Linux, useful for recovering files that may be damaged due to an unexpected shutdown. If the program for finding errors in the file system has detected a problem (for example, it has found damaged files), then these files will be moved to this directory.
Mount points for removable media such as CD-ROMs (introduced in FHS-2.3).
Mount directory for temporary mounting of file systems (external drives, USB drives, etc.).
Abbreviation for the word “optional”. Contains third-party software such as Java, cuda, dropbox, metasploit, viber, vuze, etc.
A virtual and pseudo-file system that contains information about running processes and kernel settings in the form of files. A virtual file system that provides information about processes and the kernel as files. On Linux, it matches mounting procfs. Usually automatically generated and populated by the system on the fly.
Examples of files in the /proc directory:
/proc/partitions
- Information about the partitions available on the system.
/proc/stat
- Records or various statistics stored since the last reboot.
/proc/swaps
- Information about the swap section.
/proc/uptime
- Information about uptime (time) (in seconds).
This is the root user home directory and should never be confused with “/”.
The superuser’s home directory (root) is located in /root, and not in /home/root, since the superuser account is intended solely for administering the operating system. This helps to increase the reliability of the system: /root is usually located on the same partition as the system, which allows maintenance and tuning of the operating system by mounting only the root partition.
Information about the system since it was loaded, including data necessary for daemons to work (pid files, UNIX sockets, etc.).
Contains binary executables needed by the system administrator for maintenance: iptables, fdisk, ifconfig, swapon, reboot, etc.
The name of the directory is an abbreviation of "services". This directory contains files related to services. For example, services such as deluge, ftp, http store files here.
some distributions (for example, Arch Linux) store web server files here.
Contains information about devices, drivers, as well as some kernel properties.
Modern Linux distributions include the /sys directory as a virtual file system that stores and allows modification of devices connected to the system.
contains disk information
contains information about the sda disk model
System temporary directory accessible by users and root. Saves temporary files for the user and the system, which are deleted at the next boot.
Contains executable files, documentation, source code, libraries for second-level programs.
/usr/bin
- additional programs for all users that are not necessary in single-user mode.
/usr/include
- standard header files.
/usr/lib
- libraries for programs located in /usr/bin and /usr/sbin.
/usr/local
- tertiary hierarchy for data specific to this host. Usually contains subdirectories such as bin, lib, share.
/usr/sbin
- additional system programs (such as daemons of various network services).
/usr/share
- architecture-independent shared data.
/usr/src
- source codes (for example, the kernel source codes are located here).
Directory for variable data. The contents of the files in this directory are expected to grow. This directory contains log files, lock, spool, mail, and temporary files.
/var/cache
- application cache. Such data is generated locally as a result of resource-intensive computing or I/O. An application must be able to regenerate this data. These files can be deleted without data loss.
/var/lib
- status information. Permanent data changed by programs in the process of work (for example, databases, metadata of a package manager, etc.).
/var/lock
- lock files that indicate a resource is busy.
/var/log/
- contains the logs of various programs and services
/var/log/httpd/
- Apache web server logs (in Arch Linux)
/var/log/apache2/
- Apache web server logs (in Debian and derivatives)
/var/mail
- user mailboxes.
/var/run
- the directory for storing information about the system from the time it was loaded, currently out of date. It is allowed to make it a link to /run. The directory is reserved for backward compatibility with programs that still use the /var/run directory.
/var/spool
- tasks waiting to be processed (for example, print queues, unread or unsent letters).
/var/spool/mail
- location of user mailboxes (deprecated).
/var/tmp
- temporary files that should be saved between reboots.
/var/www/html/
- directory with files of Apache web server websites in Debian and derivative distributions.