I want to link ( ln -s
) all files that are in /mnt/usr/lib/
into /usr/lib/
There are lots of files, how can it be done quickly? :)
I want to link ( ln -s
) all files that are in /mnt/usr/lib/
into /usr/lib/
There are lots of files, how can it be done quickly? :)
ln -s /mnt/usr/lib/* /usr/lib/
I guess, this belongs to superuser, though.
GNU cp
has an option to create symlinks instead of copying.
cp -rs /mnt/usr/lib /usr/
Note this is a GNU extension not found in POSIX cp
.
cp -rs /myconfigfolder/. /mynewconfigfolder/
So should everything included hiddenfiles symlinked –
Zachery 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
./
and ../
): ln -s /mnt/usr/lib/.!(|.)* /usr/lib
–
Toon © 2022 - 2024 — McMap. All rights reserved.