Tam yol adı nedir?

19

Tam yol adının gerçekten ne anlama geldiğini anlamak isterim. Ev dizinimde my_script adında bir dosya var. Tam yol adının ./my_script olduğunu, bunun kök klasörde olduğunu, ancak emin olmadığımı varsaydım. Birisi bana bunu aydınlatır mı?

    
sordu sosytee 26.08.2013 15:11

5 cevap

22

Hayır, varsayım yanlış. Ana dizininizden my_script dosyasının tam yol adı: /home/your_user_name/my_script . Terminalde ./my_script yazdığınızda aslında betiği çalıştırmayı deneyebilirsiniz (eğer çalıştırılabilir ise) ve sadece mevcut çalışma dizininiz /home/your_user_name/ ise çalıştırılacaktır. Komut dosyasını çalıştırmak için, /home/your_user_name/my_script dediğim gibi tam dosya yolunu da kullanabilirsiniz.

Bir UNIX yol adının İnternet adresleri gibi göründüğü ve hissedildiği, dolayısıyla uyumluluğa neden olduğu düşünülür. Geçerli çalışma dizininin tam yol adı, aşağıdaki komut kullanılarak terminalde bulunabilir:

pwd

Kullanıcı giriş dizininizin tam yolunu bulmak için şunları kullanabilirsiniz:

echo ~
echo $HOME
echo /home/$USER

Yukarıdaki üç komut eşdeğerdir.

Bir dosyanın tam yol adını bulmak için readlink komutunu kullanabilirsiniz. Örneğin, durumunuza göre:

cd ~
readlink -f my_script
    
verilen cevap Radu Rădeanu 26.08.2013 16:46
6

Tam yol adı, dosya sisteminin / dizinindeki dosya veya klasörün tam yolunu ifade eder.

Örneğin, komut dosyanızın tam yolu:

/home/your_username/my_script

Veya, grep yürütülebilir dosyasının tam yol adı

/bin/grep

./my_script için, . sembolü geçerli dizini gösterir. Bu nedenle, "My_script adlı bir dosya veya klasör için geçerli dizinin altına bakın" demeniz gerekir.

    
verilen cevap hytromo 26.08.2013 15:16
3

Tam yolu anlamak için öncelikle başlangıç ​​noktasını bilmelisiniz.

Kök dizini / , * nix tabanlı işletim sistemlerinin başlangıç ​​noktasıdır. Sistemin ve kullanıcının tüm diğer dizinlerini içerir.

Kullanıcı ana dizini /home/USERNAME/ veya ~/ kısa, kullanıcının dosyalarını ve dizinlerini içerir. Örneğin Resimler, Müzik, Belgeler, vb. Bu dizinlerin her biri /home/USERNAME/DIRECTORY olarak başvuruda bulunulabilir. Örneğin, Belgeler /home/USERNAME/Documents adresinde bulunur.

Dizinlerde olduğu gibi, dosyalar da aynı şekilde başvurulur, örneğin my_script dizininde sosytee adlı bir dosya, /home/sosytee/my_script veya ~/my_script dizininin tamamı için tam yol kullanılarak başvuruda bulunabilir .

Her iki dosya ve dizin, sistemdeki her yerden tam yollarını kullanarak başvurulabilir / erişilebilir. Ek olarak, aynı dizinde bulunuyorsa bunlara sadece isimlerini kullanarak erişebilirsiniz. Örneğin, kullanıcı terminali kullanırken ~/ değerinde ise, my_script dosyasına my_script dizinini kullanarak erişebilir.

Ayrıca, dizin ve dosyalara yalnızca kendi adlarını kullanarak, PATH değişkenine yerleştirildiklerinde erişebilirler. PATH içindeki depoyu echo $PATH kullanarak görebilirsiniz.

Komut satırını kullanarak dosyalara nasıl erişileceği hakkında basit örnekler:

  • Kullanıcı şu anda /home/USERNAME/ adresindedir ve cat adlı foo.txt adında bir dosyada /home/USERNAME/Documents komutunu kullanmak istiyor:

cat Documents/foo.txt

  • Kullanıcı% co_de içerideydi ve ~/Documents konumlu reklam foo.sh adlı bir komut dosyasını çalıştırmak istiyor:

    ~/Scripts/Foo

    veya

    sh ../Scripts/Foo/foo.sh

tüm bunların anlamı sadece bir özet.

Daha fazla bilgi

verilen cevap Stef K 26.08.2013 15:42
2

Tam yol adı, kök dizinden (örn. / ) olan yoldur. ./my_script , göreli yol adıdır, çünkü yol, . ile belirtilen geçerli dizine göreceli olarak verilir. Yani eğer ev dizininizdeyseniz, yolun tamamı yoludur. /home/sosytee/my_script gibi. Ev dizininiz için "cok ~ ", ~/my_script yazabilirsiniz. Ancak bu elbette, her kullanıcı için farklı bir yola gidecektir.

Geçerli dizininizin tam yolunu görmek için pwd aramayı deneyin.

    
verilen cevap Nodebody 26.08.2013 15:17
2
  

Tam yol adının üstlendiğini farz ettim ./my_script

Hayır, öyle değil. Bu yol göreli. Başlangıçtaki nokta geçerli dizini gösterir:

$ ls ./my_script
my_script
$ cd ..
$ ls ./my_script
ls: cannot access ./my_script: No such file or directory

Gördüğünüz gibi, dizini değiştirdim ve my_script bulunamıyor, yani ./my_script mutlak bir yol değil.

  

Tam yol adının, root klasöründe olduğu anlamına gelen ./my_script olduğunu varsadım, ancak emin değilim.

Wikipedia 'dan:

  

[...] Tam yol veya mutlak yol , çalışma dizinine veya birleşik yollara bakılmaksızın bir dosya sisteminde aynı konuma işaret eden bir yoldur.

./my_script , <%> my_script dosyasını bulabildiğim durumunu göremediğinden, göreceli bir yol olduğu sonucuna varmalıyız.

  

göreli yol , kullanıcının veya uygulamanın çalışma dizinine göre bir yoldur, bu nedenle tam mutlak yolun verilmesi gerekmez.

    
verilen cevap Braiam 27.08.2013 19:12

Etiketlerdeki diğer soruları oku