Cách tốt nhất có vẻ là hệ thống gắn thẻ tập tin tagistant .
Từ trang chủ:
Tagsistant là một hệ thống tệp dựa trên thẻ cho Linux, biến các thư mục thành các thẻ và tìm kiếm các tệp của bạn cho bạn.
Núi Tagsistant
Chỉ cần cho Tagsistant tên của thư mục bạn muốn sử dụng, ví dụ myfiles / trong nhà của bạn. Thư mục này hiện là một nơi đặc biệt với các quy tắc tùy chỉnh giúp bạn quản lý các tệp của mình.
$ tagsistant ~/myfiles
$
Tạo thẻ của bạn
Hãy suy nghĩ về các thư mục dưới thẻ / như nhãn dán màu trắng bạn viết một cái gì đó trên đầu trang. Tạo nhiều thẻ như bạn cần, sẵn sàng đánh dấu các tệp của bạn.
$ mkdir ~/myfiles/tags/startrek
$ mkdir ~/myfiles/tags/starwars
$ mkdir ~/myfiles/tags/scifi
Gắn thẻ các tập tin của bạn
Sau khi tạo thẻ trong thẻ /, nó sẽ có sẵn trong cửa hàng /. Sao chép các tệp của bạn bên trong nó: đó là cách bạn gắn thẻ các tệp. @ Đánh dấu kết thúc danh sách thẻ và yêu cầu.
$ cp first_contact.avi ~/myfiles/store/startrek/@
$ cp the_return_of_the_jedi.avi ~/myfiles/store/starwars/@
Tìm tập tin của bạn bằng thẻ
Soạn truy vấn tìm kiếm của bạn bằng cách chọn bao nhiêu thẻ bạn muốn. Bạn thậm chí có thể kết hợp các kết quả của nhiều truy vấn bằng cách đặt dấu + / ở giữa, như trong startrek / + / starwars / kết hợp các tệp được gắn thẻ startrek với các tệp được gắn thẻ sao.
$ ls ~/myfiles/store/startrek/@
first_contact.avi
$ ls ~/myfiles/store/startrek/+/starwars/@
first_contact.avi
the_return_of_the_jedi.avi
Kích hoạt quan hệ giữa các thẻ
$ mkdir ~/myfiles/relations/scifi/includes/startrek
$ ls ~/myfiles/store/scifi/@
first_contact.avi # 1 file...
$ mkdir ~/myfiles/relations/scifi/includes/starwars
$ ls ~/myfiles/store/scifi/@
first_contact.avi
the_return_of_the_jedi.avi # 2 files!
Tagsistant hiểu một số mối quan hệ:
- bao gồm: Nếu A bao gồm B, mọi tệp được gắn thẻ B có thể được tự động tìm thấy bên trong A.
- loại trừ: Nếu A loại trừ B, bất kỳ tệp nào được gắn thẻ B không thể được tìm thấy bên trong A ngay cả khi nó được gắn thẻ là A.
- is_equivalent: Nếu A tương đương với B, thì tất cả các tệp trong A đều có sẵn trong B và ngược lại.
Và còn hơn thế nữa!
Tag toàn bộ thư mục
$ cp -R ~/Photos/London ~/myfiles/store/photos/@
$ ls -l ~/myfiles/store/photos/@/
London
$ ls -l ~/myfiles/store/photos/@/London/
-rw------- 1 tx0 tx0 2.3M Sep 28 2009 bridge.jpg
-rw------- 1 tx0 tx0 3.0M Aug 30 2011 trafalgar_square.jpg
[ ... more files here ... ]
Với Tagsistant bạn có thể gắn thẻ toàn bộ thư mục. Bản thân thư mục sẽ được gắn thẻ, không phải các tệp bên trong, tiết kiệm không gian trong thẻ db.
Sử dụng ba thẻ
$ ls ~/myfiles/store/document:/author/eq/Tx0/@
$ ls ~/myfiles/store/document:/title/inc/Strategic/@
$ ls ~/myfiles/store/pictures:/aperture/gt/5.6/@
$ ls ~/myfiles/store/time:/hour/lt/3/@
Thẻ ba là thẻ nâng cao được hình thành bởi một không gian tên (được chấm dứt bởi dấu hai chấm) xác định miền quan tâm của thẻ, khóa đủ điều kiện thẻ, toán tử (eq cho đẳng thức, gt cho lớn hơn, lt cho ít hơn và inc bao gồm) và cuối cùng là một giá trị định lượng thẻ.
Đây dường như là cách tiếp cận nhất quán và thanh lịch nhất để gắn thẻ tệp trên Linux. Nó đã tồn tại hơn 10 năm, vì vậy đây cũng là một giải pháp trưởng thành mà không có nguy cơ biến mất sớm.