How to find large files under CentOS

In the Windows system, we can use the TreeSize tool to find some large files or folders, which is very convenient and efficient. In the Linux system, how to search for some relatively large files? Below I have organized how to find large files or folders in the Linux system.

1: How to find large files?

In fact, many times, you need to know what large files are in the current system, for example, the file size exceeds 100M or 1G (the threshold depends on the specific situation). So how to search these large files? For example, I want to search for files over 800M in the current directory

[root@getlnx01 u03]# pwd
/u03
[root@getlnx01 u03]# find . -type f -size +800M
./flash_recovery_area/backup/backupsets/ora_df873519197_s46815_s1
./flash_recovery_area/backup/backupsets/ora_df873523646_s46822_s1
./flash_recovery_area/backup/backupsets/ora_df873521714_s46818_s1
./flash_recovery_area/backup/backupsets/ora_df873522876_s46820_s1
./flash_recovery_area/backup/backupsets/ora_df873517396_s46813_s1
./flash_recovery_area/backup/backupsets/ora_df873523321_s46821_s1
./flash_recovery_area/backup/backupsets/ora_df873515765_s46811_s1
./flash_recovery_area/backup/backupsets/ora_df873520789_s46817_s1
./flash_recovery_area/backup/backupsets/ora_df873524162_s46823_s1
./flash_recovery_area/backup/backupsets/ora_df873518302_s46814_s1
./flash_recovery_area/backup/backupsets/ora_df873519953_s46816_s1
./flash_recovery_area/backup/backupsets/ora_df873516500_s46812_s1
./flash_recovery_area/backup/backupsets/ora_df873513413_s46809_s1
./flash_recovery_area/backup/backupsets/ora_df873514789_s46810_s1
./oradata/epps/invsubmat_d08.dbf
./oradata/epps/gmtinv_d08.dbf
./oradata/epps/gmtinv_x01.dbf
./oradata/epps/undotbs02.dbf
./oradata/epps/gmtinv_d07.dbf
./oradata/epps/undotbs01.dbf
./oradata/epps/gmtinv_x02.dbf

clip_image001

As shown in the above command, we can only see the file name of a file over 800M in size, but we don’t know anything about the file (for example, file size, file attributes), so can we display some file attributes or information in more detail? , Of course, as shown below

