Menandai file di Ubuntu

11

Bagaimana Anda bisa mengatur tag pada file di Ubuntu?

Saya ingin menandai semua jenis file:

  • Gambar-gambar
  • Audio
  • Teks
  • Kantor
  • Direktori

Satu-satunya solusi yang saya temukan adalah MetaTracker .

Tetapi proyek ini tampaknya sudah mati.

Bagaimana saya bisa mengatasi masalah desktop ini?

Akan sangat menyenangkan jika Anda bisa menyinkronkan tag ini dengan server seperti nextcloud.

guettli
sumber
1
mencoba pelacak, tetapi tampaknya sangat rusak
Anona112
1
Apa yang salah dengan q + a ini: askubuntu.com/questions/827701/… ?
Rinzwind
1
@Rinzwind terima kasih telah menunjukkan pertanyaan 827701. Solusi paling atas di sana harus bekerja. Tapi saya bertanya pada diri sendiri mengapa skrip ini diperlukan. Mengapa tidak ada aplikasi yang siap digunakan? Pustaka linux sangat bagus. Tidak ketinggalan banyak, hanya beberapa pemolesan dan linux bisa bersaing dengan produk apel. Tetapi sepertinya linux freaks menyukai detail, mereka peduli terhadap detail, tetapi kasus penggunaan tingkat tinggi rata-rata pengguna non-geek .... tidak ada yang peduli untuk ini. Ini menyedihkan.
guettli
2
Menurut pendapat saya sendiri, Linux sudah bersaing dengan produk Apple (dan menang setiap saat). Saya hanya tidak berpikir penandaan adalah hal yang besar karena tidak ada yang benar-benar memintanya dengan serius.
Kaz Wolfe
2
@ KazWolfe ya, Anda benar tidak ada yang memintanya. Saya suka kutipan ini: "Jika saya bertanya kepada orang-orang apa yang mereka inginkan, mereka akan mengatakan kuda lebih cepat." - Henry Ford. Apa yang ingin saya katakan: Jika akan ada api penandaan yang dapat diandalkan tersedia di semua distribusi banyak duplikasi kode bisa dihapus. Masalah yang sama terpecahkan berulang-ulang. Aplikasi manajemen foto melakukannya, pemutar musik melakukannya, pencarian ubuntu (dash) melakukannya ...
guettli

Jawaban:

5

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.

emk2203
sumber
4

Pertanyaan serupa diajukan sebelumnya: Memilih file dari folder yang berbeda

Apakah mungkin di nautilus untuk memilih banyak file dari folder, kemudian pergi ke folder lain dan menambahkan beberapa file lagi ke seleksi?

Jawaban yang diterima dengan 6 suara adalah "Tidak, sayangnya itu tidak mungkin." .

Menolak dibujuk saya menulis skrip bash untuk mengatasi masalah tersebut.


Bafman Dimulai

Menanggapi pertanyaan yang saya kembangkan bafman(Born Again File Manager) yang hanya agak berhasil karena ada sedikit minat dalam jawabannya.

Ada 13 layar dalam jawabannya, jadi inilah salah satu dari mereka untuk memberi Anda ide:

bafman 12

Pengembalian Bafman

Kode bash diposting dalam jawaban terpisah di bawah yang pertama tetapi revisi membuatnya terlalu besar untuk masuk dalam batas 30K sehingga jawabannya dihapus. Jika seseorang tertarik pada skrip bash, saya akan senang untuk menghidupkan kembali proyek dan mempostingnya di github.

WinEunuuchs2Unix
sumber
Pertanyaan ini adalah tentang menandai file. Ini berarti tag harus selamat dari reboot. Saya pikir solusi dalam jawaban Anda tidak cocok dengan pertanyaan itu.
guettli
@guettli Tag bertahan dari reboot dan disimpan di .bafmanDirsdan .bafmanFiles.
WinEunuuchs2Unix
Maaf, saya membaca terlalu cepat. Anda mengembangkan alat yang disebut bafman. Saya tidak yakin apakah pengkodean adalah hal yang benar di sini. Mungkin diperlukan kesepakatan dan spek sederhana. Tetapi siapa yang harus setuju? Pengembang gnome?
guettli
@guettli Rekayasa Perangkat Lunak situs saudara kami memiliki orang-orang yang mendiskusikan perubahan pada Gnome Nautilus. Misalnya pertanyaan ini: softwareengineering.stackexchange.com/questions/149824/... Anda mungkin ingin mendaftar di sana dan memposting ide Anda sendiri dari sini? Sejauh tag bergerak saat file dipindahkan, satu-satunya cara yang dapat saya pikirkan adalah dengan menggunakan bidang atribut file kosong seperti "Tanggal Lahir" dan menyamarkannya dengan bendera. Itu akan membuat tanggal lahir terlihat lucu ketika dicantumkan. Meskipun tidak aktif, bidang tanggal lahir akan segera digunakan oleh aplikasi yang lebih baru.
WinEunuuchs2Unix
2

