ทำให้คำสั่ง ls จัดเรียงตามประเภทไฟล์ (เช่นไดเรกทอรีและนามสกุลไฟล์)


15

ฉันจะlsจัดเรียงตามประเภทไฟล์ (เช่นไดเรกทอรีก่อนแล้วตามนามสกุลไฟล์) ได้อย่างไร คำตอบข้อเสนอแนะใน(Super User) LS ทำให้การจัดเรียงตามประเภทไฟล์lsผลในข้อผิดพลาดที่ไม่รู้จักตัวเลือกจาก


2
การแก้ไขเล็กน้อยเกี่ยวกับชื่อของคุณ: ls ไม่ใช่คำสั่ง bash; /bin/lsมันเป็นแบบสแตนด์อโลนที่ปฏิบัติการอยู่ที่
bneely

คำตอบ:


21

ตามที่คุณทราบแล้วlsคำสั่งเวอร์ชันดาร์วินไม่สนับสนุน-X | --sort=extensionตัวเลือก ตัวเลือกนี้จะไม่ซ้ำกับรุ่น GNU lsของ

คุณสามารถรับรุ่น GNU lsสำหรับระบบของคุณ วิธีที่ง่ายที่สุดในการทำเช่นนี้คือผ่านตัวจัดการแพ็กเกจHomebrewและระบบการย้ายพอร์ต ด้วยการติดตั้ง Homebrew ทำ:

brew install coreutils

เพื่อเพิ่มแพ็คเกจGNU Core Utilitiesลงในระบบของคุณ ยูทิลิตี้ทั้งหมดจะถูกนำหน้าด้วยgดังนั้นพวกเขาจึงไม่ชนกับค่าเริ่มต้นของดาร์วินที่ OS X มาพร้อมกับ

ด้วยการติดตั้ง GNU Core Utilites ตอนนี้คุณสามารถทำได้:

gls -X

และคุณจะเห็นผลลัพธ์เรียงตามที่คุณต้องการ

หากคุณต้องการใช้ GNU Core Utils แทนยูทิลิตี้ที่มาพร้อมกับ OS X คุณสามารถใส่บรรทัดต่อไปนี้ใน~/.bashrcไฟล์ของคุณ:

source /usr/local/Cellar/coreutils/8.14/aliases

และคุณไม่จำเป็นต้องใช้gคำนำหน้ากับคำสั่งอีกต่อไป ฉันจะบอกว่านี่ไม่ใช่สิ่งที่ปลอดภัยอย่างสิ้นเชิงที่จะทำเพราะอุปกรณ์ GNU บางอย่างแตกต่างจากเครื่องมือทุบตีและดาร์วินในการทำงานของพวกเขาเพียงพอที่จะทำให้สิ่งอื่น ๆ ในเซสชั่นเปลือกของคุณ ดังนั้นทำด้วยความระมัดระวัง


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