[root@getlnx01 u03]# find . -type f -size +800M -print0 | xargs -0 ls -l
-rw-r----- 1 oracle oinstall 2782846976 Mar 6 11:51 ./flash_recovery_area/backup/backupsets/ora_df873513413_s46809_s1
-rw-r----- 1 oracle oinstall 1878433792 Mar 6 11:53 ./flash_recovery_area/backup/backupsets/ora_df873514789_s46810_s1
-rw-r----- 1 oracle oinstall 1378492416 Mar 6 11:54 ./flash_recovery_area/backup/backupsets/ora_df873515765_s46811_s1
-rw-r----- 1 oracle oinstall 1641381888 Mar 6 11:56 ./flash_recovery_area/backup/backupsets/ora_df873516500_s46812_s1
-rw-r----- 1 oracle oinstall 1564065792 Mar 6 11:58 ./flash_recovery_area/backup/backupsets/ora_df873517396_s46813_s1
-rw-r----- 1 oracle oinstall 1663492096 Mar 6 12:00 ./flash_recovery_area/backup/backupsets/ora_df873518302_s46814_s1
-rw-r----- 1 oracle oinstall 1368244224 Mar 6 12:02 ./flash_recovery_area/backup/backupsets/ora_df873519197_s46815_s1
-rw-r----- 1 oracle oinstall 1629069312 Mar 6 12:04 ./flash_recovery_area/backup/backupsets/ora_df873519953_s46816_s1
-rw-r----- 1 oracle oinstall 1629954048 Mar 6 12:06 ./flash_recovery_area/backup/backupsets/ora_df873520789_s46817_s1
-rw-r----- 1 oracle oinstall 1202192384 Mar 6 12:07 ./flash_recovery_area/backup/backupsets/ora_df873521714_s46818_s1
-rw-r----- 1 oracle oinstall 1189388288 Mar 6 12:10 ./flash_recovery_area/backup/backupsets/ora_df873522876_s46820_s1
-rw-r----- 1 oracle oinstall 1089257472 Mar 6 12:11 ./flash_recovery_area/backup/backupsets/ora_df873523321_s46821_s1
-rw-r----- 1 oracle oinstall 1097687040 Mar 6 12:12 ./flash_recovery_area/backup/backupsets/ora_df873523646_s46822_s1
-rw-r----- 1 oracle oinstall 1051009024 Mar 6 12:13 ./flash_recovery_area/backup/backupsets/ora_df873524162_s46823_s1
-rw-r----- 1 oracle oinstall 4294975488 Apr 3 15:07 ./oradata/epps/gmtinv_d07.dbf
-rw-r----- 1 oracle oinstall 4194312192 Apr 1 22:36 ./oradata/epps/gmtinv_d08.dbf
-rw-r----- 1 oracle oinstall 4294975488 Apr 3 15:54 ./oradata/epps/gmtinv_x01.dbf
-rw-r----- 1 oracle oinstall 4294975488 Apr 3 15:57 ./oradata/epps/gmtinv_x02.dbf
-rw-r----- 1 oracle oinstall 4294975488 Apr 1 22:35 ./oradata/epps/invsubmat_d08.dbf
-rw-r----- 1 oracle oinstall 8589942784 Apr 4 09:55 ./oradata/epps/undotbs01.dbf
-rw-r----- 1 oracle oinstall 8589942784 Apr 4 09:15 ./oradata/epps/undotbs02.dbf

clip_image002

When we only need to find a file over 800M in size and display the specific size of the file found, we can use the following command

[root@getlnx01 u03]# find . -type f -size +800M -print0 | xargs -0 du -h
1.3G ./flash_recovery_area/backup/backupsets/ora_df873519197_s46815_s1
1.1G ./flash_recovery_area/backup/backupsets/ora_df873523646_s46822_s1
1.2G ./flash_recovery_area/backup/backupsets/ora_df873521714_s46818_s1
1.2G ./flash_recovery_area/backup/backupsets/ora_df873522876_s46820_s1
1.5G ./flash_recovery_area/backup/backupsets/ora_df873517396_s46813_s1
1.1G ./flash_recovery_area/backup/backupsets/ora_df873523321_s46821_s1
1.3G ./flash_recovery_area/backup/backupsets/ora_df873515765_s46811_s1
1.6G ./flash_recovery_area/backup/backupsets/ora_df873520789_s46817_s1
1004M ./flash_recovery_area/backup/backupsets/ora_df873524162_s46823_s1
1.6G ./flash_recovery_area/backup/backupsets/ora_df873518302_s46814_s1
1.6G ./flash_recovery_area/backup/backupsets/ora_df873519953_s46816_s1
1.6G ./flash_recovery_area/backup/backupsets/ora_df873516500_s46812_s1
2.6G ./flash_recovery_area/backup/backupsets/ora_df873513413_s46809_s1
1.8G ./flash_recovery_area/backup/backupsets/ora_df873514789_s46810_s1
4.1G ./oradata/epps/invsubmat_d08.dbf
4.0G ./oradata/epps/gmtinv_d08.dbf
4.1G ./oradata/epps/gmtinv_x01.dbf
8.1G ./oradata/epps/undotbs02.dbf
4.1G ./oradata/epps/gmtinv_d07.dbf
8.1G ./oradata/epps/undotbs01.dbf
4.1G ./oradata/epps/gmtinv_x02.dbf

clip_image003

If you need to sort the search results according to file size, you can use the following command

