In Unix/Linux everything is organized in the form of files, whether it’s devices, directories, files, etc. A file is a smallest unit in which the information is stored.
Directories and their usage –
/ | The file system root. |
/root | The home directory of the root user. The root user’s home directory is located outside of /home in order to make sure the root user may log in even without /home being available and mounted. |
/sbin | Like /bin, this directory holds commands needed to boot the system, but which are usually not executed by normal users. |
/boot | This contains files needed to start up the system, including the Linux kernel, a RAM disk image and bootloader configuration files. |
/dev | This directory has all device files. |
/etc | It contains system-specific configuration files. |
/home | The location contains users’ home directories. |
/lib | Contains very important dynamic libraries and kernel modules. |
/mnt | This directory shows the manually or temporarily mounted filesystems |
/opt | location for any other 3rd party software for the system |
/proc | A virtual kernel file system exposing the process list and other functionality. |
/bin | This has the binary files for all the commands, like cat,cp,zip,etc. This directory contains executable programs which are needed in single user mode and to bring the system up or repair it. |
/run | It is a tmpfs (temporary file system) for system packages to place runtime data in. |
/run/log | Location for run-time system logs |
/sbin | contains important administrative commands that should generally only be employed by the superuser. |
/sys | sys is a virtual filesystem that can be accessed to set or obtain information about the kernel’s view of the system. |
/tmp | This is location for temporary files used by applications. |
/usr | Contains user utilities and applications, and partly replicates the root directory structure, containing for instance, among others, /usr/bin/ and /usr/lib. |
/var | This is for variable data, i.e. data which is likely to be changed. Example logs, spool, crash, cache files. |
fstab –
The file /etc/fstab is a file with table containing descriptive information about the filesystems the system can mount.
The file /etc/fstab is a file with table containing descriptive information about the filesystems the system can mount.
# cat /etc/fstab
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/sda3 during installation
UUID=9276c0f9-8692-424a-8a81-4ed0c8d4e00a / ext4 errors=remount-ro 0 1
# /boot/efi was on /dev/sda2 during installation
UUID=C18D-C5BB /boot/efi vfat umask=0077 0 1
/swapfile none swap sw 0 0
/dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0
Command to check the free space on each of the file system –
# df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 390M 2.1M 388M 1% /run
/dev/sda3 23G 11G 12G 49% /
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 2.0G 0 2.0G 0% /run/qemu
/dev/sda2 512M 5.3M 507M 2% /boot/efi
tmpfs 390M 4.7M 385M 2% /run/user/1000
You can check the large files using du or find command.
du (disk usage) can be used to find the largest files in specified path. With find command, we can look for files larger than specified size.
# du -a /var | sort -n -r | head -n 5
3253608 /var
2633596 /var/lib
2088656 /var/lib/snapd
1434112 /var/lib/snapd/snaps
652708 /var/lib/snapd/seed
# find / -type f -size +1G -print | xargs ls -lh
-rw-rw-r-- 1 jay jay 64G Jun 28 10:16 /home/jay/.docker/desktop/vms/0/data/Docker.raw
-r-------- 1 root root 128T Jul 1 11:49 /proc/kcore
-rw------- 1 root root 1.1G Jun 28 09:30 /swapfile
Here we can use "G" or "M" for GB or MB respectively.