ln -s
にあるすべてのファイルをリンク ( )/mnt/usr/lib/
したい/usr/lib/
たくさんのファイルがありますが、どうすればすばやく実行できますか? :)
ln -s /mnt/usr/lib/* /usr/lib/
ただし、これはスーパーユーザーに属していると思います。
GNUcp
には、コピーする代わりにシンボリック リンクを作成するオプションがあります。
cp -rs /mnt/usr/lib /usr/
これはPOSIX にcp
はない GNU 拡張であることに注意してください。
ln -s /mnt/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