Я читал на многих сайтах, что в Linux символические ссылки (программные ссылки, символические ссылки) подобны указателям, которые ссылаются на другой файл, который может находиться где угодно (например, ярлыки Windows). Однако, когда я проверяю использование диска папкой, в которой есть символические ссылки, происходит несоответствие между тем, что говорит мой файловый менеджер, и тем, что du
сообщает. Однако, если я наберу du -L
( -L, --dereference; dereference all symbolic links
со страницы руководства), выходные данные du -L
и размер, о которых сообщает мой файловый менеджер, будут одинаковыми .
Мой вопрос : если у меня есть мягкая ссылка на большой файл, например, в моем отдельномhome
разделе, у меня будут какие-то проблемы?
Пример :
Моя /var/tmp
папка теперь пуста. Давайте создадим файл:
$ cat /some/file.txt > file.txt
$ du -ac
164 ./file.txt
168 .
168 total
И мой файловый менеджер (в данном случае Thunar) сообщает
Размер: 1 предмет, общим объемом 163,0 кБ
Отлично. Теперь давайте создадим действительно большой файл /tmp
и ссылку на него:
$ 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
Пока все хорошо. Но если я открою свой файловый менеджер:
Размер: 2 шт, на общую сумму 570,3 кБ
И наконец:
$ du -acL
164 ./file.txt
408 ./heavy.txt
576 .
576 total
Если раздел, в котором /var/tmp
находится файл, имеет размер 1 ГБ и я создаю в нем ссылку на файл размером 1 ГБ, die умрет ли мой жесткий диск? Я знаю, что du
выдаст 168 и Thunar 1 GiB, но я не знаю, какой из них правильный.