Apa itu nama jalur lengkap?

21

Saya ingin memahami apa arti nama jalur lengkap sebenarnya. Saya memiliki file di direktori home saya yang disebut my_script. Saya berasumsi nama path lengkapnya adalah ./my_script, artinya ada di folder root, tapi saya tidak yakin. Dapatkah seseorang tolong beri tahu saya tentang hal itu?

sosytee
sumber
Bisakah Anda bertanya "apakah mungkin untuk menulis perintah yang akan menampilkan daftar file dengan nama mereka?" dalam pertanyaan baru lainnya ?
Braiam

Jawaban:

30

Tidak, anggapan Anda salah. Nama path penuh untuk my_scriptfile dari direktori home Anda: /home/your_user_name/my_script. Ketika Anda mengetikkan ./my_scriptterminal, Anda benar-benar mencoba untuk mengeksekusi skrip (jika dapat dieksekusi) dan itu akan dieksekusi hanya jika direktori kerja Anda saat ini /home/your_user_name/. Untuk mengeksekusi skrip, Anda juga dapat menggunakan path file lengkap, seperti yang saya katakan /home/your_user_name/my_script.

Dipercayai bahwa nama jalur UNIX terlihat dan terasa seperti alamat Internet, sehingga menghasilkan kompatibilitas. Nama path lengkap dari direktori kerja saat ini dapat ditemukan di terminal dengan menggunakan perintah berikut:

pwd

Untuk mengetahui path lengkap untuk direktori home pengguna Anda, Anda dapat menggunakan:

echo ~
echo $HOME
echo /home/$USER

Tiga perintah di atas setara.

Untuk mengetahui nama path lengkap untuk file Anda dapat menggunakan readlinkperintah. Misalnya, dalam kasus Anda:

cd ~
readlink -f my_script
Radu Rădeanu
sumber
+1 readlinkmengungkapkan jalur sebenarnya tautan lunak
lamino
7

Nama path lengkap benar-benar berarti path lengkap ke file atau folder itu dari /direktori filesystem .

Misalnya, path lengkap ke skrip Anda adalah:

/home/your_username/my_script

Atau, nama path lengkap ke grepexecutable adalah

/bin/grep

Adapun ./my_script, simbol .singkatan dari direktori saat ini, jadi Anda benar-benar mengatakan "Cari di bawah direktori saat ini untuk file atau folder bernama my_script"

hytromo
sumber
3

Untuk memahami jalur lengkap, Anda harus terlebih dahulu mengetahui titik awal.

Direktori root /itu adalah titik awal sistem operasi berbasis * nix. Ini berisi semua direktori lain baik sistem dan pengguna.

Direktori home pengguna /home/USERNAME/atau ~/singkatnya, berisi file dan direktori pengguna. Misalnya Gambar, Musik, Dokumen, dll. Masing-masing direktori ini dirujuk seperti /home/USERNAME/DIRECTORYmisalnya Dokumen berada di /home/USERNAME/Documents.

Seperti dengan direktori, file direferensikan dengan cara yang sama, misalnya file bernama yang my_scriptterletak di direktori home pengguna sosyteedapat direferensikan menggunakan path lengkap /home/sosytee/my_scriptatau ~/my_scriptpendek.

Baik file dan direktori dapat dirujuk / diakses menggunakan jalur lengkapnya dari mana saja di dalam sistem. Selain itu orang dapat mengaksesnya hanya menggunakan nama mereka jika berada di direktori yang sama. Misalnya jika pengguna pada ~/saat menggunakan terminal, ia dapat mengakses my_scriptfile hanya dengan menggunakan my_script.

Selain itu, seseorang dapat mengakses direktori dan file hanya dengan menggunakan namanya, jika ditempatkan pada variabel PATH-nya. Anda dapat melihat apa yang disimpan di PATH dengan menggunakan echo $PATH.

Contoh sederhana tentang cara mengakses file menggunakan baris perintah:

  • Pengguna saat ini di /home/USERNAME/dan ingin menggunakan catperintah pada file yang terletak di /home/USERNAME/Documentsbernama foo.txt:

cat Documents/foo.txt

  • Pengguna ada di dalam ~/Documentsdan ingin menjalankan skrip bernama foo.shiklan yang terletak ~/Scripts/Foo:

    sh ../Scripts/Foo/foo.sh

    atau

    sh ~/Scripts/Foo/foo.sh

tentu saja ini hanya ringkasan.

Informasi lebih lanjut

Stef K
sumber
2

Nama path lengkap adalah path dari direktori root (yaitu, /). ./my_scriptadalah nama path relatif, karena path diberikan relatif ke direktori saat ini, yang dilambangkan dengan .. Jadi jika Anda berada di direktori home Anda, path lengkapnya adalah s.th. seperti /home/sosytee/my_script. Untuk direktori home Anda ada "jalan pintas" ~, artinya Anda juga bisa menulis ~/my_script. Tapi itu tentu saja akan menyelesaikan jalan yang berbeda untuk setiap pengguna.

Untuk melihat path lengkap panggilan direktori Anda saat ini pwd.

Tidak seorang pun
sumber
2

Saya berasumsi nama path lengkapnya adalah ./my_script

Tidak, bukan. Jalan itu relatif. Titik di awal menunjukkan direktori saat ini:

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

Seperti yang Anda lihat, saya mengubah direktori dan my_scripttidak ditemukan, yang berarti itu ./my_scriptbukan jalur absolut.

Saya berasumsi nama path lengkapnya adalah ./my_script, artinya ada di folder root, tapi saya tidak yakin.

Dari Wikipedia :

[...] Path lengkap atau path absolut adalah path yang menunjuk ke lokasi yang sama pada satu sistem file terlepas dari direktori yang berfungsi atau path gabungan.

Karena ./my_scripttidak memenuhi syarat bahwa setiap kali saya dapat menemukan my_scriptfile , kita harus menyimpulkan bahwa itu adalah jalur relatif.

Sebuah path relatif adalah path relatif ke direktori kerja dari pengguna atau aplikasi, sehingga path absolut penuh tidak akan harus diberikan.

Braiam
sumber
0

Di sini ... saya anggap Anda bertanya karena Anda menginstal server Ubuntu di windows ...

salin kode ini ke folder explorer Anda di windows %userprofile%\AppData\Local\Packages

yang akan menunjukkan lokasi rumah ... disembunyikan di suatu tempat di sistem Anda

Di folder ini, klik dua kali folder untuk distribusi Linux yang file yang ingin Anda lihat:

  1. Ubuntu: CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc
  2. openSUSE Leap 42: 46932SUSE.openSUSELeap42.2_022rs5jcyhyac
  3. SUSE Linux Enterprise Server 1246932SUSE.SUSELinuxEnterpriseServer12SP2_022rs5jcyhyac

Nama folder ini mungkin sedikit berubah di masa mendatang. Carilah folder bernama setelah distribusi Linux.

rumah Anda akan berada di bawah LocalState\rootfs\home

Sebagian besar info ini didapat dari Cara Mengakses File Bash Ubuntu Anda di Windows (dan Drive Sistem Windows Anda di Bash)

Hammao
sumber