หาก 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- มันคือเชลล์ที่ทำสิ่งนี้