Câu trả lời:
Nếu bạn muốn có thể phân biệt các thư mục từ các tệp một cách dễ dàng, hãy sử dụng một cái gì đó như ls -alhF
. Tôi thường định nghĩa l
như một bí danh cho điều đó, tức là. Tôi đặt dòng alias l='ls -alhF'
trong của tôi .bashrc
.
để liệt kê các thư mục chỉ thử: ls -d */
-d
danh sách thư mục chính họ, không phải nội dung của họ. Để giải thích điều này, hãy xem xét những gì xảy ra nếu chúng ta gõ
ls */
.ls
đi xuống một lớp, vào từng thư mục con và liệt kê tất cả các tệp trong mỗi tệp đó một cách tuần tự
Nguồn: man ls
*/
*/
được gọi là "toàn cầu" trong UNIX. (xem Wikipedia để biết thêm chi tiết). Nhưng về cơ bản, nó có nghĩa là "bất kỳ tên tệp nào kết thúc bằng dấu gạch chéo về phía trước." Trong UNIX, các thư mục thực sự chỉ là các tệp, về cơ bản. Nhưng chúng được đặt tên đặc biệt kết thúc bằng một dấu gạch chéo về phía trước để hệ điều hành biết chúng là các thư mục (hoặc thư mục, theo cách nói hàng ngày). Và dấu hoa thị *
về mặt kỹ thuật là ký tự đại diện cho "bất kỳ chuỗi ký tự nào".
Đoạn này sẽ không liên quan cụ thể đến câu hỏi của bạn , nhưng nếu bạn chưa bao giờ đọc về điều này, sẽ rất tốt để xem nó. Globs khác với Biểu thức thông thường, như (một phần) đã giải thích trong Sự khác biệt giữa Biểu thức chính quy và Globbing là gì? Đã có toàn bộ sách được viết trên các biểu thức thông thường, nhưng tl; dr có một loạt các cách khác nhau để mã hóa các biểu thức khớp mẫu.
Vì tôi là một người dùng rất thiếu kinh nghiệm nên tôi thích trang web này . Nó cho bạn biết tất cả những gì bạn muốn biết về các lệnh bash, trong một số trường hợp, nó thậm chí còn cung cấp cho bạn các ví dụ. Rất hữu ích.
Trong trường hợp của bạn:
ls
liệt kê các tập tinls -a
bao gồm các tập tin ẩnls -l
cho một định dạng danh sách dàils -al | grep ^d
bao gồm các tệp ẩn '-a' grep ^ d bắt đầu với 'd' wich có nghĩa là thư mục khi tên bắt đầu bằng thư mục dấu chấm bị ẩn
để liệt kê đệ quy thấy điều này
find ./ -type d | less
./ ..................... means starts find in current folder
-type .................. indicates the type to be searched
d ...................... means directory
| ...................... redirects the command
less ................... enables paging using the keyboard arrows and leave with q
ls -1 -d */
Ở đâu
-1
liệt kê một thư mục trên mỗi dòng.
Để xem các thư mục thư mục nhà, ls
lệnh là đủ - điều này sẽ giữ cho nó đơn giản.
$ ls
Desktop Downloads hadoop Pictures Templates
Documents examples.desktop Music Public Videos
Bạn thậm chí có thể chỉ định nhiều thư mục ls ~ /usr
$ ls ~ /usr
/home/hadoop1:
Desktop Downloads hadoop Pictures Templates
Documents examples.desktop Music Public Videos
/usr:
bin games include lib local locale sbin share src
Để có được đầu ra ở định dạng dài, chúng ta có thể sử dụng -l
tùy chọn
$ ls -l
total 48
drwxr-xr-x 2 hadoop1 hadoop1 4096 Jul 1 2017 Desktop
drwxr-xr-x 2 hadoop1 hadoop1 4096 Jul 1 2017 Documents
drwxr-xr-x 2 hadoop1 hadoop1 4096 Jul 1 2017 Downloads
-rw-r--r-- 1 hadoop1 hadoop1 8980 Jul 1 2017 examples.desktop
drwxr-xr-x 10 hadoop1 hadoop1 4096 Jul 1 2017 hadoop
drwxr-xr-x 2 hadoop1 hadoop1 4096 Jul 1 2017 Music
drwxr-xr-x 2 hadoop1 hadoop1 4096 Jul 1 2017 Pictures
drwxr-xr-x 2 hadoop1 hadoop1 4096 Jul 1 2017 Public
drwxr-xr-x 2 hadoop1 hadoop1 4096 Jul 1 2017 Templates
drwxr-xr-x 2 hadoop1 hadoop1 4096 Jul 1 2017 Videos