Действительно ли символические ссылки влияют на использование диска?

Я читал на многих сайтах, которые в Linux символические ссылки (софт-ссылки, символические ссылки) – это как указатели, которые ссылаются на другой файл, который может быть расположен где угодно (например, ярлыки Windows). Однако, когда я проверяю использование диска в папке, в которой есть символические ссылки, есть несоответствие между тем, что говорит мой файловый менеджер, и тем, что сообщает о нем. Однако, если я -L, --dereference; dereference all symbolic links du -L ( -L, --dereference; dereference all symbolic links с man-страницы), вывод du -L и размер, который мои отчеты о файловых менеджерах одинаковы .

Мой вопрос : если у меня есть программная ссылка на большой файл, например, на мой отдельный home раздел, будут ли у меня проблемы?

Пример :

Папка My /var/tmp теперь пуста. Давайте создадим файл:

 $ cat /some/file.txt > file.txt $ du -ac 164 ./file.txt 168 . 168 total 

И мой файловый менеджер (Thunar, в данном случае) сообщает

Размер: 1 элемент, общая сумма 163,0 kB

Отлично. Теперь давайте создадим действительно большой файл в /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 GiB большой, и я создаю ссылку в нем в 1 файл GiB, ¿мой диск будет умирать? Я знаю, что du выпустит 168 и Thunar 1 GiB, но я не знаю, что правильно.

2 Solutions collect form web for “Действительно ли символические ссылки влияют на использование диска?”

Разумеется, символические ссылки занимают место, но просто комната, требуемая для хранения имени и цели плюс несколько байтов для других метаданных. Пространство, занимаемое символической ссылкой, не зависит от пространства, которое занимает цель (в конце концов, цель даже не требуется).

Plain du сообщает пространство, занимаемое деревом каталогов на диске. du -L сообщает пространство, которое будет принято деревом каталогов, если бы все символические ссылки были заменены их целью. Первый, как правило, полезная информация; например, это место, которое вы восстановите, если вы удалите дерево, и это (приблизительно) пространство, необходимое для резервного копирования дерева.

du в дереве каталогов показывает (обычно) немного больше, чем общее количество файлов. Это связано с двумя вещами. Во-первых, du также считает каталоги, которые занимают немного места для хранения имен файлов и метаданных. Во-вторых, du считает пространство на диске, взятое файлом, которое может отличаться от размера файла: наиболее распространенным эффектом является то, что файлы занимают целое число блоков (4 КБ при обычной установке Linux), поэтому 1-байтовый файл может отображаться как 4kB в du output; но сжатие (например, примитивная форма, предоставляемая разреженными файлами практически для каждой файловой системы unix) может сделать размер файла больше, чем его использование на диске.

Из числа, которое вы даете, оказывается, что Thunar сообщает сумму размеров файлов в дереве каталогов, следуя символическим ссылкам . Фактически это говорит тонким образом – он утверждает, что общий размер составляет 570,3 кБ, а не то, что использование диска составляет 570,3 кБ. То, что совершенно не очевидно из пользовательского интерфейса или документации, заключается в том, что Thunar следует за символическими ссылками при вычислении размера.

Какой из них «прав» – это субъективный вопрос. du сообщает об использовании диска. Thunar сообщает об общем размере следующих символических ссылок. Создание символической ссылки оказывает незначительное влияние на использование диска, но по определению изменяет ссылки общего размера после символических ссылок, которые сообщает Thunar.

Я думаю, что по умолчанию ваш файловый менеджер пытается получить размер файлов, на которые ссылаются мягкие ссылки, тогда как du дает вам размер самого каталога и самих программных ссылок, но не файлы, на которые они указывают.

Чтобы уточнить,

 `du` -> size of directory + size of all the softlinks `du -L` -> size of directory + size of all the files that the softlinks are pointing to. 

Я не уверен, что это то, о чем вы просили, но если да, то я считаю, что это может быть ответом на ваш вопрос.

  • Безопасно ли создавать символические ссылки в / root для файлов конфигурации в домашнем каталоге пользователей aa?
  • Файл -> ../../archive/folder/file восстановление
  • Как найти сломанные символические ссылки
  • Создание символических ссылок на приложения в Mac OS X
  • Почему разрешение отклонено для запуска npm с использованием node-dev?
  • Невозможно использовать команду «firefox» для запуска последней версии Firefox
  • Установка программ на съемном диске
  • Как удалить каталог символьных ссылок ссылки плюс символическая ссылка?
  • Unix-эквивалент смарт-папок
  • Создание Относительной Symlink Внутри Относительной Symlink
  • symlinking на `.rbenv /`: сколько слишком много?
  • Interesting Posts

    Whys есть дополнительная точка в начале некоторой команды, которую я должен выполнить

    Как я могу позволить ipset записи «возраст»?

    Как использовать «вино» и AviSynth и Avs2YUV с «mplayer / mencoder» (или любым игроком / кодировщиком)

    Установка Linux Mint 11 LXDE x64 поверх ubuntu-минимального

    Как извлечь один файл из двух путей в unix?

    Являются ли протоколы уровня 2 частью драйвера устройства NIC или NIC в ядре?

    Сеанс XFCE начинается с 4 пустых терминалов. Как иметь чистый рабочий стол при запуске?

    Двойная настройка монитора на ноутбуке: внутренний монитор просматривает внешний экран

    Как запустить скрипт на экране при перезагрузке

    Длительный запуск системы

    Sed, которая игнорирует любой комментарий

    Как я могу правильно использовать команду sed в этом конкретном сценарии

    распаковать / распаковать файлы с помощью Curl на ftp-сервере

    Zip не сжимает файлы при застегивании

    Запуск mkfs в разделах разделов файлов

    Linux и Unix - лучшая ОС в мире.