HP dv6 2020sa // аккумулятор?

Перекрестные ссылки каталогов разбивают файловую систему несколькими способами

Они позволяют создавать циклы

Жесткая ссылка на каталог может ссылаться на самого родителя, который создает файловую систему петля. Например, эти команды могли бы создать цикл с обратной ссылкой l:

mkdir -p /tmp/a/b
cd /tmp/a/b
ln -d /tmp/a l

Файловая система с контуром каталогов имеет бесконечную глубину:

cd /tmp/a/b/l/b/l/b/l/b/l/b

Любой без предиката -maxdepth будет работать в бесконечном цикле. Это означает, что вы больше не сможете использовать find, что является важной командой, в последовательном порядке. Аналогично для не менее важной команды locate.

Дерево по определению не имеет циклов, поэтому файловая система больше не является деревом.

Они нарушают однозначность родительского каталоги

В цикле файловой системы существует несколько родительских каталогов:

cd /tmp/a/b
cd /tmp/a/b/l/b

В первом случае /tmp/a является родительским каталогом /tmp/a/b. Во втором случае /tmp/a/b/l является родительским каталогом /tmp/a/b/l/b, который совпадает с /tmp/a/b. Таким образом, у него есть два родительских каталога.

Они размножают файлы

После определения символических ссылок файлы идентифицируются по путям. Итак,

/tmp/a/b/foo.txt
/tmp/a/b/l/b/foo.txt

- это разные файлы. Существует бесконечное число дальнейших путей файла. Конечно, они одинаковы с точки зрения их числа inode. Но если вы явно не ожидаете циклов, нет причин для этого.

Жесткая ссылка каталога также может указывать на дочерний каталог или каталог, который не является ни дочерним, ни родительским. В этом случае файл, являющийся дочерним звеном ссылки, будет реплицирован в два файла, идентифицированных двумя путями.

Ваш пример

$ ln /Some/Direcoty /home/nischay/Hard-Directory
$ echo foo > /home/nischay/Hard-Directory/foobar.txt
$ diff -s /Some/Direcoty/foobar.txt /home/nischay/Hard-Directory/foobar.txt
$ echo bar >> /Some/Direcoty/foobar.txt
$ diff -s /Some/Direcoty/foobar.txt /home/nischay/Hard-Directory/foobar.txt
$ cat /Some/Direcoty/foobar.txt
foo
bar

Как могут софт ссылки на каталоги [? d17]

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

Но есть и другие ситуации, когда пути используются для сравнения файлов. В этом случае символические ссылки в пути могут быть разрешены первыми, превратив их в минимальное и общепринятое представление, создающее канонический путь:

Это возможно, поскольку мягкие ссылки могут быть расширены до пути без ссылки. После этого со всеми мягкими ссылками в пути оставшийся путь является частью дерева, где путь всегда однозначен.

Команда readlink может разрешить путь к каноническому пути:

$ readlink -f /some/symlinked/path

Софт-ссылки отличаются от того, что использует файловая система

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

Из man readlink: [!d28 ]

 NAME
        readlink - print resolved symbolic links or canonical
        file names

 SYNOPSIS
        readlink [OPTION]... FILE...

 DESCRIPTION
        Print value of a symbolic link or canonical file name

        -f, --canonicalize
               canonicalize by  following  every  symlink  in
               every component of the given name recursively;
               all but the last component must exist
        [  ...  ]
1
задан 7 December 2013 в 22:00

1 ответ

Некоторые батареи - в частности, некоторые китайцы - не будут заряжаться простым подключением к источнику питания. Вы должны отключить питание, вынуть батарею и снова положить ее обратно. Когда вы загрузитесь, она зарядится, но когда она сбежит, ближе к концу, вы должны сделать это снова. Я случайно обманул этот трюк; Я собирался купить новую батарею, поэтому взял старую, чтобы получить номер. Я положил его, загрузил, чтобы я мог использовать его, и он заряжался.

Новые (китайские) батареи - всего несколько долларов. Даже если ваш не мертв, это будет когда-нибудь, так что это неплохо иметь под рукой.

0
ответ дан 24 May 2018 в 14:24

Другие вопросы по тегам:

Похожие вопросы: