URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 46819
[ Назад ]

Исходное сообщение
"Раздел полезных советов: Команды для поиска больших файлов в заданной директории"

Отправлено auto_tips , 17-Дек-08 21:40 
Для вывода отсортированного списка файлов размером больше 500Мб, находящихся
в дереве файловой системы начиная с текущей директории можно использовать команду:

   find . -type f -size +500M -exec ls -l {} \; | sort -k5 -n -r| less

Для вывода отсортированного по размеру списка директорий можно использовать команду:

   find . -type d -maxdepth 1 -exec du -s {} \;|sort -k1 -r -n| less

Для выявления конечной директории с большими файлами можно снять ограничение на рекурсивную проверку:

   find . -type d -exec du -s {} \;| sort -k1 -r -n| less

Найти все avi, mpg, wmv файлы можно так:

   find . \( -iname "*.avi" -o -iname "*.mpg" -o  -iname "*.wmv" \) -type f -exec ls -l {} \;| less

PS. Вместо ls можно было использовать встроенные опции -ls или -printf "%s %P\n",
но %P не всегда легко вспомнить, а вывод -ls не совсем привычен.


URL:
Обсуждается: http://www.opennet.me/tips/info/1874.shtml


Содержание

Сообщения в этом обсуждении
"Команды для поиска больших файлов в заданной директории"
Отправлено anonymous , 17-Дек-08 21:40 
Это для кого "совет"?
Для тех кто не может прочитать man?
А Вы вообще в курсе что в половине систем нет gnu-тых вещей? (т.е. нет поддержки явной -exec & -iname)

"Команды для поиска больших файлов в заданной директории"
Отправлено Аноним , 17-Дек-08 23:27 
>Это для кого "совет"?
>Для тех кто не может прочитать man?
>А Вы вообще в курсе что в половине систем нет gnu-тых вещей?
>(т.е. нет поддержки явной -exec & -iname)

В BSD find это все давно есть, разве что в SunOS или AIX 10-летней давности такого еще небыло.


"Команды для поиска больших файлов в заданной директории"
Отправлено anonymous , 18-Дек-08 21:42 
в BSD/Linux есть. в коммерческих системах почти нет.



"Команды для поиска больших файлов в заданной директории"
Отправлено vitek , 18-Дек-08 00:18 
>А Вы вообще в курсе что в половине систем нет gnu-тых вещей? (т.е. нет поддержки явной -exec & -iname)

совет конечно маленький.. и для начинающих (а Вы то не такой? :-))
а вот Ваша половина систем уж ОЧЕНЬ сильно завышена.

первым делом, что делают на солярках, аиксах, чпуксах,.. так это ставят топы, скрины, лсоф'ы, егрипы, тары, гхостпостскрипты и ещё кучу "барахла" от гну... а часто и гцц, майк....
а вот после этого уже конечно можно кричать, что гну - помойка, что на половине систем... и т.д. и т.п......


"Команды для поиска больших файлов в заданной директории"
Отправлено Shura , 18-Дек-08 10:02 
Я думаю, что анонимус имел ввиду windows

"Команды для поиска больших файлов в заданной директории"
Отправлено anonymous , 18-Дек-08 21:43 
Нет. Именно *nix.

"Команды для поиска больших файлов в заданной директории"
Отправлено anonymous , 18-Дек-08 21:49 
>>А Вы вообще в курсе что в половине систем нет gnu-тых вещей? (т.е. нет поддержки явной -exec & -iname)
>
>совет конечно маленький.. и для начинающих (а Вы то не такой? :-))

Если Вы про *nix, то уже давно нет.
>
>а вот Ваша половина систем уж ОЧЕНЬ сильно завышена.
>
>первым делом, что делают на солярках, аиксах, чпуксах,.. так это ставят топы,
>скрины, лсоф'ы, егрипы, тары, гхостпостскрипты и ещё кучу "барахла" от гну...
>а часто и гцц, майк....
>а вот после этого уже конечно можно кричать, что гну - помойка,
>что на половине систем... и т.д. и т.п......

Сколько лет живу в SunOS, HPUX, AIX, но из всего перечисленного, ставил лишь lsof.
Остальное не ставлю, ввиду особенностей софта, который пишется компилируется у нас в корпоративе.
tar/grep(!)/ghostscript есть "родные" под эти системы. Да, кривые, но они стоят. и из-за нового девелопера/пользователя никто ставить гнутые не будет.
Имхо давно уже отказываться от гну, в пользу посиксного софта, который будет равнозначно рабоать на все системах, а не ковырять постоянно скрипты/сырцы, пытаясь сокращать кол-во байт в типах/путей в PATH...



"Команды для поиска больших файлов в заданной директории"
Отправлено vitek , 18-Дек-08 22:36 
> Сколько лет живу в SunOS, HPUX, AIX, но из всего перечисленного, ставил лишь lsof.
>Остальное не ставлю, ввиду особенностей софта, который пишется компилируется у нас в корпоративе. tar/grep(!)/ghostscript есть "родные" под эти системы. Да, кривые, но они стоят. и из-за нового девелопера/пользователя никто ставить гнутые не будет.

