Các biểu tượng được hiển thị bởi ls -F có nghĩa là gì?


61

Tôi nhận thấy rằng nếu tôi chạy ls -F trên một thư mục, một số mục có dấu * hoặc @ sau chúng.

spuder@ubuntu:~$ ls -F /sbin
acpi_available*   getpcaps*           lvmconf*                 ntfscp*        start-stop-daemon*
agetty*           getty*              lvmdiskscan@             ntfslabel*     status@
alsa*             halt@               lvmdump*                 ntfsresize*    stop@
alsactl*          hdparm*             lvmsadc@    

spuder@ubuntu:~$ ls -F ~
daq-0.6.1/  examples.desktop       noname-cache.lib  snort-2.9.1/   Templates/
Desktop/    jpgraph-1.27.1/        noname.sch        snortfiles/    Ubuntu One/
Documents/  

Theo trang ls man

spuder@ubuntu:~$ man ls
...
-F, --classify
  append indicator (one of */=>@|) to entries
...

Tôi đoán đó @có nghĩa là liên kết tượng trưng,

Những chỉ số khác này có nghĩa là gì ( */=>@|)?


2
Bạn đã nghĩ đến việc nhìn vào trang người đàn ông?
mdpc

23
Anh ấy có. Trong thực tế, ông đã đăng một đoạn trích từ trang web. lsTài liệu đầy đủ , bao gồm thông tin về các biểu tượng được hiển thị bởi ls -F, có trong hướng dẫn Texinfo. ( info ls).

1
Mặt khác, vì hướng dẫn sử dụng Texinfo thường cảm thấy lạ và lạ, nên việc sử dụng các chức năng như thế này là phổ biến infos () { info --vi-keys --subnodes -o - "$@" | less; }.

1
@EvanTeitelman Đây là thông tin tuyệt vời, tôi sẽ ghi info foo --vi-keysnhớ. Thật không may, cú pháp mà bạn đề cập không hoạt động đối với tôi (infos () {thông tin --vi-key ...}
spuder

1
@spuder: Đó là một chức năng; bạn phải gọi nó infos ls. Phần này $@chuyển tất cả các đối số của hàm sang info. Bạn có thể đặt chức năng này trong ~/.bashrctập tin của bạn để sử dụng sau.

Câu trả lời:


67

ls -Fgắn các biểu tượng vào tên tập tin Những biểu tượng này cho thấy thông tin hữu ích về các tập tin.

Nếu bạn muốn hành vi này là mặc định, hãy thêm hành vi này vào cấu hình shell của bạn : alias ls='ls -F'.


10
không Realias lệnh, nó có thể phá vỡ các kịch bản viết xấu. Tôi có bí danh lđể có -F và màu sắc, và llcũng có -l
ctrl-alt-delor

Trên Android tôi nhận được một đầu ra hoàn toàn hai cột. Tôi nhận được tên tệp hoặc tên thư mục và TRƯỚC tên có một dấu trừ nếu đó là tệp hoặc "d" nếu đó là thư mục hoặc "ld" nếu đó là liên kết. Đó là một thảm họa mà Linux rất không phù hợp!
Elmue

1

Chỉ cần thêm cách tôi tìm thấy thông tin này. Như được chỉ ra ở dưới cùng của man ls:

Tài liệu đầy đủ tại: https://www.gnu.org/software/coreutils/ls hoặc có sẵn tại địa phương thông qua: thông tin '(coreutils) ls invocation'

Theo dõi điều này, chúng ta thấy

'-F' '- classify' '--indicator-style = classify' Nối một ký tự vào mỗi tên tệp cho biết loại tệp. Ngoài ra, đối với các tệp thông thường có thể thực thi được, hãy thêm '*'. Các chỉ báo loại tệp là '/' cho các thư mục, '@' cho các liên kết tượng trưng, ​​'|' đối với FIFO, '=' cho ổ cắm, '>' cho cửa ra vào và không có gì cho các tệp thông thường. Không theo các liên kết tượng trưng được liệt kê trên dòng lệnh trừ khi các tùy chọn --dereference-Command-line (-H), --dereference (-L) hoặc --dereference-Command-line-symlink-to-dir được chỉ định.

trên https://www.gnu.org/software/coreutils/manual/coreutils.html#ls-invocation

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.