Jika file yang ingin Anda tandai di-host di Nextcloud untuk berbagi file, maka Anda dapat menggunakan aplikasi pemberian tag otomatis file Nextcloud bersama dengan pemberian tag manual.

Penandaan otomatis

Deskripsi resmi berbunyi:

Aplikasi untuk Nextcloud yang secara otomatis memberikan tag ke file yang baru diunggah berdasarkan beberapa kondisi.

Tag nanti dapat digunakan untuk mengontrol retensi, akses file, eksekusi skrip otomatis, dan lainnya.

masukkan deskripsi gambar di sini

Ini berfungsi untuk Nextcloud 12 dan 13.

Untuk menetapkan tag, administrator dapat membuat dan mengelola serangkaian grup aturan. Setiap grup aturan terdiri dari satu atau beberapa aturan yang digabungkan melalui operator. Aturan dapat mencakup kriteria seperti jenis file, ukuran, waktu, dan lainnya. Permintaan cocok dengan grup jika semua aturan bernilai true. Saat mengunggah file, semua grup yang ditentukan akan dievaluasi dan ketika cocok, tag yang diberikan akan diberikan pada file tersebut.

Pemberian tag manual

Dan di sini Anda dapat melihat bagaimana penandaan file secara manual tersedia sejak Owncloud / Nextcloud 9.x menggunakan manajer file dalam tampilan web.

KENA KAU

Jika Anda ingin mencari tag melalui manajer file desktop Ubuntu, maka ini mungkin tidak berfungsi kecuali Anda menggunakan WebDAV untuk me-mount berbagi jaringan dan melakukan sesuatu dengan API WebDAV Nextcloud .

Leo
sumber
Aneh tapi benar, saya hanya menemukan dokumen resmi di nextcloud.com tentang penandaan otomatis, tetapi bukan tentang penandaan manual. Apakah saya buta?
guettli
0

Saya perlu menandai file juga dan memutuskan bahwa dengan tidak adanya cara built-in untuk melakukannya, saya akan menerapkan tag saya dalam nama file file. Dengan begitu Anda memiliki kekuatan penuh ekspresi bash untuk mencari file dengan tag tertentu, tidak ada masalah cp dan mv dll kehilangan tag, dan tag tersebut terlihat di file manager gui.

Misalnya Anda dapat memutuskan untuk menambahkan (tag1, tag2 ...) "ke akhir setiap nama file.

Sunting: ini cocok untuk saya di mana tag saya lebih untuk menunjukkan keanggotaan file dari satu atau lebih dari tiga grup. Untuk aplikasi tag yang lebih umum, sintaks yang lebih mudah digunakan (dengan bash, dll) di akhir nama file akan menjadi sesuatu seperti "nama file! Tag1! Tag2".

B.Tanner
sumber
Ya, ini adalah solusi yang berhasil. Tapi itu adalah solusi. Bukan solusi, bukan rencana dan bukan tujuan.
guettli
Memang itu. Salah satu masalah dengan itu adalah bahwa jika Anda mengubah tag file, nama file berubah, jadi jika mengatakan sebuah skrip referensi file maka itu rusak kecuali jika Anda memiliki pandangan ke depan untuk merujuk ke file dengan cara yang memungkinkan sejumlah tag setelah nama file dasar.
B.Tanner
@ B.Tanner Anda dapat menghindari masalah penggantian nama dengan menggunakan nama file yang tidak ditandai, dan menambahkan tag dengan membuat nama file yang di-tag. Script harus menggunakan nama file yang tidak ditandai untuk terlepas dari pemberian tag.
muclux
@muclux terima kasih, ya ide bagus. Bagi saya pribadi itu hanya masalah teoretis (saya tidak memiliki skrip yang beroperasi pada file "tag") tetapi saya selalu merasa sedikit tidak enak tentang mengubah nama file. Ini mungkin cara yang baik untuk memisahkan tag dari file yang sebenarnya.
Harus