Хм...
Ха!!!!!!!!!! :-)
так о какой половине Вы лично говорили?... или всё, что Ваше - это одна половина (50%), а всё что не Ваша - вторая?
>Имхо давно уже отказываться от гну, в пользу посиксного софта, который будет равнозначно рабоать на все системах, а не ковырять постоянно скрипты/сырцы, пытаясь сокращать кол-во байт в типах/путей в PATH...

POSIX придумал RMS. Он же автор GNU...... Так в чью пользу Вы отказываетесь?


"Раздел полезных советов: за gnu linux way!"
Отправлено Andrey Mitrofanov , 18-Дек-08 12:45 
>Для вывода отсортированного списка файлов

Для разгребания в файло-помойке, используем (ну, хорошо: я использовал пару раз и решил поделиться) _варианты_ следующих команд. %))

>   find . -type f

Если директорию не писать, и так в ./ будет искать. "." не обязательно писать. Наверное.

>-size +500M

Мугут быть интересны также варианты:

-size +100M
Файлы больше, чем. (Да, это тоже самое.)

-size -100M -size +10M
Типа, "средне-большие" %)) файлы: от 10 до 100 Мб в этом примере.

-mtime -10
Что-то менялось "недавно". Или -2, -1 - "вот тока-тока" :)) ((числа -- в _днях_, кстати))

-mtime +10 -mtime -30
Вот прошлый раз заходил -- где-то тут было. %)

-mtime +30 -mtime -150
""Ещё до отпуска, помню... или нет?..."" :-D

find ! -type f + наборы ключей -mtime
В каких-то тут директориях $вставить_про_когда что-то менялось? (Время директорий - приблизительный, зато быстрый способ определения, где-чего-то-когда происходило.) ((можно и "-type d" вместо "! -type f", но ещё бывают симлинки и не только. впрочем, это уже мелочи))

> -exec ls -l {} \; | sort -k5 -n -r

|xargs stat -c "%+10s %n" |sort -k1,1rn

(С-под mc - % удваивать... при необходимости. И + перед 10 можно стереть. И там 1 r n, а ене 1m... "Как страшно жить, девочки".......)

>Для вывода отсортированного по размеру списка директорий можно использовать команду:
>Найти все avi, mpg, wmv файлы можно так:

find -type f -size +100M   |awk -v FS="." '{print $NF}'|sort -u|grep .
А "под" какими расширениями тут лежат большие файлы?

comm -3 <(find -type f -size +2M |./file-exts) <(find -type f -size +100M |./file-exts)
Какие расширения Ж)) файлов размером более 2Мб не "представлены" в категории более 100Мб?
"Средняя... Сре-е-едненькая"(~с) файло-промышленность. ~$-)
((в /file-exts полОжены awk|sort|grep из пердыдущего примера. наверное, можно было бы туда ещё lowercase какой воткнуть...))

>   find . \( -iname "*.avi" -o -iname "*.mpg" -o
> -iname "*.wmv" \) -type f -exec ls -l {} \;|
>less

find -type f -iregex '.+\.\(avi\|divx\|flv\)' -print0|xargs -0 ls -l
... Ну, почти ls -lR |grep '\.\(avi\|divx\|flv\)$'

Добавить less по вкусу. Поборники переносимости http:/openforum/vsluhforumID9/7769.html допиливают пиломатериал напильником в сторонке. Без перекуров. :-P

>PS. Вместо ls можно было использовать встроенные опции -ls или -printf "%s
>%P\n",
>но %P не всегда легко вспомнить, а вывод -ls не совсем привычен.

Точно... Ещё очень не хватает _правильного_ find внутри mc -- ну, навроде "панелизации" _всего_, что выше. :-) // 4.6.3 оно, конечно, хорошо, но "надо ж что-то менять!"(тм) Кстати! В зале :) есть те, кто пользовал и помнит 4dos какой-нибудь -- открываем митинг! %)


"Команды для поиска больших файлов в заданной директории"
Отправлено NaN , 18-Дек-08 13:55 
"find . -type d -maxdepth 1 -exec du -s {} \;|sort -k1 -r -n| less" - когда такую вереницу ключей допишешь, уже и забудешь что в результате найти хотел :))

"Команды для поиска больших файлов в заданной директории"
Отправлено Аноним , 18-Дек-08 17:15 
И не говори, вообще ужас. Нет чтобы вспомнить, что maxdepth в du есть, т.е. по сути это
du -m --max-depth=1 | sort -nr

"Команды для..."
Отправлено Andrey Mitrofanov , 18-Дек-08 18:20 
>maxdepth в du есть, т.е. по сути это
>du -m --max-depth=1 | sort -nr

Опа! Признаю не-RTFM обыкновенный. :))) Спасибо!


"Команды для поиска больших файлов в заданной директории"
Отправлено none , 20-Дек-08 10:58 
>И не говори, вообще ужас. Нет чтобы вспомнить, что maxdepth в du
>есть, т.е. по сути это
>du -m --max-depth=1 | sort -nr

да и не гвори, то ли дело во фре:
du -md1 | sort -nr