ชื่อพา ธ เต็มคืออะไร


21

ฉันต้องการที่จะเข้าใจความหมายของชื่อเต็มพา ธ ฉันมีไฟล์ในโฮมไดเร็กตอรี่ของฉันชื่อ my_script ฉันถือว่าชื่อพา ธ เต็มคือ. / my_script ซึ่งหมายความว่ามันอยู่ในโฟลเดอร์รูท แต่ฉันไม่แน่ใจ ใครบางคนช่วยให้ฉันรู้เรื่องนั้นได้ไหม


คุณสามารถถาม "เป็นไปได้หรือไม่ที่จะเขียนคำสั่งที่จะแสดงรายการไฟล์ที่มีชื่อ?" ในคำถามใหม่อีกหรือไม่
Braiam

คำตอบ:


30

ไม่ข้อสันนิษฐานของคุณผิด ชื่อเส้นทางแบบเต็มสำหรับไฟล์จากไดเรกทอรีบ้านของคุณเป็น:my_script /home/your_user_name/my_scriptเมื่อคุณพิมพ์./my_scriptใน terminal คุณจริงพยายามที่จะรันสคริปต์ (ถ้าเป็นปฏิบัติการ) /home/your_user_name/และมันจะถูกดำเนินการเฉพาะในกรณีที่ไดเรกทอรีที่ทำงานปัจจุบันของคุณ /home/your_user_name/my_scriptการรันสคริปต์ที่คุณยังสามารถใช้เส้นทางไฟล์เต็มซึ่งเป็นที่ผมกล่าวว่า

เป็นที่เชื่อกันว่าชื่อพา ธ UNIX มีลักษณะและความรู้สึกคล้ายกับที่อยู่อินเทอร์เน็ตจึงส่งผลให้เกิดความเข้ากันได้ ชื่อพา ธ เต็มของไดเร็กทอรีการทำงานปัจจุบันสามารถพบได้ในเทอร์มินัลโดยใช้คำสั่งต่อไปนี้:

pwd

หากต้องการค้นหาเส้นทางแบบเต็มสำหรับโฮมไดเรกทอรีผู้ใช้ของคุณคุณสามารถใช้:

echo ~
echo $HOME
echo /home/$USER

คำสั่งสามข้อข้างต้นเทียบเท่ากัน

หากต้องการค้นหาชื่อพา ธ เต็มของไฟล์คุณสามารถใช้readlinkคำสั่ง ตัวอย่างเช่นในกรณีของคุณ:

cd ~
readlink -f my_script

+1 readlinkเผยเส้นทางที่แท้จริงของลิงก์
lamino

7

ชื่อพา ธ เต็มหมายถึงพา ธ เต็มไปยังไฟล์หรือโฟลเดอร์นั้นจาก/ไดเรกทอรีของระบบไฟล์

ตัวอย่างเช่นเส้นทางแบบเต็มไปยังสคริปต์ของคุณคือ:

/home/your_username/my_script

หรือชื่อพา ธ เต็มไปยังgrepไฟล์ที่เรียกทำงานได้คือ

/bin/grep

สำหรับ./my_scriptสัญลักษณ์นั้น.หมายถึงไดเรกทอรีปัจจุบันดังนั้นจริงๆแล้วคุณพูดว่า "ดูภายใต้ไดเรกทอรีปัจจุบันสำหรับไฟล์หรือโฟลเดอร์ชื่อ my_script"


3

ในการทำความเข้าใจเส้นทางแบบเต็มคุณต้องทราบจุดเริ่มต้นก่อน

ไดเร็กทอรีรูท/เป็นจุดเริ่มต้นของระบบปฏิบัติการที่ใช้ * nix มันมีไดเรกทอรีอื่น ๆ ทั้งหมดทั้งระบบและผู้ใช้

โฮมไดเร็กตอรี่ของผู้ใช้/home/USERNAME/หรือ~/ย่อมาจาก, มีไฟล์และไดเร็กตอรี่ของผู้ใช้. สำหรับภาพตัวอย่าง, ฟังเพลง, เอกสาร ฯลฯ แต่ละไดเรกทอรีเหล่านี้จะถูกอ้างอิงเป็นตัวอย่างเอกสารที่ตั้งอยู่ที่/home/USERNAME/DIRECTORY/home/USERNAME/Documents

เช่นเดียวกับไดเรกทอรีไฟล์จะถูกอ้างอิงในลักษณะเดียวกันตัวอย่างเช่นไฟล์ที่มีชื่อmy_scriptอยู่ที่โฮมไดเร็กทอรีของผู้ใช้sosyteeสามารถอ้างอิงได้โดยใช้พา ธ เต็ม/home/sosytee/my_scriptหรือแบบ~/my_scriptย่อ

ทั้งไฟล์และไดเรกทอรีสามารถอ้างอิง / เข้าถึงโดยใช้พา ธ แบบเต็มจากทุกที่ในระบบ นอกจากนี้หนึ่งสามารถเข้าถึงได้โดยใช้ชื่อเท่านั้นหากอยู่ในไดเรกทอรีเดียวกัน ตัวอย่างเช่นหากผู้ใช้ที่~/เมื่อใช้ terminal, เขาสามารถเข้าถึงไฟล์โดยใช้เพียงmy_script my_script

