Я хочу связать (пер -s) все файлы, которые находятся в/мнт/USR/Lib/в/USR/Lib/LINUX: Ссылка все файлы из одного в другой каталог
Есть много файлов, как это сделать быстро? :)
Я хочу связать (пер -s) все файлы, которые находятся в/мнт/USR/Lib/в/USR/Lib/LINUX: Ссылка все файлы из одного в другой каталог
Есть много файлов, как это сделать быстро? :)
ln -s /mnt/usr/lib/* /usr/lib/
Я думаю, это принадлежит суперпользователю.
Это не включает скрытые файлы, и он связывает целые каталоги. Если это не то, что вы хотите, см. Мой ответ. В противном случае это самый короткий путь. – Cascabel
Вы правы. Но библиотеки обычно не скрываются. В любом случае, если вы хотите использовать dotfiles, ваше решение станет более удобным. – flokra
будет ли он указывать на другую папку навсегда? – nmkyuppie
пер -s/мнт/USR/Lib/*/USR/Lib/
Размещаемые решения не будет связывать любые скрытые файлы. Чтобы включить их, попробуйте следующее:
cd /usr/lib
find /mnt/usr/lib -maxdepth 1 -print "%P\n" | while read file; do ln -s "/mnt/usr/lib/$file" "$file"; done
Если вы должны произойти, чтобы хотеть рекурсивно создавать каталоги и только ссылку файлов (так что, если вы создаете файл в каталоге, это на самом деле в /usr/lib
не /mnt/usr/lib
), вы можете сделать это:
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
Я считаю, что это также должно работать как подстановочный знак в скрытых файлах, если у вас есть расширенное зависание, включенное в bash. Он соответствует всему, начиная с точки, за которым следует что-то другое, кроме ничего или другой точки (т.е. оно исключает '. /' И '../'): 'ln -s/mnt/usr/lib /.! (|.) */usr/lib' – Cascabel
GNU cp
имеет возможность создавать символические ссылки вместо копирования.
cp -rs /mnt/usr/lib /usr/
Примечание это расширение GNU не найден in POSIX cp
.
Ваш текущий каталог должен быть/usr /, чтобы сделать символическую ссылку таким образом –
@caf Если папка назначения является существующей, то папка lib создается внутри в/usr/папке –
Сколько файлов есть «много», и как быстро вы считаете «быстрым»? –
Это 50:50, будет ли он соответствовать «serverfault» или «superuser», но это не программирование, поэтому не для stackoverflow. –