./ หมายถึงอะไรใน Linux?

เข้าถึงและดำเนินการคำสั่งในไดเร็กทอรีใดก็ได้โดยไม่ต้องออกจากไดเร็กทอรีปัจจุบันด้วย './' ในเทอร์มินัล

สำหรับผู้ที่ชื่นชอบคอนโซลทุกท่าน ./ อาจดูเหมือนค่อนข้างคุ้นเคย เป็นหนึ่งในสิ่งที่ยอดเยี่ยมมากมายเกี่ยวกับ 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 ของคุณ เนื่องจากจะช่วยให้คุณแก้ไขไฟล์ที่ไม่ได้อยู่ในไดเร็กทอรีปัจจุบันของคุณ และนั่นก็เช่นกันโดยไม่ต้องออกจากไดเร็กทอรีการทำงานปัจจุบันของคุณ