Ubuntu nie ogranicza rozmiaru katalogu, jest narzucone przez system plików. Każdy plik i katalog jest tak zwanym i-węzłem. Możesz użyć df -i
do sprawdzenia liczby używanych i-węzłów i dostępnych dla wszystkich zamontowanych systemów plików.
Właśnie utworzyłem 1 milion i jeden plik bez problemów, ponieważ mój limit i-węzłów dla mojej partycji domowej ext4 50 GB (46 GiB) jest wystarczająco duży.
Użyłem rozszerzenia powłoki do tworzenia plików, w połączeniu z touch
narzędziem:
mkdir test
cd test
touch {0..300000}
touch {300000..600000}
touch {600000..900000}
touch {900000..1000000}
Tworzy to 1000001 plików, które można zweryfikować ls | wc -l
. Dlaczego 300000..600000
nie 300001..600000
? Ponieważ byłem zbyt leniwy, aby umieścić tę 1 na końcu.
df -i
wygląda jak:
/dev/sda6 3055616 1133635 1921981 38% /home
Teraz usuń pliki testowe ( cd ..&&rm -f test
zajęło to znacznie dłużej, więc używaj rm
z nazwami plików):
rm {0..300000}
rm {300000..600000}
rm {600000..900000}
rm {900000..1000000}
cd ..
rmdir f
a liczba używanych i-węzłów spadła natychmiast po usunięciu plików:
/dev/sda6 3055616 133634 2921982 5% /home
Zauważ, że nawet jeśli system plików pozwala na tak dużą liczbę plików, strasznym pomysłem jest przechowywanie tak dużych plików w jednym katalogu. Przynajmniej użyj niektórych podkatalogów o strukturze podobnej do f/i/l/e/filename.ext
. Programy często nie oczekują tak dużych ilości plików.
ext4
to typ systemu plików, a nie rozszerzenie pliku. Nie możesz utworzyć katalogu do edycji w kolejce? Wątpię, czy programy te mogą ładnie działać przy tak dużych ilościach plików.