Tam yol adı nedir?


21

Tam yol adının gerçekte ne anlama geldiğini anlamak isterim. Ana dizinde my_script adlı bir dosya var. Tam yol adının ./my_script olduğunu ve bunun kök klasöründe olduğunu varsaydım, ancak emin değilim. Biri lütfen beni bu konuda aydınlatabilir mi?


"Dosya listesini adlarıyla birlikte görüntüleyecek bir komut yazmak mümkün mü?" içinde başka yeni bir soru ?
Braiam,

Yanıtlar:


30

Hayır, varsayımın yanlış. Tam yol adı my_scriptev dizininden dosyaya geçerli: /home/your_user_name/my_script. ./my_scriptTerminale yazdığınızda , aslında senaryoyu (çalıştırılabilirse) çalıştırmayı denersiniz ve sadece geçerli çalışma dizininiz varsa çalıştırılır /home/your_user_name/. Komut dosyasını yürütmek için dediğim gibi tam dosya yolunu kullanabilirsiniz /home/your_user_name/my_script.

Bir UNIX yol adının İnternet adresleri gibi göründüğüne ve böyle hissettiğine inanılmaktadır, bu nedenle uyumlulukla sonuçlanmaktadır. Geçerli çalışma dizininin tam yol adı, aşağıdaki komut kullanılarak terminalde bulunabilir:

pwd

Kullanıcı ana 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 readlinkkomutu kullanabilirsiniz . Örneğin, sizin durumunuzda:

cd ~
readlink -f my_script

+1 readlink, yumuşak bağlantıları 'gerçek yolunu
lamino

7

Tam yol adı gerçekten, o dosya veya klasörün, dosya sisteminin /dizinindeki tam yol anlamına gelir .

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

/home/your_username/my_script

Veya grepçalıştırılabilir dosyanın tam yol adı

/bin/grep

Gelince ./my_script, sembol .sen actuallly "Bir dosya için geçerli dizin altında Look veya adlandırılmış my_script klasör" demek bu yüzden, geçerli dizinde açılımı


3

Tam yolu anlamak için önce başlangıç ​​noktasını bilmeniz gerekir.

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

Kullanıcının giriş dizini /home/USERNAME/veya ~/kısaca, kullanıcının dosyalarını ve dizinlerini içerir. Örneğin, Resimler, Müzik, Belgeler, vb. Bu dizinlerin her birine /home/USERNAME/DIRECTORY, örneğin Belgeler adresinde yer verilmiştir /home/USERNAME/Documents.

Dizinlerde olduğu gibi, dosyalara aynı şekilde başvurulur, örneğin my_script, kullanıcının giriş dizininde yer alan bir dosyaya sosyteetam yol /home/sosytee/my_scriptveya ~/my_scriptkısa yolla başvurulabilir .

Hem dosyalar hem de dizinler, sistemdeki her yerden tam yolları kullanılarak referans alınabilir / erişilebilir. Ek olarak, bir kişi aynı dizinde ise sadece isimlerini kullanarak erişebilir. Örneğin, kullanıcı ~/terminali my_scriptkullanıyorsa, sadece kullanarak dosyaya erişebilir my_script.

Ek olarak, birisi PATH değişkenine yerleştirilmişse, yalnızca isimlerini kullanarak dizinlere ve dosyalara erişebilir. PATH'te nelerin depolandığını kullanarak görebilirsiniz echo $PATH.

Komut satırını kullanarak dosyalara nasıl erişileceğine dair basit örnekler:

  • Kullanıcı şu anda adresinde /home/USERNAME/ve bu catkomutu /home/USERNAME/Documentsfoo.txt adlı bir dosyada kullanmak istiyor :

cat Documents/foo.txt

  • Kullanıcı içeride ~/Documentsve foo.shbulunan ad adında bir komut dosyası çalıştırmak istiyor ~/Scripts/Foo:

    sh ../Scripts/Foo/foo.sh

    veya

    sh ~/Scripts/Foo/foo.sh

elbette bu sadece bir özetidir.

Daha fazla bilgi


2

Tam yol adı, kök dizinden gelen yoldur (yani /). ./my_scriptgöreceli yol adıdır, çünkü yol göreceli olarak gösterilen geçerli dizine verilmiştir .. Eğer ev dizininizdeyse, tam yol s.th. gibi /home/sosytee/my_script. Ana dizininiz için "kısa yol" var ~, yani yazabilirsiniz ~/my_script. Ancak bu elbette her kullanıcı için farklı bir yolla çözülecek.

Geçerli rehber çağrınızın tam yolunu görmek için pwd.


2

Tam yol adının ./my_script olduğunu varsaydım.

Hayır öyle değil. Bu yol görecelidir. Baş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_scriptbulunamadı, yani bu ./my_scriptmutlak bir yol değil.

Tam yol adının ./my_script olduğunu ve bunun kök klasöründe olduğunu varsaydım, ancak emin değilim.

Gönderen Vikipedi :

[...] Tam yol veya mutlak yol , çalışma dizininden veya birleşik yollardan bağımsız olarak bir dosya sisteminde aynı konuma işaret eden yoldur.

Yana ./my_scriptbu şartı doldurmayın ben bulabilirim kalsam my_scriptdosyayı , biz anlaması gerektiğini göreli bir yoldur.

Bir göreli yol tam mutlak yol verilmelidir gerek kalmaz, böylece kullanıcı veya uygulama çalışma dizinine bir yol görecelidir.


0

İşte ... soruyorum sanırım Ubuntu sunucusunu pencerelere kurdunuz ...

bu kodu pencerelerdeki klasör gezgine kopyalayın %userprofile%\AppData\Local\Packages

bu size ev yerini gösterecek ... sisteminizde bir yere gizlenmiş

Bu klasörde, dosyalarını görüntülemek istediğiniz Linux dağıtımının klasörünü çift tıklatın:

  1. Ubuntu: CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc
  2. openSUSE Artık 42: 46932SUSE.openSUSELeap42.2_022rs5jcyhyac
  3. SUSE Linux Kurumsal Sunucu 1246932SUSE.SUSELinuxEnterpriseServer12SP2_022rs5jcyhyac

Bu klasörlerin adları gelecekte biraz değişebilir. Sadece Linux dağıtımından sonra adlandırılmış bir klasör arayın.

evin altında olacak LocalState\rootfs\home

Bu bilgilerin çoğu, Windows'taki Ubuntu Bash Dosyalarına Nasıl Erişilir (ve Bash'deki Windows Sistem Sürücünüz)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.