Saya ingin membuat tautan simbolis di Linux. Saya telah menulis perintah Bash ini di mana path pertama adalah folder yang saya inginkan tautannya dan path kedua adalah sumber yang dikompilasi.
ln -s '+basebuild+'/IpDome-kernel/kernel /home/build/sandbox/gen2/basebuild/IpDome-kernel/kernal
Apakah ini benar?
Jawaban:
Untuk membuat symlink baru (akan gagal jika symlink sudah ada):
Untuk membuat atau memperbarui symlink:
sumber
ln
Sintaksnya mirip dengancp
sintaksis, misalnya tujuan sumber .cp
yangCoPy
,ln
adalahLiNk
. Huruf pertama dan ketiga.Di mana
-s
membuatnya simbolis.sumber
unlink LINK_NAME
ln -s where-the-symlink-should-point where-to-place-the-symlink-itself
.rm
, tetapi kebanyakan orang tidak tahu untuk menghapus trailing/
.sumber
Anda dapat melihat halaman manual di sini:
http://linux.die.net/man/1/ln
sumber
(Karena gambar ASCII bernilai seribu karakter.)
Panah mungkin merupakan mnemonik yang sangat membantu, terutama karena itulah yang terlihat persis seperti apa yang terlihat di dalam Emacs.
Dan gambaran besar sehingga Anda tidak bingung dengan versi Windows
Linux:
Windows:
Anda juga bisa melihat ini sebagai
Itu
from-here
seharusnya tidak ada lagi, itu harus dibuat, sedangkanto-here
harus sudah ada (IIRC).(Saya selalu bingung tentang apakah berbagai perintah dan argumen harus melibatkan lokasi yang sudah ada sebelumnya, atau yang harus dibuat.)
EDIT: Ini masih meresap perlahan bagi saya; Saya memiliki cara lain yang saya tulis dalam catatan saya.
sumber
dired
, ini sangat mudah, ketika Anda meletakkan kursor di atas target Anda, tekanS
, dan ketikkan direktori tempat Anda menginginkan tautan yang akan dibuat. Mempersingkat jarak antara membayangkan hasil yang diinginkan dan mengetik. Lihat gnu.org/software/emacs/manual/html_node/emacs/… .http://unixhelp.ed.ac.uk/CGI/man-cgi?ln
sumber
man ln
, yang menyebutnyaln -s TARGET LINK_NAME
Untuk pertanyaan awal:
Ini memang akan membuat tautan simbolik (
-s
) dari file / direktori:ke tautan baru Anda
Berikut beberapa cara untuk membantu Anda mengingat:
Pertama, ada halaman manual untuk
ln
. Anda dapat mengakses ini melalui pencarian "man ln" di google, atau cukup buka jendela terminal dan ketikman ln
dan Anda akan mendapatkan informasi yang sama. Halaman manual dengan jelas menyatakan:Jika harus mencari atau membaca halaman manual setiap saat bukan untuk Anda, mungkin Anda akan lebih mudah mengingat bahwa semua perintah nix bekerja dengan cara yang sama:
cp
menyalin file yang saat ini ada (argumen pertama) ke file baru (argumen kedua).mv
memindahkan file yang saat ini ada (argumen pertama) ke tempat baru (argumen kedua)Demikian juga
ln
tautan file yang saat ini ada (argumen pertama) ke tautan baru (argumen kedua) *Opsi terakhir yang ingin saya sarankan adalah Anda dapat membuat halaman manual Anda sendiri yang mudah dibaca dan mudah (untuk Anda) untuk menemukan / mengingat. Buat skrip shell sederhana yang memberi Anda petunjuk yang Anda butuhkan. Misalnya ♦ :
Dalam file .bash_aliases Anda, Anda dapat menempatkan sesuatu seperti:
Kemudian ketika Anda membutuhkannya, dari baris perintah cukup ketik
cmds
dan Anda akan mendapatkan kembali sintaks yang tepat dengan cara Anda dapat dengan cepat membaca dan memahaminya. Anda dapat membuat fungsi-fungsi ini semaju Anda ingin mendapatkan informasi apa yang Anda butuhkan, terserah Anda. Anda bahkan dapat membuatnya interaktif sehingga Anda hanya harus mengikuti petunjuknya .. sesuatu seperti:* - yah jelas mereka semua dapat mengambil parameter yang berbeda dan melakukan hal yang berbeda dan dapat bekerja pada file dan juga direktori ... tetapi premisnya sama
♦ - contoh menggunakan bash shell
sumber
sumber
Membuat tautan simbolik atau tautan lunak di Linux:
Buka Bash prompt dan ketik perintah yang disebutkan di bawah ini untuk membuat tautan simbolis ke file Anda:
A) Buka folder tempat Anda ingin membuat tautan lunak dan ketik perintah seperti yang disebutkan di bawah ini :
B) Ambil path nama file baru Anda dan ketik :
$ ls -lrt (To see if the new-file is linked to the file or not)
Contoh:
sumber
ln -s sourcepath linkpathname
catatan:
-s membuat tautan simbolik alih-alih tautan keras
sumber
Jika Anda berada di direktori tempat Anda ingin membuat symlink, abaikan lintasan kedua.
Ini akan membuat symlink dari
target
dalammyfolder
.Sintaks umum
sumber
Ini adalah Stack Overflow jadi saya menganggap Anda menginginkan kode:
Semua kode berikut mengasumsikan bahwa Anda ingin membuat tautan simbolis bernama tautan
/tmp/link
itu/tmp/realfile
.PERHATIAN : Meskipun kode ini memeriksa kesalahan, kode ini TIDAK memeriksa apakah
/tmp/realfile
benar-benar ada! Ini karena tautan mati masih valid dan tergantung pada kode Anda, Anda mungkin (jarang) ingin membuat tautan sebelum file asli.Shell (bash, zsh, ...)
Sederhana nyata, sama seperti Anda akan melakukannya di baris perintah (yang merupakan shell). Semua penanganan kesalahan dilakukan oleh penerjemah shell. Kode ini mengasumsikan bahwa Anda memiliki juru bahasa shell yang berfungsi di
/bin/sh
.Jika perlu Anda masih bisa menerapkan penanganan kesalahan Anda sendiri dengan menggunakan
$?
variabel yang hanya akan diatur ke 0 jika tautan berhasil dibuat.C dan C ++
symlink
hanya mengembalikan 0 saat tautan dapat dibuat. Dalam kasus lain saya menggunakanperror
untuk memberi tahu lebih banyak tentang masalah tersebut.Perl
Kode ini mengasumsikan Anda memiliki juru bahasa perl 5 di
/usr/bin/perl
.symlink
hanya mengembalikan 1 jika tautan dapat dibuat. Dalam kasus lain saya mencetak alasan kegagalan ke output kesalahan standar.sumber
Saya ingin menyajikan deskripsi lebih jelas versi bahasa Inggris-bahasa yang sudah disajikan.
Perintah "ln" membuat tautan-FILE, dan "-s" menetapkan bahwa jenis tautan akan bersifat simbolis. Contoh file tautan simbolis dapat ditemukan di instalasi WINE (menggunakan "ls -la" untuk menampilkan satu baris dari isi direktori):
Informasi file-info standar ada di sebelah kiri (walaupun perhatikan karakter pertama adalah "l" untuk "tautan"); nama file adalah "a:" dan "->" juga menunjukkan file tersebut adalah sebuah tautan. Ini pada dasarnya memberitahu WINE bagaimana Windows "Drive A:" harus dikaitkan dengan floppy drive di Linux. Untuk benar-benar membuat tautan simbolis SIMILAR ke sana (dalam direktori saat ini, dan untuk benar-benar melakukan ini untuk WINE lebih rumit; gunakan utilitas "winecfg"):
sumber
Untuk membuat tautan simbolik / tautan lunak, gunakan:
misalnya:
sumber
Ada dua jenis tautan:
tautan simbolik: Lihat jalur simbolik yang menunjukkan lokasi abstrak dari file lain
tautan keras: Lihat lokasi spesifik data fisik.
Dalam kasus Anda, symlinks:
Anda dapat merujuk ke http://man7.org/linux/man-pages/man7/symlink.7.html
Anda dapat membuat tautan terlalu keras
Tautan keras ke file tidak dapat dibedakan dari entri direktori asli; setiap perubahan pada file secara independen terlepas dari nama yang digunakan untuk referensi file. Tautan keras biasanya tidak merujuk ke direktori dan mungkin tidak menjangkau sistem file.
sumber
Tautan pada dasarnya terdiri dari dua jenis:
Tautan simbolik (lunak): tautan ke lintasan simbolik yang menunjukkan lokasi abstrak file lain
Tautan keras: tautan ke lokasi spesifik data fisik.
Contoh 1:
Di atas adalah contoh tautan keras tempat Anda dapat memiliki salinan data fisik Anda.
Contoh 2:
Perintah di atas akan membuat tautan simbolis ke file1.txt.
Jika Anda menghapus file sumber maka Anda tidak akan memiliki apa pun ke tujuan dengan lembut.
Saat kamu melakukan:
ls -lai
Anda akan melihat bahwa ada nomor inode yang berbeda untuk symlink.
Untuk lebih jelasnya, Anda dapat membaca halaman manual ln di OS Linux Anda.
sumber
hard link where you can have a copy of your physical data
- Saya pikir kami tidak membuat salinan data fisik. Hanya nama lain untuk data fisik yang sama.Saya menemukan sedikit membingungkan terminologi "target" dan "direktori" dalam informasi manusia.
Targetnya adalah folder tempat kami terhubung dan direktori symlink yang sebenarnya (bukan direktori tempat Anda akan symlinking), jika ada yang mengalami kebingungan yang sama, jangan merasa sendirian.
Ini adalah interpretasi saya untuk membuat Symlink (di linux):
Anda dapat menavigasi ke folder tempat Anda ingin membuat symlink dan menjalankan perintah atau menentukan FULL PATH untuk symlink Anda alih-alih NAME-OF-YOUR-SYMLINK.
ATAU
Saya harap ini membantu mereka yang masih bingung.
sumber
Cara membuat symlink di gelandangan. Langkah:
sumber