Как проверить пустое место в папке с помощью командной строки?
Я старался du
но это не выводит пустое пространство папки. Любые команды, чтобы сделать это?
3 ответа
Не имеет значения размер папки. В действительности папка / каталог - это просто файл в Linux, так как по сути все это файл в Linux.
Таким образом, папка является файлом файлов. Это просто место для хранения файлов, хотя оно не имеет размера, его размер связан с размером файлов внутри.
Таким образом, в папке нет ничего, что называется свободным пространством.
Вы можете узнать размер каталога
du -sh
также вы можете знать свободное пространство всей вашей файловой системы
df -h
Папки имеют размер, равный общему размеру их содержимого; у них нет свободного места.
df
Команда показывает пустое место на диске.
Просто чтобы прояснить это немного больше (надеюсь, я не пропустил ни одной специальной файловой системы):
- Папки - это маленький файл
- Папки растут по мере того, как в нее добавляется больше файлов / подпапок (но не в подпапку), а только непосредственно в нее
- Папки (в некоторых системах нет) уменьшаются в размере, когда из них удаляются файлы / подпапки, расположенные непосредственно на нем.
- Думайте о папках как о списке телефонной книги
- Большинство файловых систем оставляют пустые записи в папках (просто чтобы не переместить все остальное вверх), поэтому размер в большинстве случаев только увеличивается
- Размер папки не включает в себя любой размер файла (если только такая папка не является контейнером, где разговор о свободном пространстве может иметь значение: размер для достижения максимального размера контейнера)
- Размер папки зависит от количества записей (включая те, которые были пропущены), умножить его на кратное число
- Папки не содержат внутри себя никакого содержимого какого-либо файла (кроме специальных папок, которые на самом деле являются контейнерами, с определенным максимальным размером или без него)
По крайней мере, для FAT12, FAT16, FAT32, exFAT, NTFS, ext, ext2, ext3, ext4 и, возможно, для гораздо большего количества файловых систем, папки представляют собой небольшой файл, который определяет, какие папки и файлы находятся в нем, как список телефонных книг, описывает только то, что находится внутри (будьте осторожны: только непосредственно на нем, ничего о том, что находится внутри любой подпапки).
В NTTS есть некоторые дополнительные функции, но у всех есть свой уникальный идентификатор (число), папки определяют только то, какие из таких идентификаторов находятся непосредственно в такой папке, а не те, которые находятся в подпапке и т. Д.
Остерегайтесь, есть файловые системы, очень особенные, на них папка может иметь размер (верхний предел), и поэтому имеет смысл говорить о свободном пространстве внутри этой папки.
Чтобы большинство пользователей Linux понимали это, относитесь к такой папке как к контейнеру с максимальным размером, концепция находится рядом с файлами VDI VirtualBOX и т. Д. Они могут расти до ограниченного размера. Некоторые специальные файловые системы используют эту концепцию для Папки, в то время как другие (такие как Pismo Private Folders) не используют ограничение максимального размера.
Чтобы большинство пользователей Windows понимали это, относитесь к такой папке как к небольшому большому файлу, который с помощью какого-либо инструмента третьей части рассматривается как папка.
Другими словами, в файловой системе есть три хорошо определенных типа вещей (включая некоторые специальные файловые системы, которые не так часто можно увидеть):
- Файлы (содержат информацию или ссылки на другие файлы)
- Обычные папки, они действительно представляют собой небольшой файл (содержат список того, что находится непосредственно на его 1-м уровне внутри них)
- Специальные папки, их можно рассматривать как огромный файл с верхним пределом размера или без него (содержит все, что внутри них, список и содержимое всего, включая подпапки и т. Д.); не все файловые системы позволяют им изначально, большинство используют хитрость определения файла, а затем монтируют его так, как если бы он находился в папке (например,.zip, .rar, .7z утилиты монтирования и т. д.), но некоторые файловые системы позволяют им изначально.
Если вы хотите увидеть что-то очень странное, попробуйте это (на NTFS):
- Создайте папку в корне, которая называется, например:
MyWeirdFolder
- Затем внутри него создайте подпапку с очень большим именем (более 200 символов)
- Создайте другую папку, но с коротким именем, например
WillBeRenamed
- Переместить длинный внутрь короткого
- Переименуйте короткий в очень длинное имя (более 200) символов
Вы получите путь, который недоступен из-за очень длинного пути, просто переименуйте такие длинные имена в более короткие и получите доступ к нему снова.