Нет никакой команды для перенастройки символьной ссылки, все, что можно сделать, удаляют его и создают другой. Принятие Вас имеет утилиты GNU (например, в соответствии с невстроенным Linux или Cygwin), можно использовать -lname
основной из find
соответствовать символьным ссылкам их целью, и readlink
считать содержание ссылки. Непротестированный:
find /mnt/home/someone/something -lname '/home/someone/*' \
-exec sh -c 'ln -snf "/mnt$(readlink "$0")" "$0"' {} \;
Было бы лучше сделать эти символьные ссылки родственником. Существует удобная небольшая названная утилита symlinks
(первоначально Mark Lords, теперь сохраняемым J. Brandt Buckley), существующий во многих дистрибутивах Linux. Прежде чем перемещение, или после восстановления действительных ссылок как выше работало symlinks -c /mnt/home/someone/something
преобразовать все абсолютные символьные ссылки в соответствии с указанным каталогом к относительным символьным ссылкам, если они не пересекают границу файловой системы.
Mem: total
число является общей суммой RAM, которая может использоваться приложениями. Это - общая RAM, установленная в системе, минус:
То общее количество включает:
free
: память, которая в настоящее время используется для любой цели;shared
: понятие, которое больше не существует. Это оставляют в выводе для обратной совместимости (существуют сценарии, которые анализируют вывод от free
). (На существующих системах Вы будете обычно видеть ненулевые значения потому что shared
повторно ставился целью для проявления памяти, это явно совместно используется с помощью механизма общей памяти. В более старых системах это включало файлы, отображенные больше чем одним процессом и совместно используемой памятью, которая осталась общей после fork()
.)buffers
: память, которая поддерживается файлами, и это может быть выписано к диску в случае необходимости;cache
: память, которая поддерживается файлами, и это может быть исправлено в любое время (различие с buffers
это буферизует, должен быть сохранен на диск, прежде чем они будут снова использованы, тогда как кэш состоит из вещей, которые могут быть перезагружены от диска);used -buffers/cache
: память используется приложениями (и не разбитая на страницы для свопинга).В повышении система могла работать без буферов и кэша, резервируя RAM для приложений и систематически выполняя чтение с диска и записи без любого кэширования. -/+ buffers/cache
числа указывают на сумму RAM, используемой непосредственно приложениями (used
столбец) и сумма RAM, не используемой приложениями (free
столбец).
Хотя это может варьироваться много, здоровая система обычно имеет приблизительно половину ее RAM, посвященной приложениям и наполовину посвященной буферам и кэшу. Если Вы не выполняете выделенный файловый сервер, Ваша система имеет больше RAM, чем этому нужно, для какого Вы в настоящее время делаете. Если free - buffers/cache
показатель был низким, который укажет на систему, которая не имеет достаточного количества RAM (вопреки широко распространенному мнению, имея большую память, посвященную буферам, и кэш важен для производительности системы, и пытающийся зарезервировать больше памяти для приложений сделал бы 99,99% систем медленнее).
swap
строка проста, она показывает объем подкачки, это используется (или приложениями или для tmpfs
устройство хранения данных), и сумма, которая не является.
Да Вы правы. Буферы и кэш используются ОС, но сразу доступны приложениям. ОС готова делать недействительным и выбросить часть кэша для удовлетворения следующего запроса на память.