Home  >  Article  >  Operation and Maintenance  >  How to find large files in Linux? (code example)

How to find large files in Linux? (code example)

青灯夜游
青灯夜游Original
2019-03-29 16:48:546208browse

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.

How to find large files in Linux? (code example)

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn