Cara terbaik tampaknya sistem file tagging tagsistant .
Dari beranda:
Tagistant adalah sistem file berbasis tag untuk Linux yang mengubah direktori menjadi tag dan mencari file Anda untuk Anda.
Tahan Tag Gunung
Cukup beri tahu Tagsistant nama direktori yang ingin Anda gunakan, misalnya myfiles / di rumah Anda. Direktori ini sekarang menjadi tempat khusus dengan aturan khusus yang membantu Anda mengelola file Anda.
$ tagsistant ~/myfiles
$
Buat tag Anda
Pikirkan direktori di bawah tag / sebagai stiker putih tempat Anda menulis sesuatu. Buat tag sebanyak yang Anda butuhkan, siap untuk menandai file Anda.
$ mkdir ~/myfiles/tags/startrek
$ mkdir ~/myfiles/tags/starwars
$ mkdir ~/myfiles/tags/scifi
Tandai file Anda
Setelah membuat tag di tag /, tag akan tersedia di store /. Salin file Anda di dalamnya: itulah cara Anda menandai file. @ Menandai akhir daftar tag dan wajib diisi.
$ cp first_contact.avi ~/myfiles/store/startrek/@
$ cp the_return_of_the_jedi.avi ~/myfiles/store/starwars/@
Temukan file Anda dengan tag
Tulis permintaan pencarian Anda dengan memilih sebanyak mungkin tag yang Anda inginkan. Anda bahkan dapat menggabungkan hasil lebih dari satu permintaan dengan menempatkan tanda + / di antara, seperti di startrek / + / starwars / yang menggabungkan file yang ditandai dengan startrek dengan file yang ditandai starwars.
$ ls ~/myfiles/store/startrek/@
first_contact.avi
$ ls ~/myfiles/store/startrek/+/starwars/@
first_contact.avi
the_return_of_the_jedi.avi
Aktifkan hubungan antar tag
$ 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!
Tagistant memahami beberapa hubungan:
- termasuk: Jika A termasuk B, file apa pun yang ditandai sebagai B dapat ditemukan secara otomatis di dalam A.
- tidak termasuk: Jika A mengecualikan B, file apa pun yang ditandai sebagai B tidak dapat ditemukan di dalam A meskipun itu ditandai sebagai A.
- is_equivalent: Jika A setara dengan B, maka semua file dalam A tersedia dalam B dan sebaliknya.
Dan masih ada lagi!
Tandai seluruh direktori
$ 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 ... ]
Dengan Tagsistant Anda dapat menandai seluruh direktori. Direktori itu sendiri akan ditandai, bukan file di dalamnya, menghemat ruang dalam tag db.
Gunakan tiga tag
$ 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/@
Tag tiga adalah tag lanjutan yang dibentuk oleh namespace (diakhiri oleh titik dua) yang mengidentifikasi domain yang menarik dari tag, kunci yang memenuhi syarat tag, operator (eq untuk kesetaraan, gt untuk lebih besar dari, lt untuk kurang dari dan inc untuk menyertakan), dan akhirnya nilai yang menghitung tag.
Menurut saya ini pendekatan yang paling konsisten dan elegan untuk penandaan file di Linux. Sudah ada selama lebih dari 10 tahun, jadi ini adalah solusi yang matang juga, tanpa risiko menghilang segera.