Buat symlinks secara rekursif untuk seluruh pohon

20

Saya mencari perintah yang akan membuat ulang seluruh pohon file di direktori yang berbeda. Saya lebih suka memiliki semua symlinks absolut. Bisakah saya melakukannya dengan find dan xargs? ;-)

lzap
sumber
1
Saya tidak mengerti. Jika Anda membuat, misalnya, symlink bernama /tmp/somedirectorypointing at /home/me/somegreatdir, maka semua konten somegreatdirakan terlihat di bawah /tmp/somedirectory. Ini hanya membutuhkan satu symlink untuk keseluruhan pohon. Atau apa lagi yang Anda inginkan?
jankes

Jawaban:

26

cp -rs source/ dest/harus melakukan trik. Struktur direktori akan dibuat ulang pada dest / dengan setiap file menjadi symlink ke sumbernya.

Pablo Castellazzi
sumber
Juga upaya pertama saya. Gagal cpmembuat symlink untuk source/some_deeper_dir/files.
Jokester
1
Dalam pengalaman saya, Anda harus menggunakan path lengkap ke sumber (misalnya cp -Rs /home/myusername/source dest) jika tidak akan mengeluh. inilah ref: lists.gnu.org/archive/html/help-gnu-utils/2004-08/msg00039.html
22degrees
4

Seandainya cp -rsbukan jawaban yang Anda cari, lndirmungkin jawaban yang benar.

Mikko Rantalainen
sumber
Menangani struktur subdirektori yang sangat dalam. Menginstalnya di debian menggunakansudo apt-get install xutils-dev
user299481