เข้าถึงและดำเนินการคำสั่งในไดเร็กทอรีใดก็ได้โดยไม่ต้องออกจากไดเร็กทอรีปัจจุบันด้วย './' ในเทอร์มินัล
สำหรับผู้ที่ชื่นชอบคอนโซลทุกท่าน ./
อาจดูเหมือนค่อนข้างคุ้นเคย เป็นหนึ่งในสิ่งที่ยอดเยี่ยมมากมายเกี่ยวกับ Linux ที่ทำให้ใช้งานได้ง่ายจากเทอร์มินัล
ถ้าไม่รู้อะไร ./
หมายความว่าเราได้มีคุณครอบคลุม บทความนี้จะอธิบายโดยละเอียดว่าคืออะไร ./
ในลินุกซ์หมายถึงอะไรและมันทำอะไรในระบบลินุกซ์
หมายความว่า ./
ตรงประเด็น
ความหมายง่ายๆ ของ ./
เป็น 'ไดเรกทอรีปัจจุบัน'. มันง่ายอย่างนี้ แต่เดี๋ยวก่อน มันมีมิติที่มีประโยชน์และน่าสนใจมากกว่า
สำหรับผู้ที่ชื่นชอบคอนโซลทุกคน รายละเอียดเล็กน้อยในนี้ ./
สัญลักษณ์มีความสำคัญมากและเฉพาะเจาะจงกับลำดับชั้นผู้ใช้ซึ่งอาจไม่มีใครสังเกตเห็นหลายครั้งโดยผู้ใช้ Linux มือใหม่
เมื่อใดก็ตามที่คุณใช้ Linux จากบรรทัดคำสั่ง คุณจะอยู่ที่ใดที่หนึ่งในลำดับชั้นของระบบไฟล์ เมื่อคุณทำงานในฐานะผู้ใช้ที่ไม่ใช่รูท ส่วนใหญ่มักจะอยู่ในโฮมไดเร็กทอรีของคุณ
คุณอาจต้องจัดการกับไฟล์ที่อยู่นอกไดเร็กทอรีปัจจุบันของคุณโดยไม่คำนึงถึงว่าไดเร็กทอรีปัจจุบันของคุณคืออะไร ดังนั้นการเปลี่ยนไดเร็กทอรีเป็นครั้งคราวอาจเป็นงานที่น่าเบื่อ เพื่อให้ง่ายขึ้นโดยใช้ ./
สามารถพิสูจน์ได้ว่าเป็นวิธีที่มีประสิทธิภาพในการจัดการและแก้ไขไฟล์หลายไฟล์จากไดเร็กทอรีปัจจุบันของคุณ คุณไม่จำเป็นต้องเปลี่ยนไดเร็กทอรีหลายครั้งซึ่งจะช่วยประหยัดเวลาและเป็นวิธีที่ได้ผล
เข้าใจ ./ เป็นชิ้นๆ
มาลองทำความเข้าใจความหมายของ .กัน ./
ในส่วนที่แยกจากกันของ .
(จุด) และ /
(เฉือน).
.
(จุด):- ด้วยบริบทของคำถามที่เรากำลังพูดถึงในบทความนี้ the .
(จุด) ก็หมายถึง 'ไดเรกทอรีปัจจุบันของผู้ใช้‘.
ตัวอย่าง:
gauravv@ubuntu:~$ ls -al total 179572 drwxr-xr-x 86 gauravv gauravv 266240 12 ก.ย. 09:10 น. drwxr-xr-x 4 root root 4096 Sep 4 18:29 .. drwxr-xr-x 2 gauravv gauravv 65536 15 ก.ค. 2018 100CANON
ในโค้ดด้านบน ในบรรทัดที่ไฮไลต์ คุณจะเห็นจุด (.)
ในตอนท้าย ซึ่งหมายความว่านี่คือไดเร็กทอรีปัจจุบันของฉัน
/
(เฉือน):- เมื่อเราต่อท้าย a /
(เฉือน) ถึง .
(จุด) ทำให้แน่ใจว่าคุณไม่ได้ใช้งานไฟล์ เหมือนกับการต่อท้าย /
ไปยังชื่อไดเร็กทอรีอื่น
ความเข้าใจ ./
ด้วยตัวอย่าง
ให้เรายกตัวอย่างและทำความเข้าใจ ./
พร้อมคำชี้แจงเพิ่มเติม
สมมติว่าคุณต้องการใช้ นาโน
โปรแกรมแก้ไขข้อความ (โปรแกรมแก้ไขข้อความสำหรับคอนโซล) แทนโปรแกรมแก้ไขข้อความแบบกราฟิก คุณจะทำงานบนคอนโซลได้อย่างสมบูรณ์ เมื่อคุณเริ่มทำงานกับเอดิเตอร์ คุณจะถูกจัดให้อยู่ใน หน้าแรก ไดเรกทอรี โดยค่าเริ่มต้น.
แต่สมมติว่าเอกสารที่คุณต้องการแก้ไขอยู่ในไดเร็กทอรีอื่น มีไดเร็กทอรีชื่อ ช่องว่าง และนี่คือเอกสารของคุณ cool.txt. ดังนั้นเส้นทางที่ตั้งของสิ่งนี้ cool.txt ไฟล์กลายเป็น '/home/gaurav/space/cool.txt‘.
ในการเปิดไฟล์นี้ใน นาโน
, คุณสามารถพิมพ์ . ได้อย่างแน่นอน ซีดี
[Directory_name_where_file_located]
แล้วก็ นาโน cool.txt
.
แต่เพื่อให้มีประสิทธิภาพและง่ายขึ้น เราก็แค่พิมพ์ นาโน ./space/cool.txt
.
ดูผลลัพธ์ด้านล่างเพื่อให้เข้าใจตัวอย่างมากขึ้น
gaurav@ubuntu:~$ pwd /home/gaurav gaurav@ubuntu:~$
ที่นี่โฮมไดเร็กทอรีคือ '/home/gaurav'. และไฟล์ที่จะแก้ไข (cool.txt) ตั้งอยู่ที่ '/home/gaurav/space‘.
แต่สมมุติว่าฉันไม่ต้องการเปลี่ยนไดเร็กทอรีปัจจุบันของฉัน (/home/gaurav) และทำงานโดยตรงจากโฮมไดเร็กตอรี่ของฉัน ฉันจะทำดังนี้
gaurav@ubuntu:~$ nano ./space/cool.txt GNU nano 2.9.3 ./space/cool.txt Modified สวัสดี ฉันชื่อโทนี่ สตาร์ค ฉันเป็นซูเปอร์ฮีโร่
gaurav@ubuntu:~$ cat ./space/cool.txt สวัสดี ฉันชื่อโทนี่ สตาร์ค ฉันเป็นซูเปอร์ฮีโร่ gaurav@ubuntu:~$
ที่นี่ฉันแก้ไขไฟล์จากโฮมไดเร็กทอรีของฉันเองโดยไม่เปลี่ยนเส้นทาง
ประโยชน์หลักของการใช้ ./
คือถ้าคุณไม่ต้องการออกจากโฟลเดอร์ปัจจุบัน คุณยังสามารถจัดการไฟล์รอบตัวคุณได้
ถ้าคุณพิมพ์อย่างเดียว นาโน cool.txt
, คุณจะเป็นผู้บังคับบัญชา นาโน
เพื่อเปิดไฟล์ในโฮมไดเร็กทอรี (/home/gaurav) มันจะส่งคืนข้อผิดพลาดเนื่องจากไฟล์ไม่มีอยู่ในโฮมไดเร็กทอรี และนั่นคือเหตุผลที่คุณใช้ นาโน ./space/cool.txt
รันโปรแกรมด้วย ./
./
สามารถใช้เพื่อเรียกใช้ไฟล์ปฏิบัติการของโปรแกรมได้ เราจะเข้าใจสิ่งนี้ด้วยตัวอย่าง
ถ้าฉันต้องการเรียกใช้โปรแกรม C ใน my $PATH
(ใช้ เสียงสะท้อน $PATH
คำสั่งเพื่อรับ PATH ของคุณ) ฉันจะคอมไพล์โปรแกรม C ในการคอมไพล์ ไฟล์เรียกทำงานชื่อ ก.ออก
จะถูกสร้างขึ้นในไดเร็กทอรีปัจจุบัน เพื่อรันโปรแกรมนี้ ฉันจะเรียกใช้ไฟล์ปฏิบัติการ ก.ออก
. ในการรันโปรแกรม C นี้ ผมจะพิมพ์ ./a.out
เพื่อรันโปรแกรม C
gaurav@ubuntu:~/space$ sudo gcc demo.c [sudo] รหัสผ่านสำหรับ gaurav: gaurav@ubuntu:~/space$ ./a.out gaurav@ubuntu:~/space$
ในบริบทนี้ นำหน้าคำสั่งด้วย ./
พูดได้อย่างมีประสิทธิภาพว่า "ลืมเกี่ยวกับ PATH ฉันต้องการให้คุณดูเฉพาะในไดเร็กทอรีปัจจุบัน"
ในทำนองเดียวกัน คุณสามารถสั่งให้ระบบค้นหาเฉพาะตำแหน่งอื่นโดยเติมคำสั่งด้วยพาธสัมพัทธ์หรือพาธสัมบูรณ์ เช่น:
../
หมายถึงไดเรกทอรีหลักหรือ ./work/demo.c
ซึ่งหมายความว่ามองหาไฟล์ demo.c ในไดเร็กทอรีชื่อ งาน.
บทสรุป
“./
“ ใช้ในชื่อพาธเพื่อระบุไดเร็กทอรีปัจจุบัน นอกจากนี้ยังสามารถเรียกใช้สคริปต์จากไดเร็กทอรีการทำงานปัจจุบัน เป็นวิธีปฏิบัติที่ช่วยประหยัดเวลาในการใช้ ./ ใน $PATH ของคุณ เนื่องจากจะช่วยให้คุณแก้ไขไฟล์ที่ไม่ได้อยู่ในไดเร็กทอรีปัจจุบันของคุณ และนั่นก็เช่นกันโดยไม่ต้องออกจากไดเร็กทอรีการทำงานปัจจุบันของคุณ