LINUX: Свяжите все файлы от одного до другого [закрытого] каталога

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

, Поскольку другие сказали в стандартных методах, это часто используется для указания на метод, который вызывает объект видоизменить себя, но не всегда. Обратите внимание, что много стандартных методов изменяют свой получатель и не имеют восклицательного знака (pop, shift, clear), и некоторые методы с восклицательными знаками не изменяют свой получатель (exit!). См. эта статья , например.

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

Это - соглашение о присвоении имен, но многие люди используют его тонко различными способами. В Вашем собственном коде хорошее правило ползунков состоит в том, чтобы использовать его каждый раз, когда метод делает что-то "опасное", особенно когда два метода с тем же именем существуют, и один из них более "опасен", чем другой. "Опасный" может означать почти что-либо все же.

117
задан chollida 28 August 2009 в 14:07
поделиться

4 ответа

ln -s /mnt/usr/lib/* /usr/lib/

Я думаю, это принадлежит суперпользователю.

193
ответ дан 24 November 2019 в 02:04
поделиться
ln -s /mnt/usr/lib/* /usr/lib/
15
ответ дан 24 November 2019 в 02:04
поделиться

The posted solutions will not link any hidden files. To include them, try this:

cd /usr/lib
find /mnt/usr/lib -maxdepth 1 -print "%P\n" | while read file; do ln -s "/mnt/usr/lib/$file" "$file"; done

If you should happen to want to recursively create the directories and only link files (so that if you create a file within a directory, it really is in /usr/lib not /mnt/usr/lib), you could do this:

cd /usr/lib
find /mnt/usr/lib -mindepth 1 -depth -type d -printf "%P\n" | while read dir; do mkdir -p "$dir"; done
find /mnt/usr/lib -type f -printf "%P\n" | while read file; do ln -s "/mnt/usr/lib/$file" "$file"; done
15
ответ дан 24 November 2019 в 02:04
поделиться

GNU cp имеет возможность создавать символические ссылки вместо копирования.

cp -rs /mnt/usr/lib /usr/

Обратите внимание, что это расширение GNU, не найденное в POSIX cp .

84
ответ дан 24 November 2019 в 02:04
поделиться
Другие вопросы по тегам:

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