lstùy chọn --group-directories-firstlàm cho các thư mục được liệt kê ở trên cùng, điều này làm cho đầu ra của lsđẹp và sạch:
ls -l --group-directories-first
Tuy nhiên, nó không hoạt động symlinks, mà thực sự là các symlinksthư mục. Có khả năng sử dụng
ls -l -L --group-directories-first
trong đó sẽ liệt kê cả hai loại thư mục trên đầu, nhưng sẽ không phân biệt giữa thư mục phù hợp và thư mục symlinked, một lần nữa gây nhầm lẫn.
Có thể lshiển thị các thư mục symlinked trên đầu, trong khi vẫn giữ chúng khác biệt với các thư mục thông thường?
EDIT: 
Tôi đang sử dụng bash.
lskhông lstat()(và readlinkđối với các liên kết tượng trưng) trừ khi bạn sử dụng -Ltùy chọn (trong trường hợp đó là sử dụng stat())
                S_ISLNK(st_mode)cũng trở lại đúng thông qua stat(), nhưng nó không - nó chỉ làm như vậy thông qua lstat(). Ngoài ra, ISLNK không trả về true qua stat ngay cả khi liên kết là liên kết đến liên kết. Có nghĩa là điều đó ISLNKcó thể không bao giờ trả lại đúng thông qua stat, mặc dù đó là loại không xác định ...
                statcung cấp cho bạn các thuộc tính của tệp ở cuối (các) symlink. Nếu điều đó không tồn tại hoặc không thể truy cập được, thì stattrả về ENOENT, vì vậy những gì được trả về statsẽ không bao giờ là liên kết tượng trưng. stat()sẽ không bao giờ cho bạn biết bất cứ điều gì về liên kết tượng trưng, giống như opensẽ không bao giờ mở liên kết tượng trưng hoặc chmod()sẽ không thay đổi quyền của liên kết tượng trưng ... vv
                
ls. Theostat()cuộc gọi hệ thống, một liên kết tượng trưng đến một thư mục vẫn là một thư mục (S_ISDIR(st_mode)sẽ trả về đúng). Rõ rànglsgiảm giá các liên kết tượng trưng trước khi nó kiểm tra điều này.