Мне нужно tar-gzip файлы ниже определенного размера в каталоге. Я попробовал команду, предложенную изэта почтаи это работает, но когда я изменил аргумент на find -size
, -1G
он игнорирует некоторые файлы, даже если размер файла меньше 1 ГБ. Когда я предоставил -100M
и даже -900M
эти файлы не были проигнорированы.
Некоторая информация о файлах:
Файлы в каталоге состоят из нескольких файлов среднего размера (1–200 МБ) и тысяч маленьких файлов (<1 МБ каждый).
Файлы среднего размера — это исполняемые файлы (расширение .exe).
Крошечные файлы — это просто несколько случайных файлов без расширения или с расширением .lat.
Когда я предоставил -900M
, все файлы маленького и среднего размера были возвращены в качестве результата. Однако, когда я предоставил -1G
, все файлы среднего размера и многие файлы маленького размера были потеряны в результате.
Вопрос:
Есть ли что-то, что я упустил в использовании -size -1G
?
Другая (возможно полезная) информация:
Я использую Ubuntu 15.04 как виртуальную машину на Windows 8.1.
Если кто-то подозревает, что это как-то связано с файлами, с которыми я работаю, пожалуйста, дайте мне знать, и я загружу все указанные файлы.
Я новичок в Unix/Linux, и это мой первый вопрос на форуме суперпользователей, поэтому, если я непреднамеренно нарушил какие-либо правила, пожалуйста, дайте мне знать.
решение1
Ответ можно найти наhttps://unix.stackexchange.com/questions/50763/find-size-1gb-in-centos.
Подводя итог, -
in -1G
похож на знак <, поэтому <1G на самом деле равно 0G, поэтому он не возвращает файлы размером менее 1024 МБ, как ожидалось.
Я до сих пор не уверен, почему в моем случае он возвращает некоторые крошечные файлы в качестве результата, так что если кто-то захочет дать объяснение, пожалуйста.
Я сохраняю этот вопрос (и ответ), потому что эта проблема характерна не только для CentOS, и люди, ищущие проблему без ключевого слова «CentOS», могут не найти сообщение, на которое ссылаются выше.