ความคาดหวังของคุณขึ้นอยู่กับ DOS Think / Windows Think และผิด บน MS-DOS, Windows, และระบบปฏิบัติการ IBM / Microsoft อื่น ๆ , การขยายไวด์การ์ดจะทำโดยคำสั่งเอง, และสิ่งต่าง ๆ เช่น/a
ตัวเลือกของdir
คำสั่งจะทำหน้าที่เป็นตัวกรองแอ็ตทริบิวต์ระหว่างการขยายไวด์การ์ด dir
ขยาย wildcards เช่น*
ซึ่งตัวแปลคำสั่งส่งผ่านไปตามที่เป็นอยู่และหาก/a
มีการระบุจะใช้ตัวกรองที่เหมาะสมกับสิ่งที่ถูกส่งคืน (ในบางระบบปฏิบัติการตัวกรองแอ็ตทริบิวต์สามารถกำหนดให้กับการเรียกระบบสำหรับการแจงนับไดเรกทอรีและเคอร์เนลระบบปฏิบัติการหรือไดรเวอร์ระบบไฟล์ของมัน
บน Unices และบน Linux การขยาย wildcard จะดำเนินการโดยเชลล์และไม่อนุญาตให้ใช้สิทธิ์ คุณทำในรูทไดเร็กทอรีเมื่อใด
ls *
สิ่งที่ls
คำสั่งเองได้รับจากเชลล์คืออะไร (คล้าย)
ls bin home opt var boot dev tmp ฯลฯ หายไป + พบ root usr
สิ่งที่-d
/ --directory
ตัวเลือกไม่ถูกปิดสิ่งที่เกิดขึ้นตามปกติต่อไป สิ่งที่เกิดขึ้นตามปกติถัดไปคือls
ดูที่อาร์กิวเมนต์แต่ละตัวแล้วเห็นว่าพวกมันเป็นไดเรกทอรีและตัดสินใจที่จะแจกแจงเนื้อหา สำหรับอาร์กิวเมนต์ที่ชื่อไฟล์มันพิมพ์ข้อมูลสำหรับตัวไฟล์เอง ด้วย-d
ตัวเลือกไดเรกทอรีจะได้รับการปฏิบัติเหมือนไฟล์ ดังนั้นls
พิมพ์ข้อมูลสำหรับแต่ละไดเรกทอรีที่ส่งผ่านเป็นอาร์กิวเมนต์เช่นเดียวกับที่ทำถ้าเป็นไฟล์
ดังนั้นจึง-d
ไม่ใช่ตัวเลือก "พิมพ์เฉพาะไดเรกทอรี" ในความเป็นจริงไม่เพียง แต่จะไม่มีตัวเลือกดังกล่าว มีไม่สามารถเป็นตัวเลือกดังกล่าว การขยายตัวของ Wildcard นั้นทำโดยเชลล์และ (ใน POSIX sh
อย่างน้อย) ไม่มีวิธีที่จะบอกเชลล์ให้ตรวจสอบการอนุญาตและบิตประเภทไฟล์เมื่อมันขยาย*
เข้าไปในรายการชื่อ ที่จะได้รับรายชื่อของไดเรกทอรีเพียงอย่างเดียวก็เป็นสิ่งที่จำเป็นอย่างใดอย่างหนึ่งที่จะใช้find
คำสั่งตามที่อธิบายไว้โดยztank1013
หรือเพื่อใช้เคล็ดลับที่ชื่อพา ธ ที่ลงท้ายด้วยการเฉือนหมายถึงรายการไดเรกทอรีตามที่อธิบายไว้โดย.
Jin
( Jin
เล่ห์เหลี่ยมของมันจบลงด้วยls
คำสั่งที่รับอาร์กิวเมนต์
ls bin / home / opt / var / boot / dev / tmp / etc / lost + found / root / usr /
เนื่องจากรูปแบบ*/
นั้นเป็นจริงในการจับคู่ชื่อพา ธ ที่มีสององค์ประกอบส่วนที่สองว่างเปล่าและดังนั้นจึงไม่ค่อยทำสิ่งที่ต้องการ โดยเฉพาะอย่างยิ่งมันจะจัดการลิงก์สัญลักษณ์ที่ชี้ไปยังไดเรกทอรีราวกับว่าเป็นไดเรกทอรี)
พฤติกรรมของการls -d
ไม่มี*
เป็นส่วนขยายที่ง่ายของข้างต้น หนึ่งก็มีที่จะรู้ว่าสิ่งหนึ่งที่เพิ่มเติมเกี่ยวกับls
: .
เมื่อมันจะได้รับการขัดแย้งใดจะอนุมานว่าอาร์กิวเมนต์เริ่มต้นของ ตอนนี้ได้โดยไม่ต้อง-d
ตัวเลือกพฤติกรรมดังกล่าวจะนำไปสู่เนื้อหาของไดเรกทอรีชื่อโดย.
การระบุและข้อมูลสำหรับเนื้อหาที่แสดง ด้วย-d
ตัวเลือกไดเรกทอรี.
ได้รับการปฏิบัติเช่นเดียวกับถ้ามันเป็นไฟล์และข้อมูลของตัวเองจะปรากฏมากกว่าเนื้อหาแจกแจง