====== File System Hierarchy ====== **General Information** Some of the most common top level directories in the Linux file system. **Checklist** * Distro(s): Any **Sources** * man hier * Linux Foundation: http://refspecs.linuxfoundation.org/fhs.shtml ---- ====== Top Level Directories ====== EL7 = Enterprise Linux 7 (Red Hat, CentOS, Scientific) ^ Directory ^ Used For ^ | / | Root directory; file system tree starts here | | /bin | Executable programs needed to repair system; essential during boot; \\ EL7 symlinks /bin -> /usr/bin | | /boot | All files needed to boot the Linux kernel | | /dev | Special/device files; refer to physical device | | /etc | "etcetera"; configuration files local to the system | | /home | User local home directories | | /lib and /lib64 | Shared libraries used by programs in /boot,/bin, /sbin; \\ EL7 symlinks /lib -> /usr/lib and /lib64 -> /usr/lib64 | | /media and /mnt | Mount points for removable media and temporary file systems respectively | | /opt | Add on or optional packages | | /proc | Pseudo-filesystem that provides information on running processes and the kernel | | /root | Home directory for the root user | | /run | Process/user specific info created since last boot | | /sbin | Similar to /bin, except for system administration not used by regular users; \\ EL7 symlinks /sbin -> /usr/sbin | | /srv | Directory to use for data used by services (such as NFS, FTP, HTTP) | | /sys | To interface with hardware devices managed by the kernel | | /tmp | Temporary files that could be deleted without warning during boot | | /usr | Directory containing sub directories with program files, libraries, and documentation. Typically mimics the contents of /. EL6: Not required during boot. EL7: Important directory contents has been relocated here; now required during boot. | | /var | Files that can change dynamically (log files, mail, and spool files) | ---- ====== Common Directories with Own Partition ====== It is common to mount the following directories onto their own partition: ^ Directory ^ Reason ^ | / | isolate the core OS away from the rest of the system | | /boot | isolate kernel boot images, cannot be LVM | | /home | isolate user data from the rest of the system; usually to allocate more storage space and preserve user data during upgrades | | /tmp | isolate world writeable /tmp to give more secure mount options | | /var | isolate other variable data that could grow from affecting the rest of the system. (yum cache, common place for applications to write to) | | /var/log | prevent run away log files from affecting the rest of the system | ---- ====== View Mounts ====== Different ways to see file system mounts. ---- ===== Find Mounts ===== The "findmnt" command shows a tree like mount structure. [root@srv01 ~]# findmnt TARGET SOURCE FSTYPE OPTIONS / /dev/mapper/vgroot-lvroot xfs rw,relatime,attr2,inode64,noquota ├─/proc proc proc rw,nosuid,nodev,noexec,relatime │ └─/proc/sys/fs/binfmt_misc systemd-1 autofs rw,relatime,fd=40,pgrp=1,timeout=300,minproto=5,maxproto=5,direct ├─/sys sysfs sysfs rw,nosuid,nodev,noexec,relatime │ ├─/sys/kernel/security securityfs securityfs rw,nosuid,nodev,noexec,relatime │ ├─/sys/fs/cgroup tmpfs tmpfs rw,nosuid,nodev,noexec,mode=755 │ │ ├─/sys/fs/cgroup/systemd cgroup cgroup rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd │ │ ├─/sys/fs/cgroup/cpuset cgroup cgroup rw,nosuid,nodev,noexec,relatime,cpuset │ │ ├─/sys/fs/cgroup/cpu,cpuacct cgroup cgroup rw,nosuid,nodev,noexec,relatime,cpuacct,cpu │ │ ├─/sys/fs/cgroup/memory cgroup cgroup rw,nosuid,nodev,noexec,relatime,memory │ │ ├─/sys/fs/cgroup/devices cgroup cgroup rw,nosuid,nodev,noexec,relatime,devices │ │ ├─/sys/fs/cgroup/freezer cgroup cgroup rw,nosuid,nodev,noexec,relatime,freezer │ │ ├─/sys/fs/cgroup/net_cls cgroup cgroup rw,nosuid,nodev,noexec,relatime,net_cls │ │ ├─/sys/fs/cgroup/blkio cgroup cgroup rw,nosuid,nodev,noexec,relatime,blkio │ │ ├─/sys/fs/cgroup/perf_event cgroup cgroup rw,nosuid,nodev,noexec,relatime,perf_event │ │ └─/sys/fs/cgroup/hugetlb cgroup cgroup rw,nosuid,nodev,noexec,relatime,hugetlb │ ├─/sys/fs/pstore pstore pstore rw,nosuid,nodev,noexec,relatime │ ├─/sys/kernel/config configfs configfs rw,relatime │ └─/sys/kernel/debug debugfs debugfs rw,relatime ├─/dev devtmpfs devtmpfs rw,nosuid,size=1829904k,nr_inodes=457476,mode=755 │ ├─/dev/shm tmpfs tmpfs rw,nosuid,nodev │ ├─/dev/pts devpts devpts rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000 │ ├─/dev/mqueue mqueue mqueue rw,relatime │ └─/dev/hugepages hugetlbfs hugetlbfs rw,relatime ├─/run tmpfs tmpfs rw,nosuid,nodev,mode=755 ├─/mnt/redusb /dev/mapper/vgredusb-lvredbackups ext4 rw,relatime,data=ordered ├─/mnt/blackusb /dev/mapper/vgblackusb-lvblackbackups ext4 rw,relatime,data=ordered ├─/boot /dev/sda1 xfs rw,relatime,attr2,inode64,noquota ├─/tmp /dev/mapper/vgroot-lvtmp xfs rw,relatime,attr2,inode64,noquota ├─/home /dev/mapper/vgroot-lvhome xfs rw,relatime,attr2,inode64,noquota └─/var /dev/mapper/vgroot-lvvar xfs rw,relatime,attr2,inode64,noquota ---- ===== Mount ===== The "mount" command showing only xfs and ext4 file system types (-t xfs,ext4) [root@srv01 ~]# mount -t xfs,ext4 /dev/mapper/vgroot-lvroot on / type xfs (rw,relatime,attr2,inode64,noquota) /dev/mapper/vgblackusb-lvblackbackups on /mnt/blackusb type ext4 (rw,relatime,data=ordered) /dev/mapper/vgredusb-lvredbackups on /mnt/redusb type ext4 (rw,relatime,data=ordered) /dev/mapper/vgroot-lvtmp on /tmp type xfs (rw,relatime,attr2,inode64,noquota) /dev/mapper/vgroot-lvhome on /home type xfs (rw,relatime,attr2,inode64,noquota) /dev/mapper/vgroot-lvvar on /var type xfs (rw,relatime,attr2,inode64,noquota) /dev/sda1 on /boot type xfs (rw,relatime,attr2,inode64,noquota) ---- ===== df ===== "df" command with human readable (-h) and print file system type (-T): [root@srv01 ~]# df -hT Filesystem Type Size Used Avail Use% Mounted on /dev/mapper/vgroot-lvroot xfs 30G 1.9G 29G 7% / devtmpfs devtmpfs 1.8G 0 1.8G 0% /dev tmpfs tmpfs 1.8G 0 1.8G 0% /dev/shm tmpfs tmpfs 1.8G 8.6M 1.8G 1% /run tmpfs tmpfs 1.8G 0 1.8G 0% /sys/fs/cgroup /dev/mapper/vgblackusb-lvblackbackups ext4 99G 65G 29G 70% /mnt/blackusb /dev/mapper/vgredusb-lvredbackups ext4 99G 66G 28G 71% /mnt/redusb /dev/mapper/vgroot-lvtmp xfs 8.0G 33M 8.0G 1% /tmp /dev/mapper/vgroot-lvhome xfs 100G 65G 36G 65% /home /dev/mapper/vgroot-lvvar xfs 8.0G 527M 7.5G 7% /var /dev/sda1 xfs 247M 164M 83M 67% /boot