Chữ @ có nghĩa là gì trong ls -l?


121

Tôi đang sử dụng Mac OSX. Khi tôi gõ ls -ltôi thấy một cái gì đó như

drwxr-xr-x@ 12 xonic  staff    408 22 Jun 19:00 .
drwxr-xr-x   9 xonic  staff    306 22 Jun 19:42 ..
-rwxrwxrwx@  1 xonic  staff   6148 25 Mai 23:04 .DS_Store
-rw-r--r--@  1 xonic  staff  17284 22 Jun 00:20 filmStrip.cpp
-rw-r--r--@  1 xonic  staff   3843 21 Jun 21:20 filmStrip.h

Ý nghĩa của @ là gì?

Câu trả lời:


116

Nó chỉ ra các tập tin có thuộc tính mở rộng . Bạn có thể sử dụng xattrtiện ích dòng lệnh để xem và sửa đổi chúng:

xattr -l file # lists the names of all xattrs.
xattr -w attr_name attr_value file # sets xattr attr_name to attr_value.
xattr -d attr_name file # deletes xattr attr_name.
xattr -c file # deletes all xattrs.
xattr -h # prints help

9
Trong 10.8 (Mountain Lion), --list không hợp lệ. Đó là -l.
Đánh dấu E. Haase

4
nếu bạn muốn tìm tất cả các tệp thuộc loại và xóa attr cách ly trong OSX : find . -iname '*.ext' -print0 | xargs -0 xattr -d com.apple.quarantine. Đó là lý do tại sao tôi tìm thấy câu hỏi này.
jcollum

2
Ngoài ra, đối với SEO: @ là "biểu tượng"
jcollum

Không làm việc cho tôi. Phải sử dụng xattr -d thay vì --delete.
địa lý

2
@jcollum tốt hơn chưa, find . -type f -xattr -print | xargs -0 xattr -d com.apple.quarantine(không chắc -type fcó cần thiết không). Mặc dù vì một số lý do, không có lệnh nào làm việc cho tôi vào lúc này ... Cái này hiệu quả với tôi:find . -type f -xattr -exec xattr -d com.apple.quarantine {} \;
Michael

26

Trong Snow Leopard, ít nhất, bạn có thể làm điều này để hiển thị thêm thông tin:

ls -l@

Ngay từ xattrhướng dẫn:Attribute names can also be displayed using ``ls -l@''.
ordonezalex


2

Bạn có thể muốn xem bài đăng này trong danh sách gửi thư của Apple. Nó giải thích rằng @ cho thấy Finder có các thuộc tính mở rộng khác với ACL.



0

Trên OSX, điều này cho thấy sự hiện diện của siêu dữ liệu được liên kết với tệp.


Điều đó không có nghĩa là liên kết tượng trưng trên Linux - các liên kết tượng trưng được biểu thị bằng chữ l trong cột quyền đầu tiên hoặc liên kết bị hỏng bởi một @ ở cuối đường dẫn, không phải ở cuối chuỗi quyền.
BR

Có nó, chỉnh sửa.
kbyrd

0

Ngoài câu trả lời của Michael Mrozek:

Trên OSX 10.10 (Yosemite), bạn có thể phải sử dụng các tham số attrx này:

xattr -l file
xattr -w attr_name attr_value file
xattr -d attr_name file
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.