ความแตกต่างระหว่าง "dir" และ "ls" คืออะไร?


17

ฉันได้เมื่อเทียบกับหน้าคนของdirและlsและพวกเขาดูเหมือนจะตรงเดียวกัน ทั้งสองเป็นส่วนหนึ่งของ GNU coreutils และ "รายการเนื้อหาไดเรกทอรี"

ความแตกต่างเพียงอย่างเดียวที่ฉันเคยเห็นคือมันdirไม่ได้ทำให้สีออกมาสดใส

เหตุใดจึงมีสองคำสั่งอยู่? มีความแตกต่างที่ฉันพลาดหรือไม่? ทำไมจะชอบdirมากกว่าls?


8
อย่างใดอย่างหนึ่งจะไม่! ที่เคย!
Bananguin

คำตอบ:


20

ฉันจะมีความโน้มเอียงที่จะคิดว่าdirจะมีเพียงสำหรับการทำงานร่วมกันหลัง

จากGNU Coreutils :

dir เทียบเท่ากับ ls -C -b; นั่นคือโดยไฟล์เริ่มต้นมีการระบุไว้ในคอลัมน์เรียงตามแนวตั้งและอักขระพิเศษจะถูกแสดงด้วยลำดับการหลบหนีแบคสแลช

โดยวิธีการที่lsไม่ colorize การส่งออกโดยค่าเริ่มต้น: นี้เป็นเพราะ distros ที่สุดนามแฝงlsไปในls --color=auto /etc/profile.dสำหรับการทดสอบให้พิมพ์unalias lsจากนั้นลองls: จะไม่มีสี


6
dirไม่ได้ให้ไว้สำหรับความเข้ากันได้ย้อนหลัง แต่lsทำงานในแบบที่มันทำเพื่อความเข้ากันได้แบบย้อนกลับ (และเนื่องจากผู้ใช้จำนวนมากต้องการให้ทำงานในลักษณะนั้น) และdirมีให้เป็นทางเลือกซึ่งนักพัฒนา GNU พิจารณาโดยทั่วไปแล้วดีกว่าเพราะเอาท์พุทไม่ขึ้นกับอุปกรณ์ ดู4.5 มาตรฐานการเชื่อมต่อโดยทั่วไปในGNU มาตรฐานการเข้ารหัสและคำตอบของฉันไปที่คำถาม AUสำหรับรายละเอียด
Eliah Kagan

8

dirไม่ใช่คำสั่งมาตรฐาน Unix แต่อาจเป็นเพียงนามแฝง / โคลนเพื่อให้ผู้ใช้ Windows (DOS) มีความคุ้นเคย (และอาจเป็น VAX-VMS และ OS อื่น ๆ ที่dirเคยใช้แสดงรายการไฟล์)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.