Özet
link kaynak_dosya hedef_dosya
ln [-L | -P | -s [-F]] [-f | -iw] [-hnv] kaynak_dosya [hedef_dosya]
ln [-L | -P | -s [-F]] [-f | -iw] [-hnv] kaynak_dosya ... hedef_dizin
Açıklama
link yardımcı programı, tam olarak iki argüman alır ve bu argümanlar dizin olamaz. İki argümanı kullanarak doğrudan bir link(2) sistem çağrısı yürütür ve herhangi bir komut satırı seçeneği (flag) kabul etmez.
Daha genel olan ln aracı ise hedef_dosya ile belirtilen dosya adı için yeni bir dizin girdisi (bağlanmış dosya) oluşturur. Oluşturulan hedef_dosya, kaynak_dosya ile aynı dosya izin modlarına sahip olacaktır. Bu işlem, "kopyalar" için ek disk alanı harcamadan bir dosyanın aynı anda birden fazla yerde barındırılmasına imkan tanır.
İki tür bağlantı vardır:
- Sabit Bağlantılar (Hard Links): Orijinal dizin girdisinden ayırt edilemez. Dosyada yapılan herhangi bir değişiklik, hangi adla erişilirse erişilsin anında yansır. Dizinler sabit bağlanamaz ve sabit bağlantılar farklı dosya sistemleri arasında geçiş yapamaz.
- Sembolik Bağlantılar (Symbolic Links): Bağlı olduğu dosyanın yol adını (dizge olarak) içerir. Sembolik bağlantılar dosya sistemleri arasında geçiş yapabilir ve dizinleri de referans alabilir.
Seçenekler (Yalnızca ln için geçerlidir)
-F: Hedef dosya zaten mevcutsa ve bir dizinse, bağlantının kurulabilmesi için onu kaldırır.-Fseçeneği,-fveya-iseçeneklerinden biriyle birlikte kullanılmalıdır. Ne-fne de-ibelirtilmişse,-fvarsayılır.-sbelirtilmediği sürece hiçbir işlem yapmaz (no-op).-L: Sembolik bir bağlantıya sabit bir bağlantı oluştururken, sembolik bağlantının hedefine (bağlandığı dosyaya) sabit bir bağlantı oluşturur. Varsayılan davranış budur. Bu seçenek-Pseçeneğini geçersiz kılar.-P: Sembolik bir bağlantıya sabit bir bağlantı oluştururken, sembolik bağlantının kendisine (dosya adına) sabit bir bağlantı oluşturur. Bu seçenek-Lseçeneğini geçersiz kılar.-f: Hedef dosya zaten mevcutsa, bağlantının kurulabilmesi için onun bağını kaldırır (unlink). Bu seçenek önceki tüm-ive-wseçeneklerini geçersiz kılar.-h/-n: Eğerhedef_dosyaveyahedef_dizinbir sembolik bağlantısa, onu takip etmez (hedefini çözmez). Bu seçenek, bir dizine işaret edebilecek bir sembolik bağlantıyı değiştirmek için en çok-fseçeneğiyle birlikte kullanışlıdır.-i: Hedef dosya mevcutsa standart hataya bir onay istemi yazdırır. Standart girdiden gelen yanıt 'y' veya 'Y' karakteri ile başlıyorsa, bağlantının kurulabilmesi için hedef dosyanın bağını kaldırır. Aksi takdirde bağlantı kurma girişiminde bulunmaz. Bu seçenek önceki tüm-fseçeneklerini geçersiz kılar.-s: Sabit bağlantı yerine sembolik bir bağlantı (soft/symlink) oluşturur.-v: Ayrıntılı (verbose) modda çalışarak dosyaları işlendikçe standart çıktıya yazdırır.-w: Oluşturulan bir sembolik bağlantının kaynağı şu anda mevcut değilse bir uyarı mesajı verir.
Örnekler
Aşağıdaki örnekler kabukta (shell) çalıştırılabilecek şekilde gösterilmiştir:
linkkomutunu kullanarak iki dosya arasında basit bir sabit bağlantı (hard link) oluşturma:link orijinal.txt kopya.txt[!IMPORTANT]
linkkomutuyla dizinleri bağlayamazsınız ve herhangi bir-sveya-fgibi parametre kullanamazsınız./usr/srcdizinine işaret eden/home/srcadında bir sembolik bağlantı oluşturma:ln -s /usr/src /home/srcBir programın yeni sürümüne sabit bağlantı (hard link) oluşturma:
ln /usr/local/bin/fooprog-1.0 /usr/local/bin/fooprogfoosembolik bağlantısını dizin derinliğine takılmadan zorlayarak (-f) yenibazdizinine yönlendirme:ln -shf baz foo[!NOTE]
-hseçeneği olmasaydı, bu işlemfoo'yubaz'a yönlendirmek yerine,foo'nun işaret ettiği mevcut hedef dizininin içindebazadında yeni bir sembolik bağlantı oluşturacaktı.lnargüman sırasını hatırlamak için cp(1) komutunu düşünün: İlk argüman (kaynak) her zaman mevcut olmalıdır, ikinci argüman (hedef) ise oluşturulacak olandır.
Uyumluluk
-h, -i, -n, -v ve -w seçenekleri standart dışıdır. Yalnızca diğer ln uygulamalarıyla uyumluluk amacıyla sunulmuşlardır. -F seçeneği ise bir FreeBSD uzantısıdır.
Ayrıca Bakınız
ln(1), cp(1), ls(1), readlink(1), link(2), lstat(2), stat(2), symlink(2), symlink(7)