Czytałem na wielu stronach internetowych, że w Linuksie dowiązania symboliczne (dowiązania miękkie, dowiązania symboliczne) są jak wskaźniki odnoszące się do innego pliku, który może znajdować się w dowolnym miejscu (np. Skróty Windows). Jednak gdy sprawdzam użycie dysku przez folder, w którym znajdują się dowiązania symboliczne, istnieje rozbieżność między tym, co mówi mój menedżer plików, a tym, co du
zgłasza. Jednak jeśli piszę du -L
( -L, --dereference; dereference all symbolic links
ze strony podręcznika), dane wyjściowe du -L
i rozmiar raportowane przez mojego menedżera plików są takie same .
Moje pytanie brzmi : jeśli mam łącze do dużego pliku, na przykład na mojej osobnejhome
partycji, czy będę miał jakieś problemy?
Przykład :
Mój /var/tmp
folder jest teraz pusty. Utwórzmy plik:
$ cat /some/file.txt > file.txt
$ du -ac
164 ./file.txt
168 .
168 total
I mój menedżer plików (w tym przypadku Thunar) zgłasza się
Rozmiar: 1 sztuka o łącznej wartości 163,0 kB
W porządku. Teraz stwórzmy naprawdę duży plik /tmp
i link do niego:
$ cat /dir/really_big.txt > /tmp/heavy.txt
$ du -a | grep heavy.txt
408 ./heavy.txt
$ ln -s /tmp/heavy.txt heavy.txt
$ du -ac
164 ./file.txt
0 ./heavy.txt
168 .
168 total
Na razie wszystko jest w porządku. Ale jeśli otworzę mój menedżer plików:
Rozmiar: 2 elementy o łącznej wartości 570,3 kB
I w końcu:
$ du -acL
164 ./file.txt
408 ./heavy.txt
576 .
576 total
Jeśli partycja, na której /var/tmp
się znajduje, ma wielkość 1 GiB i utworzę w niej link do pliku 1 GiB, to czy mój dysk twardy zginie? Wiem, że to du
da wynik 168 i Thunar 1 GiB, ale nie wiem, co jest właściwe.