[root@getlnx01 u03]# find . -type f -size +800M -print0 | xargs -0 du -h | sort -nr
1004M ./flash_recovery_area/backup/backupsets/ora_df873524162_s46823_s1
8.1G ./oradata/epps/undotbs02.dbf
8.1G ./oradata/epps/undotbs01.dbf
4.1G ./oradata/epps/invsubmat_d08.dbf
4.1G ./oradata/epps/gmtinv_x02.dbf
4.1G ./oradata/epps/gmtinv_x01.dbf
4.1G ./oradata/epps/gmtinv_d07.dbf
4.0G ./oradata/epps/gmtinv_d08.dbf
2.6G ./flash_recovery_area/backup/backupsets/ora_df873513413_s46809_s1
1.8G ./flash_recovery_area/backup/backupsets/ora_df873514789_s46810_s1
1.6G ./flash_recovery_area/backup/backupsets/ora_df873520789_s46817_s1
1.6G ./flash_recovery_area/backup/backupsets/ora_df873519953_s46816_s1
1.6G ./flash_recovery_area/backup/backupsets/ora_df873518302_s46814_s1
1.6G ./flash_recovery_area/backup/backupsets/ora_df873516500_s46812_s1
1.5G ./flash_recovery_area/backup/backupsets/ora_df873517396_s46813_s1
1.3G ./flash_recovery_area/backup/backupsets/ora_df873519197_s46815_s1
1.3G ./flash_recovery_area/backup/backupsets/ora_df873515765_s46811_s1
1.2G ./flash_recovery_area/backup/backupsets/ora_df873522876_s46820_s1
1.2G ./flash_recovery_area/backup/backupsets/ora_df873521714_s46818_s1
1.1G ./flash_recovery_area/backup/backupsets/ora_df873523646_s46822_s1
1.1G ./flash_recovery_area/backup/backupsets/ora_df873523321_s46821_s1

clip_image004

However, as shown in the screenshot above, sometimes the order of the arrangement is not exactly the same as the size. This is caused by the parameter h of the du command. You can use MB to display in a unified manner, which can solve this problem. At this point, this command for finding large files in the Linux system is perfect. Of course, if you still have a lot of needs, you can modify and adjust this command.

clip_image005

2: How to find large directories under Linux

For example, sometimes disk space alarms, and you usually neglect to manage and monitor the growth of files, then I need to quickly understand which directories have become larger, then we can use the du command to help us solve this problem.

[root@getlnx01 u03]# du -h --max-depth=1
16K ./lost+found
33G ./flash_recovery_area
37G ./oradata
70G .

If you want to know what big folders are under the flash_recovery_area directory, you can set the parameter max-depth=2. If you want to sort the search results, you can use the sort command. As follows

[root@getlnx01 u03]# du -h --max-depth=2 | sort -n
3.5G ./flash_recovery_area/EPPS
16K ./lost+found
29G ./flash_recovery_area/backup
33G ./flash_recovery_area
37G ./oradata
37G ./oradata/epps
70G .
[root@getlnx01 u03]# du -hm --max-depth=2 | sort -n
1 ./lost+found
3527 ./flash_recovery_area/EPPS
29544 ./flash_recovery_area/backup
33070 ./flash_recovery_area
37705 ./oradata
37705 ./oradata/epps
70775 .

clip_image006

[root@getlnx01 u03]# cd /

[root@getlnx01 /]# du -hm --max-depth=2 | sort -n

Sometimes there are too many results from the search (for example, I start searching from the root directory), and I keep refreshing the screen. What if I only want to find the largest 12 folders? At this time, it is necessary to use the head command to display

[root@getlnx01 /]# du -hm --max-depth=2 | sort -nr | head -12
407480 .
167880 ./u04
158685 ./u02/oradata
158685 ./u02
152118 ./u04/oradata
70775 ./u03
37705 ./u03/oradata
33070 ./u03/flash_recovery_area
5995 ./u01/app
5995 ./u01
3551 ./usr
1558 ./usr/share
[root@getlnx01 /]#

clip_image007

Guess you like

Origin blog.csdn.net/sxhexin/article/details/108187353