Недавно мое дисковое пространство достигло отметки 98%, и я попытался выяснить причину этого. Моя система состоит из двух дисков: ssd / dev / sda и хранилища hdd / dev / sdb.
Мой Linux установлен /dev/sda2и на нем осталось 98% дискового пространства, а жесткий диск смонтирован /home. Я пытался найти размер файла в / с
Что потребляет те 33 ГБ дискового пространства, которые не найдены баобабом oder df? Я не могу использовать команду "найти", как предложено. Вкл / экран забит предупреждениями.
Немного упрощено ... Начиная с ./(замените, /чтобы получить самые большие файлы системы)
find ./ -type f> FILES -printf "% 016s% p \ n"; сортировать -rn ФАЙЛЫ | голова -n 50
или если вы не хотите, чтобы список FILESзадерживался ... тогда:
find ./ -type f -printf "% 016s% p \ n" | сортировать -rn | голова -n 50
Похоже, `> ФАЙЛЫ` принадлежит в другом месте?
Volker Siegel 9 лет назад
0
Зависит. Если вы хотите более подробно изучить список файлов (FILES), то вышесказанное вполне подойдет.
Hannu 9 лет назад
0
Я старался. Действительно, он ведет себя как обычный перенаправление в конце строки - не так ли? Запутался ... Как / почему возможно иметь перенаправление в командной строке между аргументами; и каково преимущество перед перенаправлением в конце строки? (Я предполагаю, что `> FILE` не обрабатывается` find`, верно?)
Volker Siegel 9 лет назад
0
На самом деле, это хорошие вопросы для публикации; Итак, дайте мне знать, полностью ли я ...
Volker Siegel 9 лет назад
0
В первой версии `;` заставляет вещи работать так, как будто вы ввели две строки с `Enter` на каждой.
Hannu 9 лет назад
0
... и действительно, перенаправление файлов устанавливается оболочкой, `>`, за которым следует имя файла (или имя устройства), приводит к нормальной печати. www.tldp.org имеет несколько руководств по программированию на bash; проверить это.
Hannu 9 лет назад
0
Все, что вы говорите, правда и совершенно нормально. Что меня смущает, так это то, что `-printf"% 016s% p \ n "` после перенаправления является аргументом командной строки `find`, и он используется find, поскольку влияет на вывод в` FILE`. Это не уровень оболочки `printf`, это находка` -printf`. Странный.
Volker Siegel 9 лет назад
0
`man find` - чтобы увидеть, что" find "принимает в качестве аргументов,` -printf` является одним из вариантов. Строка в кавычках после -printf указывает, что и как должно быть напечатано. `%` начинается с определения параметра, `0` = начальные нули,` 16` символов в ширину, `s` размер в байтах,`% p` = путь в «нормальной форме» (без трюков), `\ n` перевод строки - который не является автоматическим.
Hannu 9 лет назад
0
Конечно, я знаю `-printf` из find довольно хорошо, также` printf` как buildin для оболочки и как `/ usr / bin / printf`. Дело в том, что это ** после ** перенаправления, и я предполагал, что перенаправление завершит список аргументов командной строки. До следующей строки или следующего `;`.
Volker Siegel 9 лет назад
0
Я сделал минимальный тест с `echo`. Это действительно работает, чтобы перенаправление перемежалось с аргументами. Я ** ооо ** этого не ожидал ... Но доказательства это очень прямые: `$ echo ab> f1 cde`` $ cat f1` `abcde`
Volker Siegel 9 лет назад
0