Tautan simbolis

Tautan simbolis (bahasa Inggris: Symbolic link, sering disingkat menjadi Symlink atau sering juga dikenal sebagai soft link), dalam ilmu komputer merujuk kepada sebuah jenis berkas yang bertindak sebagai referensi ke berkas lainnya atau direktori. Beberapa sistem operasi yang menyerupai sistem operasi UNIX sering memiliki fitur tautan simbolis.

Tidak seperti tautan keras (hard link), symbolic link tidak secara langsung menunjuk kepada data, tetapi hanya mengandung path simbolis yang digunakan oleh sistem operasi untuk mengenali sebuah tautan keras atau tautan simbolis lainnya. Sehingga ketika seorang pengguna membuat sebuah tautan simbolis, berkas yang dirujuknya tetap tidak terpengaruh oleh apa yang dilakukan pengguna. Bandingkan dengan tautan keras, jika memang pengguna membuangnya, maka hal tersebut dapat berakibat pada penghapusan berkas tersebut jika memang berkas tersebut tidak memiliki tautan keras lagi.

Beberapa sistem dapat menggunakan tautan simbolis untuk merujuk kepada berkas-berkas meskipun berada di dalam sistem berkas yang dikaitkan ke lokasi yang berbeda dengan sistem berkas yang sekarang digunakan (contoh /dev/hda1 merujuk ke /dev/hda2). Bandingkan dengan tautan keras, yang hanya dapat digunakan dalam cakupan sistem berkas fisik yang sama (contoh tautan keras pada /dev/hda1 harus terdapat pada /dev/hda1 juga).

Dalam konsep tautan simbolis, istilah "orphan link" atau "yatim" digunakan untuk merujuk kepada tautan simbolis yang tidak memiliki target.Tautan simbolis juga beroperasi secara transparan, sehingga implementasinya tidak terlihat oleh aplikasi atau pengguna. Ketika sebuah program membuka, membaca, atau menulisi sebuah tautan simbolis, sistem operasi akan mengalihkan apa yang dilakukan oleh pengguna kepada target tautan simbolis tersebut secara otomatis. Akan tetapi, memang terdapat beberapa fungsi yang mampu mendeteksi keberadaan tautan simbolis, sehingga aplikasi dapat menemukannya dan memanipulasinya.

Pengguna harus sangat berhati-hati dalam merawat tautan simbolis. Tidak seperti tautan keras, jika target tautan simbolik terhapus, maka data akan hilang dan semua pranala ke berkas atau direktori tersebut menjadi orphan link. Akan tetapi, menghapus sebuah symbolic link tidak memiliki pengaruh terhadap target.

Contoh penggunaan 
Untuk membuat sebuah tautan simbolis dalam sistem operasi UNIX, gunakan perintah di bawah ini dari command-line UNIX:

 ln -s Sumber_berkas Berkas_baru

Ganti Sumber_berkas dengan nama berkas atau direktori yang telah ada yang hendak kita buat tautan simbolis terhadapnya (berkas ini dapat berada di mana saja, melewati batas sistem berkas fisik). Ganti Berkas_baru dengan nama tautan simbolis yang hendak dibuat. Perintah ln akan membuatkan tautan simbolis. Setelah kita membuat tautan simbolis dengan perintah di atas, kita dapat melakukan beberapa operasi seperti membaca, menulisi, atau mengeksekusi Berkas_baru, seolah-olah kita sedang bekerja dengan Sumber_berkas. Kita juga dapat menggunakan perintah-perintah manajemen berkas (seperti cp, rm atau perintah lainnya) terhadap tautan simbolis.

Tempat penyimpanan tautan simbolis 
Implementasi awal dari tautan simbolis cenderung menyimpan informasi tautan simbolis di dalam blok disk standar, seperti halnya berkas biasa. Berkas tersebut mengandung referensi tekstual kepada target yang dituju oleh pranala tersebut, dan sebuah indikator bahwa ia adalah tautan simbolis.

Penggunaan cara seperti ini ternyata tidak cukup bagus dan memiliki kinerja yang lambat, dan juga terjadi banyak ruangan disk yang terbuang percuma dalam sistem-sistem yang kecil. Akhirnya sebuah inovasi yang dikenal sebagai fast symlink mengizinkan penyimpanan teks pranala di dalam struktur data standar yang juga digunakan untuk menyimpan informasi berkas di dalam disk (index node atau inode). Ruangan ini pada umumnya bertindak sebagai tempat penyimpanan rantai blok-blok disk yang membentuk sebuah berkas (berukuran 60 bita di dalam Unix File System). Dengan begitu, pengguna pun dapat merujuk kepada tautan simbolis secara lebih cepat. Sistem-sistem dengan fast symlink akan menggunakan metode yang lama jika nama path dan nama berkas yang disimpan di dalam symlink melebihi ruangan yang tersedia di dalam inode, atau untuk kompatibilitas ke belakang dengan sistem operasi versi lama atau sistem operasi lainnya. Penggunaan cara pertama yang disebutkan di atas telah dikenal menjadi istilah Slow Symlink.

Meskipun menyimpan nilai pranala di dalam inode menghemat blok disk dan mengurangi pembacaan hard disk, sistem operasi masih harus menerjemahkan informasi nama path yang terkandung di dalam link, yang selalu membutuhkan pembacaan inode tambahan dan umumnya membutuhkan pembacaan terhadap banyak direktori, yang kemudian memproses daftar berkas dan inode setiap berkas hingga sistem operasi menemukan kecocokan dengan nama path yang dirujuk. Fast symlink akan menunjukkan peningkatan performa yang signifikan hanya ketika sebuah pranala menunjuk ke sebuah berkas di dalam direktori yang sama.

Sistem berkas