หาก ls แสดงรายการเนื้อหาของไดเรกทอรีปัจจุบันมีคำสั่งที่คล้ายกันที่แสดงรายการเนื้อหาของไดเรกทอรีปัจจุบันหรือไม่โดยไม่ใช้ cd?
หาก ls แสดงรายการเนื้อหาของไดเรกทอรีปัจจุบันมีคำสั่งที่คล้ายกันที่แสดงรายการเนื้อหาของไดเรกทอรีปัจจุบันหรือไม่โดยไม่ใช้ cd?
คำตอบ:
หลังจากls
เพียงพิมพ์เส้นทางของไดเรกทอรีที่คุณต้องการแสดงรายการและคุณจะได้รับมัน ลองนึกภาพคุณอยู่ในไดเรกทอรีบ้านของคุณ /etc
แต่ต้องการไปยังรายการ เพียงแค่เรียกใช้ls /etc
และคุณจะได้รับมันไว้
ls
จะทำเช่นนี้
ไวยากรณ์สำหรับls
คือ:
ls flags file-or-directory-names
สำหรับสิ่งที่ฉันกำลังเรียกfile-or-directory-names
คุณสามารถแสดงรายการไฟล์ในไดเรกทอรีปัจจุบันเพื่อให้มีไฟล์บางรายการเท่านั้น ตัวอย่างเช่นls -l foo bar
จะแสดงข้อมูลเกี่ยวกับ just foo
และbar
(ในรูปแบบยาวตามที่ฉันกำหนด-l
แฟล็ก) ls baz*go
จะแสดงรายการไฟล์ทั้งหมดที่มีชื่อขึ้นต้นbaz
และลงท้ายด้วยgo
(ถ้ามี)
แต่เมื่อคุณให้ชื่อไดเรกทอรีที่จะls
ก็จะแสดงรายการเนื้อหาของไดเรกทอรีที่แทนของไดเรกทอรีปัจจุบัน
ดังนั้นเพื่อแสดงรายการเนื้อหาของ/var/log
คุณก็จะเรียกใช้:
ls /var/log
หากคุณให้เส้นทางสัมพัทธ์สำหรับไดเรกทอรีนั่นคือเส้นทางที่ไม่ได้ขึ้นต้นด้วย - จาก/
นั้นจะค้นหาไดเรกทอรีนั้นในไดเรกทอรีปัจจุบัน (เช่นเดียวกับที่ค้นหาไฟล์) แต่มันจะยังคงแสดงรายการเนื้อหาของไดเรกทอรีตามที่คุณต้องการ
เป็นหมายเหตุด้านข้างบางครั้งคุณอาจพบว่าคุณไม่ต้องการแสดงรายการเนื้อหาของไดเรกทอรี แต่เพียงแสดงรายการไดเรกทอรีเหมือนกับไฟล์ที่จะแสดงรายการ ในการทำเช่นนี้คุณสามารถส่งผ่าน-d
ธง ตัวอย่างเช่นสิ่งนี้แสดง/var/log
ในรูปแบบยาว (ไม่ใช่เนื้อหาแต่เป็นของ/var/log
ตัวเอง):
ls -ld /var/log
ls baz*go
เป็นตัวอย่างของการls
รับ (อาจ) หลายอาร์กิวเมนต์สำหรับfile-or-directory-names
(และด้วยวิธีนี้คล้ายกับls foo bar
)
ls
จะไม่รับผิดชอบต่อการขยายbaz*go
ไปยังไฟล์ทั้งหมดที่ขึ้นต้นbaz
และจบด้วยgo
- มันคือเชลล์ที่ทำสิ่งนี้