Tên đường dẫn đầy đủ là gì?


21

Tôi muốn hiểu tên đường dẫn đầy đủ thực sự có nghĩa là gì. Tôi có một tập tin trong thư mục nhà của tôi được gọi là my_script. Tôi giả sử tên đường dẫn đầy đủ là ./my_script, có nghĩa là nó nằm trong thư mục gốc, nhưng tôi không chắc chắn. Ai đó có thể làm ơn khai sáng cho tôi về điều đó?


Bạn có thể hỏi "có thể viết một lệnh sẽ hiển thị danh sách các tệp có tên của họ không?" trong một câu hỏi mới ?
Braiam

Câu trả lời:


30

Không, giả định của bạn là sai. Tên đường dẫn đầy đủ cho my_scripttệp từ thư mục chính của bạn là : /home/your_user_name/my_script. Khi bạn nhập ./my_scriptvào terminal, bạn thực sự cố gắng thực thi tập lệnh (nếu có thể thực thi được) và nó sẽ chỉ được thực thi nếu thư mục làm việc hiện tại của bạn là /home/your_user_name/. Để thực thi tập lệnh, bạn cũng có thể sử dụng đường dẫn tệp đầy đủ, như tôi đã nói /home/your_user_name/my_script.

Người ta tin rằng một tên đường dẫn UNIX trông giống như địa chỉ Internet, do đó dẫn đến khả năng tương thích. Tên đường dẫn đầy đủ của thư mục làm việc hiện tại có thể được tìm thấy trong thiết bị đầu cuối bằng cách sử dụng lệnh sau:

pwd

Để tìm ra đường dẫn đầy đủ cho thư mục nhà người dùng của bạn, bạn có thể sử dụng:

echo ~
echo $HOME
echo /home/$USER

Ba lệnh trên là tương đương.

Để tìm ra tên đường dẫn đầy đủ cho một tập tin, bạn có thể sử dụng readlinklệnh. Ví dụ: trong trường hợp của bạn:

cd ~
readlink -f my_script

+1 readlinkcho thấy đường dẫn thực tế của các liên kết mềm
lamino

7

Tên đường dẫn đầy đủ thực sự có nghĩa là đường dẫn đầy đủ đến tệp hoặc thư mục đó từ thư mục của hệ thống tệp /.

Ví dụ: đường dẫn đầy đủ đến tập lệnh của bạn là:

/home/your_username/my_script

Hoặc, tên đường dẫn đầy đủ để grepthực thi là

/bin/grep

Đối với ./my_script, biểu tượng .là viết tắt của thư mục hiện tại, vì vậy bạn hãy nói một cách khéo léo "Xem bên dưới thư mục hiện tại để tìm tệp hoặc thư mục có tên my_script"


3

Để hiểu được đường dẫn đầy đủ, trước tiên bạn phải biết điểm bắt đầu.

Thư mục gốc /nó là điểm khởi đầu của các hệ điều hành dựa trên * nix. Nó chứa tất cả các thư mục khác cả hệ thống và người dùng.

Thư mục nhà của người dùng /home/USERNAME/hoặc~/ viết tắt là chứa các tệp và thư mục của người dùng. Ví dụ: Hình ảnh, Âm nhạc, Tài liệu, v.v ... Mỗi thư mục này được tham chiếu như /home/USERNAME/DIRECTORYví dụ Tài liệu được đặt tại /home/USERNAME/Documents.

Giống như với các thư mục, các tệp được tham chiếu theo cùng một cách, ví dụ: một tệp có tên my_scriptnằm trong thư mục chính của người dùng sosyteecó thể được tham chiếu bằng đường dẫn đầy đủ/home/sosytee/my_script hoặc ~/my_scriptviết tắt.

Cả hai tệp và thư mục có thể được tham chiếu / truy cập bằng cách sử dụng đường dẫn đầy đủ của chúng từ mọi nơi trong hệ thống. Ngoài ra, người ta có thể truy cập chúng chỉ bằng tên của chúng nếu nó nằm trong cùng thư mục. Ví dụ: nếu người dùng đang ~/sử dụng thiết bị đầu cuối, anh ta có thể truy cậpmy_script tệp bằng cách sử dụng chỉ my_script.

