voglio collegare (ln -s) tutti i file che si trovano in/mnt/usr/lib/in/usr/lib/LINUX: link di tutti i file da uno all'altro directory
Ci sono un sacco di file come farlo in fretta? :)
voglio collegare (ln -s) tutti i file che si trovano in/mnt/usr/lib/in/usr/lib/LINUX: link di tutti i file da uno all'altro directory
Ci sono un sacco di file come farlo in fretta? :)
ln -s /mnt/usr/lib/* /usr/lib/
Immagino, questo appartiene al superutente, però.
Questo non include i file nascosti e collega intere directory. Se uno di questi non è quello che vuoi, vedi la mia risposta. Altrimenti, è il modo più breve. – Cascabel
Hai ragione. Ma le biblioteche non sono nascoste di solito. In ogni caso i dotfile sono coinvolti, la tua soluzione diventa più utile. – flokra
punta all'altra cartella in modo permanente? – nmkyuppie
ln -s/mnt/usr/lib/*/usr/lib/
Le soluzioni postato non si collegheranno tutti i file nascosti. Per includerli, provate questo:
cd /usr/lib
find /mnt/usr/lib -maxdepth 1 -print "%P\n" | while read file; do ln -s "/mnt/usr/lib/$file" "$file"; done
Se vi capitasse di voler creare in modo ricorsivo le directory ei file solo di collegamento (in modo che se si crea un file all'interno di una directory, è davvero in /usr/lib
non /mnt/usr/lib
), si potrebbe fare questo:
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
Credo che questo dovrebbe funzionare anche come un carattere jolly nei file nascosti, se hai globbing esteso attivato in bash. Corrisponde a tutto a partire da un punto, seguito da qualcosa di diverso da niente o da un altro punto (cioè esclude '. /' E '../'): 'ln -s/mnt/usr/lib /.! (|.) */usr/lib' – Cascabel
GNU cp
ha un'opzione per creare collegamenti simbolici invece di copiare.
cp -rs /mnt/usr/lib /usr/
Nota questa è un'estensione GNU non trovata in POSIX cp
.
La directory corrente dovrebbe essere/usr/per creare un collegamento simbolico in questo modo –
@caf Se la destinazione è una cartella esistente, la cartella lib viene creata all'interno della cartella/usr / –
Quanti file sono "lotti" e quanto velocemente si ritengono "veloci"? –
Questo è 50:50 se si adatta "serverfault" o "superuser", ma non è programmazione, quindi non per stackoverflow. –