Как да намерите най-големите файлове в Linux
В Linux има няколко начина за намиране на най-големите файлове. Най-често използваният метод е използването на командата find
.
Команда find
Командата find
се използва за намиране на файлове, отговарящи на определени критерии. За да намерите най-големите файлове, можете да използвате следния синтаксис:
find . -type f -size +10M
Този синтаксис ще намери всички файлове в текущата директория и поддиректории, които са по-големи от 10 MB.
Ето подробно обяснение на всяка опция:
- Директория
.
Директорията .
означава текущия директория. В този случай командата ще търси файлове в текущия директория.
- Опция
-type f
Опцията -type f
означава, че се търсят файлове. В този случай командата ще игнорира директориите и ще търси само файлове.
- Опция
-size +10M
Опцията -size +10M
означава, че файловете трябва да са по-големи от 10 MB. В този случай командата ще намери всички файлове в текущата директория, които са по-големи от 10 MB.
Така че, командата find . -type f -size +10M
ще намери всички файлове в текущата директория, които са по-големи от 10 MB.
Можете също така да използвате командата find
за намиране на най-големите файлове в определена директория или поддиректория. За това можете да използвате следния синтаксис:
find /home/user/videos -type f -size +10M
Този синтаксис ще намери всички файлове в директорията /home/user/videos
, които са по-големи от 10 MB.
За да сортирате всички файлове и директории в текущата директория по размер, като започнете с най-големите, можете да използвате следния синтаксис:
find . -type f -exec du -h {} + | sort -rh
Сортиране на всички файлове в определена директория по размер:
find /път/до/директория -type f -exec du -h {} + | sort -rh
В тези команди:
find .
търси в текущата директория (заменете.
с пътя до директорията, ако е необходимо).-type f
избира само файлове, а не директории.-exec du -h {} +
изчислява размера на всеки файл в четим формат сdu -h
.sort -rh
сортира резултатите в низходящ ред (от най-голям към най-малък размер) и включва хуманно четим размер (например, “1.5G” за 1.5 гигабайта).
Този начин на сортиране ще ви позволи да видите най-големите файлове или директории в желаната директория. Ако искате да ги видите възходящ ред, просто използвайте sort -h
вместо sort -rh
.
Команда du
Командата du
в Linux (Disk Usage) се използва за измерване на дисковото пространство, заето от файлове и директории.
За да намерите най-големите файлове, можете да използвате следния синтаксис:
du -h * | sort -n | tail -n 10
Този ред от команди в Linux използва комбинация от du
, sort
, и tail
, за да покаже размера на десетте най-големи файлове или директории в текущата директория.
Да разгледаме какво прави всяка част от командата:
du -h *
: Използваdu
за измерване на дисковото пространство на всички файлове и директории в текущата директория, и-h
прави изхода четим за хората, т.е., в човешки формат (например, “1.5G” за 1.5 гигабайта).sort -n
: Сортира резултатите по числов ред (по размер).-n
указва наsort
, че да сортира като числа, а не като низове.tail -n 10
: Избира последните 10 реда от сортираните резултати. Тук, тъй като сме сортирали във възходящ ред (-n
),tail
ще избере последните 10 реда, които са най-големите.
Следователно, цялата команда ще ви покаже размера на 10-те най-големи файлове или директории в текущата директория.
Команда ls -lh
Командата ls -lh
се използва за показване на списък на файловете и директориите с техните размери. За да намерите най-големите файлове, можете да използвате следния синтаксис:
ls -lh | sort -n | tail -n 10
Тази команда в Linux съчетава ls
, sort
и tail
, за да покаже 10-те най-големи файлове или директории в текущата директория, сортирани по размер.
Да разгледаме какво прави всяка част от командата:
ls -lh
: Използваls
за избор на файлове и директории в текущата директория и излиза с детайли, включително размера в човешки формат.sort -n
: Сортира резултатите по числов ред (по размер).-n
указва наsort
, че да сортира като числа, а не като низове.tail -n 10
: Избира последните 10 реда от сортираните резултати. Тъй като сме сортирали във възходящ ред (-n
),tail
ще избере последните 10 реда, които са най-големите.
Следователно, цялата команда ще ви покаже 10-те най-големи файлове или директории в текущата директория, сортирани по размер.
Ето табличен вид на някои от допълнителните опции за командите find
, du
и ls -lh
:
Команда find | Опция |
---|---|
-name | Филтрира резултатите по име. |
-mtime | Филтрира резултатите по дата на промяна. |
-ctime | Филтрира резултатите по дата на създаване. |
-uid | Филтрира резултатите по потребителски идентификатор. |
-gid | Филтрира резултатите по групов идентификатор. |
-perm | Филтрира резултатите по права за достъп. |
-links | Филтрира резултатите по броя на връзките. |
-size | Филтрира резултатите по размер. |
-exec | Изпълнява команда за всеки резултат. |
Команда du | Описание |
---|---|
-h | Изчислява размера в удобен за четене формат. |
-s | Изчислява размера на всички файлове в директорията и поддиректориите. |
-a | Включва директориите в резултата. |
-b | Изчислява размера в байти. |
-k | Изчислява размера в килобайта. |
-M | Изчислява размера в мегабайта. |
-G | Изчислява размера в гигабайта. |
-T | Изчислява размера в терабайта. |
Команда ls -lh | Опция |
---|---|
-l | Извежда списък на файловете с информация за права за достъп, размер, дата на промяна и т.н. |
-h | Извежда размера в удобен за четене формат. |
-r | Извежда списъка в обратен ред. |
-t | Извежда списъка по дата на промяна. |
-S | Извежда списъка по размер. |
Тези допълнителни опции ви предоставят по-голяма гъвкавост и контрол върху начина, по който се изпълняват командите и каква информация показват. Можете да използвате тези опции в зависимост от конкретните си нужди при работа с файловата система.
Благодарим ви за прочитането на статията! Ако намерихте информацията за полезна, можете да дарите посредством бутоните по-долу:
Donate ☕️ Дарете с PayPalDonate 💳 Дарете с Revolut