Ngoài ra, người ta có thể truy cập các thư mục và tệp bằng cách chỉ sử dụng tên của họ, nếu chúng được đặt ở biến PATH của anh ta. Bạn có thể thấy những gì được lưu trữ trong PATH bằng cách sử dụngecho $PATH .

Các ví dụ đơn giản về cách truy cập tệp bằng dòng lệnh:

  • Người dùng hiện đang ở /home/USERNAME/và muốn sử dụng catlệnh trên một tệp có /home/USERNAME/Documentstên foo.txt:

cat Documents/foo.txt

  • Người dùng ở bên trong ~/Documentsvà muốn chạy một tập lệnh có tên là foo.shquảng cáo định vị ~/Scripts/Foo:

    sh ../Scripts/Foo/foo.sh

    hoặc là

    sh ~/Scripts/Foo/foo.sh

bởi tất cả có nghĩa đây chỉ là một bản tóm tắt.

Thêm thông tin


2

Tên đường dẫn đầy đủ là đường dẫn từ thư mục gốc (nghĩa là /). ./my_scriptlà tên đường dẫn tương đối, bởi vì đường dẫn được cung cấp tương đối cho thư mục hiện tại, được ký hiệu là .. Vì vậy, nếu bạn đang ở trong thư mục nhà của bạn, đường dẫn đầy đủ là s.th. như /home/sosytee/my_script. Đối với thư mục nhà của bạn có "lối tắt" ~, nghĩa là bạn cũng có thể viết ~/my_script. Nhưng điều đó tất nhiên sẽ giải quyết một con đường khác nhau cho mỗi người dùng.

Để xem đường dẫn đầy đủ của cuộc gọi thư mục hiện tại của bạn pwd.


2

Tôi giả sử tên đường dẫn đầy đủ là ./my_script

Không có nó không phải là. Con đường đó là tương đối. Điểm ở đầu chỉ ra thư mục hiện tại:

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

Như bạn có thể thấy, tôi đã thay đổi thư mục và my_scriptkhông tìm thấy, điều đó có nghĩa đó ./my_scriptkhông phải là một đường dẫn tuyệt đối.

Tôi giả sử tên đường dẫn đầy đủ là ./my_script, có nghĩa là nó nằm trong thư mục gốc, nhưng tôi không chắc chắn.

Từ Wikipedia :

[...] Đường dẫn đầy đủ hoặc đường dẫn tuyệt đối là đường dẫn trỏ đến cùng một vị trí trên một hệ thống tệp bất kể thư mục làm việc hoặc đường dẫn kết hợp.

./my_scriptkhông điền vào điều kiện là bất cứ khi nào tôi có thể tìm thấy my_scripttệp , chúng ta nên suy ra đó là một đường dẫn tương đối.

Một đường dẫn tương đối là một đường dẫn tương đối đến thư mục làm việc của người dùng hoặc ứng dụng, vì vậy đường dẫn tuyệt đối đầy đủ sẽ không cần phải được đưa ra.


0

Ở đây ... tôi giả sử bạn đang hỏi vì bạn đã cài đặt máy chủ Ubuntu trên windows ...

sao chép mã này vào thư mục explorer của bạn trên windows %userprofile%\AppData\Local\Packages

nó sẽ hiển thị cho bạn vị trí nhà ... nó ẩn ở đâu đó trên hệ thống của bạn

Trong thư mục này, bấm đúp vào thư mục cho bản phân phối Linux có tệp bạn muốn xem:

  1. Ubuntu: CanonicalgroupLrict.UbfoxonWindows_79rhkp1fndgsc
  2. openSUSE Leap 42: 46932SUSE.openSUSELeap42.2_022rs5jcyhyac
  3. SUSE Linux Enterprise Server 1246932SUSE.SUSELinux EntrypriseServer12SP2_022rs5jcyhyac

Tên của các thư mục này có thể thay đổi một chút trong tương lai. Chỉ cần tìm một thư mục được đặt tên theo bản phân phối Linux.

nhà của bạn sẽ ở dưới LocalState\rootfs\home

Hầu hết các thông tin này được lấy từ Cách truy cập các tệp Ubuntu Bash của bạn trong Windows (và Ổ đĩa hệ thống Windows của bạn trong Bash)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.