Home>Article>Operation and Maintenance> How to find large files in Linux? (code example)
Over time, the disk drive can become cluttered with unnecessary files that take up a lot of disk space, causing your Linux device to run out of disk space. So how do you find these large files? The following article will introduce to you how to use the find and du commands to find the largest files and directories in Linux. I hope it will be helpful to you.
Use the find command to find large files
The find command is the most popular in the Linux system administrator tool library One of the most powerful tools. It allows users to search files and directories based on different criteria, including file size.
For example, if you want to search for files larger than 100MB in size, you can use the following command in the current working directory:
sudo find . -xdev -type f -size +100M
Instructions: You can replace "." with the directory where you want to search the largest files path of.
The output will show a list of files without any other information.
/var/lib/libvirt/images/centos-7-desktop_default.img /var/lib/libvirt/images/bionic64_default.img /var/lib/libvirt/images/win10.qcow2 /var/lib/libvirt/images/debian-9_default.img /var/lib/libvirt/images/ubuntu-18-04-desktop_default.img /var/lib/libvirt/images/centos-7_default.img
The find command can also be used in conjunction with other tools (such as ls or sort) to perform operations on these files.
For example: We pipe the output of the find command to ls, ls will output the size of each found file, and then pipe the output to the sort command to sort it based on the file size in column 5 .
find . -xdev -type f -size +100M -print | xargs ls -lh | sort -k5,5 -h -r
The following output will be achieved:
-rw------- 1 root root 40967M Jan 5 14:12 /var/lib/libvirt/images/win10.qcow2 -rw------- 1 root root 3725M Jan 7 22:12 /var/lib/libvirt/images/debian-9_default.img -rw------- 1 root root 1524M Dec 30 07:46 /var/lib/libvirt/images/centos-7-desktop_default.img -rw------- 1 root root 999M Jan 5 14:43 /var/lib/libvirt/images/ubuntu-18-04-desktop_default.img -rw------- 1 root root 562M Dec 31 07:38 /var/lib/libvirt/images/centos-7_default.img -rw------- 1 root root 378M Jan 7 22:26 /var/lib/libvirt/images/bionic64_default.img
If the output contains a lot of information, we can also use the head command to output only the first 10 lines:
find . -xdev -type f -size +100M -print | xargs ls -lh | sort -k5,5 -h -r | head
Let us Let’s decompose and understand the above command:
1,find . -xdev -type f -size 100M -print
: Search in the current working directory (.) for (-type f) greater than For files of 100MB (-size 100M), do not lower directories on other file systems (-xdev), output the full filename on standard output, and then wrap the output (-print).
1,xargs ls -lh
: Use xargs to execute the ls-lh command, which will display the output in a human-readable long list format.
3,sort -k5,5 -h -r
: Sort rows according to column 5 (-k5,5), compare human-readable format (-h) and Reverse the result (-r).
4,head
: Only display the first 10 lines of pipeline output.
The find command has many powerful options. For example, you can search for large files that are older than x days, have a specific extension, or belong to a specific user.
Use du command to find large files and directories
du command is used to estimate file space usage, for finding directories that take up a lot of disk space and files are particularly useful.
Use the following command to output the largest files and directories:
du -ahx . | sort -rh | head -5
Output:
55G. 24G./.vagrant.d/boxes 24G./.vagrant.d 13G./Projects 5.2G./.minikube
Command description:
1,du -ahx .
: Estimates file space usage in the current working directory (.), counts files and directories simultaneously (a), outputs size in human-readable format (h), and skips different files Directory on system(x).
2,sort -rh
: Sort rows by comparing human-readable format (-h) and reverse the result (-r).
3,head -5
: Only output the first 5 lines of the pipeline output.
The du command contains additional options that you can use to optimize the output of disk space usage.
Recommended video tutorials: "Linux Tutorial"
The above is the entire content of this article, I hope it will be helpful to everyone's learning. For more exciting content, you can pay attention to the relevant tutorial columns of the PHP Chinese website! ! !
The above is the detailed content of How to find large files in Linux? (code example). For more information, please follow other related articles on the PHP Chinese website!