GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara membuat tautan simbolik ke semua file (kelas file) dalam direktori?

ln memang membutuhkan banyak argumen, tetapi jangan lupa untuk memberikan direktori target dalam kasus itu.

Jadi, dalam contoh Anda . adalah direktori target, jadi semudah

ln -s ../source/*.bar .

Dari man ln; perintah di atas menggunakan bentuk ke-3:

ln [OPTION]... [-T] TARGET LINK_NAME   (1st form)
ln [OPTION]... TARGET                  (2nd form)
ln [OPTION]... TARGET... DIRECTORY     (3rd form)
ln [OPTION]... -t DIRECTORY TARGET...  (4th form)
  • Pada formulir pertama, buat tautan ke TARGET dengan nama LINK_NAME.
  • Dalam bentuk ke-2, buat tautan ke TARGET di direktori saat ini.
  • Dalam formulir ke-3 dan ke-4, buat tautan ke setiap TARGET di DIRECTORY.

Anda dapat mencoba secara rekursif dengan menggunakan globstar (bash/zsh ditetapkan oleh:shopt -s globstar ):

ls -vs ../**/*.bar .

Atau jika daftarnya terlalu panjang, gunakan find utilitas:

find .. -name \*.bar -exec ln -vs "{}" dest/ ';'

Ini akan membuat tautan di dest/ , atau ubah ke . untuk folder saat ini.


Gunakan find

certainDir="/path/to/dir"
find -name "*.bar" -exec ln -s {} "$certainDir" \;

Selain itu, ingatlah untuk menggunakan jalur lengkap (bila memungkinkan) dengan symlink.


Linux
  1. Cara Membuat Tautan Keras dan Simbolik di Linux

  2. Cara Menemukan File Di Linux Di Semua Direktori Secara Rekursif

  3. Bagaimana mengubah semua kemunculan kata di semua file dalam direktori

  1. Bagaimana Memindahkan Semua File (termasuk Tersembunyi) Dari Satu Direktori Ke Yang Lain?

  2. Bagaimana cara menghapus semua file dalam direktori kecuali beberapa?

  3. Bagaimana menemukan semua file byte nol dalam direktori

  1. Cara Membuat Direktori Bersama untuk Semua Pengguna di Linux

  2. Bagaimana Cara Menghapus Semua File Dengan Ekstensi Tertentu Di Folder Tertentu?

  3. Unzip Semua File Di Direktori