นอกจากนี้หนึ่งสามารถเข้าถึงไดเรกทอรีและไฟล์โดยใช้ชื่อของพวกเขาเท่านั้นหากพวกเขาอยู่ที่ตัวแปร PATH ของเขา echo $PATHคุณสามารถเห็นสิ่งที่อยู่ในเส้นทางของการจัดเก็บโดยใช้

ตัวอย่างง่ายๆเกี่ยวกับวิธีเข้าถึงไฟล์โดยใช้บรรทัดคำสั่ง:

  • ขณะนี้ผู้ใช้อยู่ที่/home/USERNAME/และต้องการใช้catคำสั่งกับไฟล์ที่/home/USERNAME/Documentsชื่อ foo.txt:

cat Documents/foo.txt

  • ผู้ใช้อยู่ข้างใน~/Documentsและต้องการเรียกใช้สคริปต์ที่ระบุตำแหน่งfoo.shโฆษณา~/Scripts/Foo:

    sh ../Scripts/Foo/foo.sh

    หรือ

    sh ~/Scripts/Foo/foo.sh

โดยทั้งหมดหมายความว่านี่เป็นเพียงบทสรุป

ข้อมูลเพิ่มเติม


2

ชื่อเส้นทางแบบเต็มคือเส้นทางจากไดเรกทอรีราก (เช่น/) เป็นชื่อที่ทางญาติเพราะเส้นทางที่ค่อนข้างจะได้รับไปยังไดเรกทอรีปัจจุบันซึ่งมีการแสดงโดย./my_script .ดังนั้นหากคุณอยู่ในโฮมไดเร็กตอรี่ของคุณพา ธ เต็มคือ s.th /home/sosytee/my_scriptเช่น สำหรับไดเรกทอรีบ้านของคุณมี "ทางลัด" ~ซึ่งหมายความว่าคุณยังสามารถเขียน~/my_scriptได้ แต่แน่นอนว่าจะแก้ไขเส้นทางที่แตกต่างกันสำหรับผู้ใช้ทุกคน

pwdหากต้องการดูเส้นทางแบบเต็มของการโทรไดเรกทอรีปัจจุบันของคุณ


2

ฉันถือว่าชื่อพา ธ เต็มคือ. / my_script

ไม่มันไม่ใช่. เส้นทางนั้นสัมพันธ์กัน จุดที่จุดเริ่มต้นบ่งชี้ถึงไดเรกทอรีปัจจุบัน:

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

อย่างที่คุณเห็นฉันเปลี่ยนไดเรกทอรีและmy_scriptไม่พบซึ่งหมายความว่า./my_scriptไม่ใช่เส้นทางที่แน่นอน

ฉันถือว่าชื่อพา ธ เต็มคือ. / my_script ซึ่งหมายความว่ามันอยู่ในโฟลเดอร์รูท แต่ฉันไม่แน่ใจ

จากวิกิพีเดีย :

[... ] เส้นทางแบบเต็มหรือเส้นทางแบบสัมบูรณ์คือเส้นทางที่ชี้ไปยังตำแหน่งเดียวกันบนระบบไฟล์เดียวโดยไม่คำนึงถึงไดเรกทอรีทำงานหรือเส้นทางรวม

เนื่องจากการ./my_scriptไม่เติมเงื่อนไขที่เมื่อใดก็ตามที่ฉันสามารถค้นหาmy_scriptไฟล์ได้เราควรอนุมานว่าเป็นเส้นทางสัมพัทธ์

ญาติเส้นทางคือเส้นทางที่สัมพันธ์กับไดเรกทอรีการทำงานของผู้ใช้หรือประยุกต์ใช้เพื่อให้เส้นทางสัมบูรณ์เต็มรูปแบบจะไม่ต้องได้รับ


0

ที่นี่ ... ฉันถือว่าคุณถามเพราะคุณติดตั้งเซิร์ฟเวอร์ Ubuntu บน windows ...

คัดลอกรหัสนี้ไปที่โฟลเดอร์ explorer ของคุณบน windows %userprofile%\AppData\Local\Packages

ที่จะแสดงตำแหน่งบ้าน ... มันซ่อนอยู่ที่ไหนสักแห่งในระบบของคุณ

ในโฟลเดอร์นี้คลิกสองครั้งที่โฟลเดอร์สำหรับการแจกจ่าย Linux ซึ่งมีไฟล์ที่คุณต้องการดู:

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

ชื่อของโฟลเดอร์เหล่านี้อาจมีการเปลี่ยนแปลงเล็กน้อยในอนาคต เพียงมองหาโฟลเดอร์ที่ตั้งชื่อตามการแจกจ่าย Linux

บ้านของคุณจะอยู่ภายใต้ LocalState\rootfs\home

ข้อมูลส่วนใหญ่ได้มาจากวิธีเข้าถึงไฟล์ Ubuntu Bash ของคุณใน Windows (และไดรฟ์ระบบ Windows ของคุณเป็น Bash)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.