Если удалить файл, свободное место увеличится на размер файла.
Ну, во-первых, файл очень часто занимает отличное от своего размера место
Если удалить файл, свободное место увеличится.
В большинстве файловых систем Linux место не освободится пока файл не закроют все процессы, работающие с ним.
Если удалить файл, свободное место увеличится, когда файл все закроют.
Вот в hfsplus в Linux 2.6.32-2.6.36 не так. В 2.6.37 это таки пофиксили.
Ну оно хотя бы не уменьшится при удалении?!
Много чудных файловых систем можно встретить. Вот например nilfs
1 2 3 4 5 6 7 8 9 10 11 |
$ df Filesystem 1K-blocks Used Available Use% Mounted on /dev/loop0 253948 16380 172032 9% /tmp/nilfs $ dd if=/dev/zero of=/tmp/nilfs/123 bs=1K count=10000 $ dd if=/dev/zero of=/tmp/nilfs/123 bs=1K count=10000 $ dd if=/dev/zero of=/tmp/nilfs/123 bs=1K count=10000 $ df /dev/loop0 253948 32764 155648 18% /tmp/nilfs $ rm /tmp/nilfs/123 $ df /dev/loop0 253948 40956 147456 22% /tmp/nilfs |
Если дописать информацию в файл, занятое им место на диске увеличится.
Файловые системы со сжатием могут сжать новый файл лучше.
Одному имени файла всегда соответствует один и тот же файл.
Файлы кто-то может переименовать (c)ваш К.О. Даже в самый неожиданный момент (c)всё тот же К.О.
Одному имени файла соответствует один и тот же файл.
— Пайпы(созданные mkfifo), хотя это уже не просто файлы
— Ну и всё тот же прикол с удалением.
-открыть
-удалить
-создать
-открыть
-файлы существуют одновременно, открыты по одному имени, но они разные.
Имя файла уникально.
— фс может быть битая
— различные сетевые фс полны неожиданностей
Одному файлу соответствует одно имя файла.
— hard links
При копировании одного файла, копируется один файл.
— netatalk/afp/OS X — файлы хранятся парами <file> и ._<file> с метаинформацией
При создании одного файла, создаётся один файл.
— всё тот же netatalk
Если вы смогли создать файл с произвольным именем, вы можете его переименовать.
— Sticky bit + netatalk + ._<file> созданный другим пользователем
Имена файлов не содержат специальных символов.
— OS X вот даже извернулись и запилили поддержку ‘/’ в именах файлов при том, что для разделения директорий в пути используется тот же ‘/’.
— и не забываем про ‘\n’. 2013 год на дворе, а ‘ ‘ в путях то не все поддерживают, не то что ‘\n’
Не бывает эксплоитов использующих имя файла.
— надо правильно экранировать пути
Имя файла может вместиться в какое-то ограниченное поле.
— ну может и может, но стоит учитывать, что кто-нибудь откуда-нибудь «притащит» файл с именем, которое вы никак не ожидали
Если в файловой системе запрещёно использовать какой-то символ в именах файлов, то никто не сможет создать такой файл.
— опять же ‘\’ в OS X
— в любом случае кто-то мог обойти системные проверки и записать это на диск — при чтении проверки почти никто не выполняет
У файла есть имя.
— удалённый открытый файл
— в hfsplus файлы хранятся в директории ‘\0\0\0\0HFS Private Data’ что делает доступ к ним в мире ASCIIZ проблематичным.
Пути не зациклены
— симлинки a->b, b->a, Nautilus R.I.P.
Пути не зациклены, если не считать симлинки директориями
— FAT всегда можно подредактировать :-)
Пути не зациклены в валидных фс
— hfsplus(да, опять она) позволяет это делать «из коробки» из-за хардлинков для директорий
Данные файлов хранятся на запоминающих устройствах
— pingfs
Файлы есть :-)
— даже не знаю. Ну… Например:
1 2 |
$ ls -l / total 0 |