GNU/Linux >> Belajar Linux >  >> Linux

Symlink Cepat Dan Lambat?

Dari http://en.wikipedia.org/wiki/Symbolic_link#Storage_of_symbolic_links

Implementasi awal dari tautan simbolik menyimpan informasi tautan simbolik
sebagai data dalam file biasa. File berisi referensi
tekstual ke target tautan, dan indikator[perlu klarifikasi]
yang menunjukkannya sebagai tautan simbolik.

Metode ini lambat dan penggunaan ruang disk yang tidak efisien pada sistem
kecil. Peningkatan, yang disebut symlink cepat , penyimpanan yang diizinkan dari
jalur target dalam struktur data yang digunakan untuk menyimpan file
informasi pada disk (inode)
. Ruang ini biasanya menyimpan daftar
alamat blok disk yang dialokasikan ke file. Dengan demikian, symlink dengan jalur target
pendek diakses dengan cepat. Sistem dengan symlink cepat sering
kembali menggunakan metode asli jika jalur target melebihi
ruang inode yang tersedia
. Gaya asli secara surut disebut sebagai
symlink lambat . Ini juga digunakan untuk kompatibilitas disk dengan sistem operasi lain atau
versi lama.

  1. Apakah "penyimpanan jalur target yang diizinkan dalam struktur data
    yang digunakan untuk menyimpan informasi file pada disk (inode)" berarti bahwa symlink
    yang cepat menyimpan jalur file yang ditautkan di dalam inode
    symlink cepat

    Apakah symlink cepat, sebagai file itu sendiri, sebenarnya hanya memiliki inode
    dan tidak memiliki konten file?

    Apakah symlink yang lambat, sebagai file itu sendiri, memiliki inode dan beberapa file
    konten yang merupakan jalur target?

  2. Apa yang dimaksud dengan "jika jalur target melebihi ruang inode yang tersedia"
    ?

    Benarkah jika symlink ke file adalah symlink cepat, jika dan
    hanya jika symlink dan file berada di sistem file yang sama?

  3. Apakah ada perintah yang dapat memeriksa apakah symlink cepat atau lambat
    ?

  4. Ketika symlink memiliki konten file, apa perintah untuk menampilkan
    konten symlink? (Agar symlink yang cepat tidak memiliki konten
    file dan yang lambat memilikinya, kami dapat memverifikasinya.)

Jawaban yang Diterima:

Apakah "penyimpanan jalur target yang diizinkan dalam struktur data yang digunakan untuk menyimpan informasi file pada disk (inode)" berarti bahwa symlink cepat menyimpan jalur file tertaut di dalam inode symlink cepat

Ya

Apakah symlink cepat, sebagai file itu sendiri, sebenarnya hanya memiliki inode dan tidak memiliki konten file?

Tergantung apa yang Anda maksud dengan "memiliki konten file". Tidak ada symlink yang memiliki konten file dalam arti bahwa Anda tidak dapat open() mereka dan read() dari mereka. Tetapi dalam arti yang tersirat oleh teks yang Anda kutip, "File berisi referensi tekstual ke target tautan". Jadi, ya, referensi tekstual itu bisa dianggap sebagai “konten” file.

Terkait:Membuat partisi baru dengan parted untuk hard drive baru:saat dipasang, itu jauh lebih kecil dari yang diharapkan. Mengapa?

Konten ini sama terlepas dari apakah symlink adalah symlink cepat atau symlink lambat. Bagaimana dan di mana sistem file memilih untuk menyimpan informasi tersebut dalam struktur data di disknya merupakan detail implementasi dan tidak memengaruhi hal ini.

Apakah symlink yang lambat, sebagai file itu sendiri, memiliki inode dan beberapa konten file yang merupakan jalur target?

Dari sudut pandang yang sama, ya!

Apa artinya "jika jalur target melebihi ruang inode yang tersedia"?

Tergantung pada sistem file dan jenis struktur data yang digunakan untuk menyimpan inode dan berapa banyak ruang kosong dalam struktur data tersebut dan apakah ukurannya variabel atau ukuran tetap. Panjang maksimum jalur target symlink sebelum harus dikembalikan untuk disimpan sebagai symlink lambat adalah detail implementasi sistem file.

Omong-omong, tidak ada yang mencegah sistem file tertentu menggunakan trik yang sama untuk menyimpan konten reguler pendek file untuk menghemat ruang dan akses disk.

Apakah ada perintah yang dapat memeriksa apakah symlink cepat atau lambat?

Paling-paling, alat debugging atau dumping sistem file. Dan itu akan sepenuhnya tergantung pada jenis sistem file yang Anda minati (xfs, ext*, btrfs, dll…)

Ketika symlink memiliki konten file, apa perintah untuk menampilkan konten symlink? (Agar jika symlink yang cepat tidak memiliki konten file dan yang lambat memilikinya, kami dapat memverifikasinya.)

Anda dapat memperoleh jalur target (isi) symlink dengan readlink , tapi ls -l akan bekerja juga.


Linux
  1. Superblock, Inode, Dentry, dan File?

  2. Proses Substitusi Dan Pipa?

  3. Izin File Dan Menyimpan?

  1. `^m` Dan Bagaimana Cara Menghilangkannya?

  2. Menginstal dan mengonfigurasi vsFTPD

  3. Apa itu `S_ISREG()`, dan apa fungsinya?

  1. Redirect Dan Output Pipa?

  2. Tip dan trik .htaccess Linux

  3. Sistem File yang Didukung dan Direkomendasikan di Linux