GNU/Linux >> Belajar Linux >  >> Linux

Jalur Absolut / Kanonik / Relatif?

Apa perbedaan antara jalur absolut / kanonik / relatif?

Saya kira absolut itu dimulai dengan / . Bisakah itu berisi /../ ?

Apakah jalur kanonik berbeda dari jalur absolut karena tidak boleh berisi /../ ?

Apakah foo jalur relatif?

Googling posix canonical path tidak banyak muncul… Apa referensi POSIX untuk istilah-istilah ini?

Jawaban yang Diterima:

POSIX mendefinisikan "nama path absolut" sebagai berikut:

Nama path yang dimulai dengan satu atau lebih dari dua karakter

dan “nama path relatif” sebagai berikut:

Nama path yang tidak diawali dengan karakter .

Itu saja untuk jalur relatif dan absolut.

Jalur kanonik tidak ditentukan dalam POSIX, tetapi istilah tersebut biasanya mengacu pada jalur yang sebanding, yaitu jika Anda mengambil dua jalur ke objek sistem file, dan mengonversinya ke bentuk kanonik, hasilnya akan sama jika dan hanya jika kedua objek sistem file identik. Ini melibatkan penghapusan ".." seperti yang Anda sebutkan, tetapi itu juga berarti menyelesaikan tautan simbolik; jadi jalur kanonik dapat didefinisikan sebagai

Nama path yang semua komponennya adalah direktori atau file nyata, tidak termasuk "." dan “..”, dan garis miringnya tidak diulang

Dalam istilah POSIX, nama jalur kanonik secara efektif merupakan nama jalur yang diselesaikan (selama Anda menerima bahwa nama jalur kanonik hanya dapat ditentukan untuk objek sistem file yang ada).

Perhatikan bahwa ini hanya berfungsi karena direktori tertaut tidak diizinkan…

Jadi untuk menjawab pertanyaan Anda:

  • jalur absolut dapat berisi /../;
  • jalur kanonik tidak boleh berisi /../ , juga tidak boleh berisi /./ , // (kecuali bisa dibilang di posisi pertama), atau tautan simbolik;
  • foo adalah jalur relatif.

(Secara berlebihan, mereka semua adalahnamajalur , bukan hanya jalur.)


Linux
  1. Konversi Symlink Absolut Ke Symlink Relatif Dengan Perintah Linux Sederhana?

  2. Rsync:Bagaimana Cara Merelokasi Symlink Absolut?

  3. Zsh/bash:Perluas Jalur Relatif Dalam Argumen Perintah Menggunakan Aturan Struktur Direktori Logis Sebelum Eksekusi?

  1. Jalur default Nginx dan Apache

  2. Tentukan apakah jalur relatif atau absolut dalam program shell

  3. Bagaimana cara mendapatkan direktori absolut dari sebuah file di bash?

  1. Apa itu tag Canonical?

  2. Perbedaan antara jalur absolut dan relatif di Linux

  3. Bagaimana cara mengecualikan jalur absolut untuk tar?