ฉันจะแสดงรายการไฟล์ในไดเรกทอรีอื่น ๆ (ไม่หมุนเวียน) ได้อย่างไร


10

หาก ls แสดงรายการเนื้อหาของไดเรกทอรีปัจจุบันมีคำสั่งที่คล้ายกันที่แสดงรายการเนื้อหาของไดเรกทอรีปัจจุบันหรือไม่โดยไม่ใช้ cd?

คำตอบ:


12

หลังจากlsเพียงพิมพ์เส้นทางของไดเรกทอรีที่คุณต้องการแสดงรายการและคุณจะได้รับมัน ลองนึกภาพคุณอยู่ในไดเรกทอรีบ้านของคุณ /etcแต่ต้องการไปยังรายการ เพียงแค่เรียกใช้ls /etcและคุณจะได้รับมันไว้


6

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ไปยังไฟล์ทั้งหมดที่ขึ้นต้นbazและจบด้วยgo- มันคือเชลล์ที่ทำสิ่งนี้
krlmlr

@krlmlr ถูกต้องls baz*goเป็นตัวอย่างของการlsรับ (อาจ) หลายอาร์กิวเมนต์สำหรับfile-or-directory-names(และด้วยวิธีนี้คล้ายกับls foo bar)
Eliah Kagan
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.