web-dev-qa-db-ja.com

Ubuntuでのファイルのタグ付け

Ubuntuのファイルにタグを設定するにはどうすればよいですか?

あらゆる種類のファイルにタグを付けたい:

  • 画像
  • オーディオ
  • テキスト
  • オフィス
  • ディレクトリ

私が見つけた唯一の解決策は MetaTracker でした。

しかし、このプロジェクトは死んでいるようです。

このデスクトップの問題を解決するにはどうすればよいですか?

これらのタグをnextcloudなどのサーバーと同期できれば、非常に便利です。

10
guettli

最良の方法は、タグ付けファイルシステム tagsistant のようです。

ホームページから:

Tagsistantは、ディレクトリをタグに変換し、ファイルを検索するLinux用のタグベースのファイルシステムです。

マウントタジスタント

使用したいディレクトリの名前をTagsistantに伝えるだけです。たとえば、自宅のmyfiles /などです。このディレクトリは、ファイルの管理に役立つカスタムルールを備えた特別な場所になりました。

$ tagsistant ~/myfiles
$

タグを作成する

Tags /の下にあるディレクトリを、上に何かを書く白いステッカーと考えてください。必要な数のタグを作成して、ファイルにマークを付けます。

$ mkdir ~/myfiles/tags/startrek
$ mkdir ~/myfiles/tags/starwars
$ mkdir ~/myfiles/tags/scifi

ファイルにタグを付けます

Tags /でタグを作成した後、store /で使用できるようになります。ファイルをその中にコピーします。これがファイルにタグを付ける方法です。 @はタグリストの終わりを示し、必須です。

$ cp first_contact.avi ~/myfiles/store/startrek/@
$ cp the_return_of_the_jedi.avi ~/myfiles/store/starwars/@

タグでファイルを見つける

必要な数のタグを選択して、検索クエリを作成します。 startrek/+/starwars /のように、startrekとタグ付けされたファイルをstarwarsとタグ付けされたファイルとマージするように、間に+ /を置くことで、複数のクエリの結果を組み合わせることができます。

$ ls ~/myfiles/store/startrek/@
first_contact.avi
$ ls ~/myfiles/store/startrek/+/starwars/@
first_contact.avi
the_return_of_the_jedi.avi

タグ間の関係をアクティブにする

$ 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は、いくつかの関係を理解し​​ています。

  • 次を含む:AにBが含まれる場合、Bとしてタグ付けされたファイルはすべてA内で自動的に見つかります。
  • excludes:AがBを除外する場合、Bのタグが付けられたファイルは、Aのタグが付けられていても、A内で見つけることができません。
  • is_equivalent:AがBと同等である場合、AのすべてのファイルはBで利用でき、逆も同様です。

そしてさらにあります!

ディレクトリ全体にタグを付ける

$ 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を使用すると、ディレクトリ全体にタグを付けることができます。ディレクトリ自体は、内部のファイルではなくタグ付けされ、タグdbのスペースを節約します。

トリプルタグを使用する

$ 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/@

トリプルタグは、タグの対象ドメイン、タグを修飾するキー、演算子(等式のeq、より大きいのgt、より小さいのlt、incを識別する名前空間(コロンで終わる)によって形成される高度なタグです。を含む)、最後にタグを定量化する値。

これは、Linux上でファイルのタグ付けを行うための最も一貫したエレガントなアプローチのようです。それは10年以上にわたって存在しているため、すぐに消えるリスクなしに、成熟したソリューションでもあります。

5
emk2203

同様の質問が以前に尋ねられました: 異なるフォルダーからのファイルの選択

Nautilusでは、フォルダーから多数のファイルを選択してから、別のフォルダーに移動して、選択にさらにファイルを追加することはできますか?

6つのアップ投票で受け入れられた答えは "いいえ、残念ながらできません。"

思いとどまらないことを拒否して、私はこの問題に取り組むためのbashスクリプトを書きました。


バフマンの始まり

質問に答えて、私はbafman(Born Again File Manager)を開発しました。これは、回答にほとんど関心がなかったため、多少成功しました。

答えには13の画面がありますので、ここであなたにアイデアを与えるためにそれらの1つがあります:

bafman 12

バフマンリターンズ

Bashコードは最初の回答の下に別の回答として投稿されましたが、改訂により30Kの制限内に収まらないため、回答が削除されました。誰かがbashスクリプトに興味を持っているなら、プロジェクトを復活させてgithubに投稿して喜んでいます。

4

タグ付けしようとしているファイルがファイル共有のためにNextcloudでホストされている場合は、 Nextcloudファイルの自動タグ付けアプリ を手動のタグ付けと共に使用できます。

自動タグ付け

公式の説明は次のとおりです。

いくつかの条件に基づいて、新しくアップロードされたファイルにタグを自動的に割り当てるNextcloud用のアプリ。

後でタグを使用して、保持、ファイルアクセス、自動スクリプト実行などを制御できます。

enter image description here

Nextcloud 12および13で機能します。

タグを定義するために、管理者は一連のルールグループを作成および管理できます。各ルールグループは、演算子で結合された1つ以上のルールで構成されます。ルールには、ファイルの種類、サイズ、時間などの基準を含めることができます。すべてのルールがtrueと評価された場合、リクエストはグループに一致します。ファイルをアップロードすると、定義されたすべてのグループが評価され、一致すると、指定されたタグがファイルに割り当てられます。

手動タグ付け

また、Owncloud/Nextcloud 9.xがWebビューでファイルマネージャーを使用しているため、 ファイルの手動タグ付け がどのように使用できるかを確認できます。

ゴッチャ

Ubuntuデスクトップファイルマネージャーを使用してタグを検索する場合、WebDAVを使用してネットワーク共有をマウントし、 Nextcloud WebDAV API で何かを実行しない限り、これは機能しない可能性があります。

2
Leo

ファイルにもタグを付ける必要があり、組み込みの方法がなければ、ファイルのファイル名にタグを実装することにしました。これにより、特定のタグを持つファイルを検索するためのbash式のフルパワーが得られ、cpやmvなどがタグを失う問題はなく、タグはGUIファイルマネージャーで表示されます。

たとえば、各ファイル名の末尾に(tag1、tag2 ...) "を追加することを決定できます。

編集:これは、3つのグループの1つまたは複数のファイルメンバーシップを示すために、タグがより適している場所に適しています。より一般的なタグアプリケーションの場合、ファイル名の最後に(bashなどを使用して)使用する簡単な構文は、「filename!tag1!tag2」のようなものです。

0
B.Tanner