En iyi yol etiketleme dosya sistemi tagsistant gibi görünüyor .
Ana sayfadan:
Tagsistant, dizinleri etiketlere dönüştüren ve dosyalarınızı sizin için araştıran Linux için etiket tabanlı bir dosya sistemidir.
Etiket Bağlayıcı
Tagsistant'a kullanmak istediğiniz dizinin adını söyleyin, örneğin evinizdeki dosyalarım /. Bu dizin artık dosyalarınızı yönetmenize yardımcı olan özel kurallara sahip özel bir yerdir.
$ tagsistant ~/myfiles
$
Etiketlerinizi oluşturun
Etiketler altındaki dizinleri düşünün / üstüne bir şeyler yazdığınız beyaz çıkartmalar olarak düşünün. Dosyalarınızı işaretlemeye hazır, istediğiniz kadar etiket oluşturun.
$ mkdir ~/myfiles/tags/startrek
$ mkdir ~/myfiles/tags/starwars
$ mkdir ~/myfiles/tags/scifi
Dosyalarınızı etiketleyin
/ Etiketlerinde bir etiket oluşturduktan sonra, bu etiket / deposunda kullanılabilir. Dosyalarınızı içine kopyalayın: dosyaları bu şekilde etiketlersiniz. @, Etiket listesinin sonunu işaretler ve zorunludur.
$ cp first_contact.avi ~/myfiles/store/startrek/@
$ cp the_return_of_the_jedi.avi ~/myfiles/store/starwars/@
Dosyalarınızı etiketlere göre bulma
İstediğiniz kadar etiket seçerek arama sorgunuzu oluşturun. Hatta startrek / + / starwars / gibi startrek etiketli dosyaları starwars etiketli dosyalarla birleştiren + / arasına yerleştirerek birden fazla sorgunun sonuçlarını birleştirebilirsiniz.
$ ls ~/myfiles/store/startrek/@
first_contact.avi
$ ls ~/myfiles/store/startrek/+/starwars/@
first_contact.avi
the_return_of_the_jedi.avi
Etiketler arasındaki ilişkileri etkinleştirme
$ 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 çeşitli ilişkileri anlar:
- şunları içerir: A B içeriyorsa, B olarak etiketlenen herhangi bir dosya otomatik olarak A içinde bulunabilir.
- Hariç tutulur: A, B'yi hariç tutarsa, B olarak etiketlenen herhangi bir dosya, A olarak etiketlenmiş olsa bile A içinde bulunamaz.
- is_equivalent: A, B'ye eşdeğerse, A'daki tüm dosyalar B'de kullanılabilir ve tersi de geçerlidir.
Ve daha fazlası var!
Tüm dizinleri etiketle
$ 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 ... ]
Tagsistant ile tüm dizinleri etiketleyebilirsiniz. Dizinin kendisi etiketlenir, içindeki dosyalar değil, db etiketinde yer tasarrufu sağlar.
Üçlü etiket kullan
$ 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/@
Üçlü etiketler, etiketin ilgi alanını, etiketi niteleyen bir anahtarı, bir operatörü (eşitlik için eq, gt'den büyük, lt'den küçüktür ve inc için içerir) ve son olarak etiketi nicelleştiren bir değer.
Bana öyle geliyor ki Linux'ta dosya etiketleme için en tutarlı ve zarif yaklaşım. 10 yıldan fazla süredir var, bu yüzden yakında kaybolma riski olmadan olgun bir çözüm.