Позначення файлів на Ubuntu


11

Як можна встановити теги для файлів на Ubuntu?

Я хочу позначити всі типи файлів:

  • Зображення
  • Аудіо
  • Текст
  • Офіс
  • Довідники

Єдине рішення, яке я знайшов - це MetaTracker .

Але цей проект, здається, мертвий.

Як я можу вирішити цю проблему на робочому столі?

Було б проти чудовим, якби ви могли синхронізувати ці теги з сервером, як nextcloud.


1
спробував трекер, але це здається дуже розбитим
Anona112,

1
Що не так з цим q + a: askubuntu.com/questions/827701/… ?
Rinzwind

1
@ Rinzwind дякую, що вказали на запитання 827701. Найвище рішення має працювати. Але я запитую себе, для чого потрібен цей сценарій. Чому немає готового до використання додатка? Бібліотеки linux справді чудові. Це мало чого не вистачає, просто деякі полірування та Linux могли конкурувати з яблучними продуктами. Але схоже, що linux вироджує кохані деталі, вони дбають про деталі, але на високому рівні використовується середній користувач, який не є прихильником .... ніхто про це не піклується. Це сумно.
гуетлі

2
На мою думку, Linux вже конкурує з продуктами Apple (і виграє кожен раз). Я просто не думаю, що маркування - це не велика річ, тому що ніхто насправді не просить цього серйозно.
Kaz Wolfe

2
@KazWolfe так, ви праві, ніхто цього не просить. Мені подобається ця цитата: «Якби я запитав людей, чого вони хочуть, вони б швидше сказали коней». - Генрі Форд. Що я хочу сказати: Якщо у всіх дистрибутивах з'явиться надійний тег з тегами, багато дублювання коду може бути видалено. Та сама проблема вирішується знову і знову. Програми для управління фотографіями роблять це, музичні плеєри роблять це, пошук ubuntu (тире) робить це ...
guettli

Відповіді:


5

Найкращим способом здається тегування файлової системи тегів .

З домашньої сторінки:

Tagsistant - файлова система на основі тегів для Linux, яка перетворює каталоги в теги та шукає ваші файли для вас.

Гора Теґагіст

Просто скажіть Tagsistant ім'я каталогу, який ви хочете використовувати, наприклад, myfiles / у вашому домі. Цей каталог зараз займає особливе місце зі спеціальними правилами, які допомагають керувати своїми файлами.

$ tagsistant ~/myfiles
$

Створіть свої теги

Подумайте про каталоги під тегами / як білі наклейки, над якими ви щось пишете. Створіть стільки тегів, скільки вам потрібно, готових позначити свої файли.

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

Позначте свої файли

Після створення тегу в тегах / він буде доступний у магазині /. Скопіюйте файли всередині нього: саме так ви додаєте теги до файлів. @ Позначає кінець списку тегів, і це потрібно.

$ cp first_contact.avi ~/myfiles/store/startrek/@
$ cp the_return_of_the_jedi.avi ~/myfiles/store/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.
  • виключає: Якщо A виключає B, жоден файл із тегом B не може бути знайдений всередині 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/@

Потрійні теги - це розширені теги, утворені простором імен (закінчується двокрапкою), який ідентифікує область, що цікавить тег, ключ, який кваліфікує тег, оператор (еквівалент рівності, gt для більшої ніж, lt для менше та вкл для включає) і, нарешті, значення, яке кількісно визначає тег.

Мені це здається найбільш послідовним і елегантним підходом до тегування файлів в Linux. Це вже більше 10 років, тож це також зріле рішення, без ризику незабаром зникнути.


4

Подібне запитання було задано і раніше: Вибір файлів з різних папок

Чи можливо в nautilus вибрати купу файлів із папки, потім перейти до іншої папки та додати ще кілька файлів до вибору?

Прийнята відповідь із 6 голосами "Ні, на жаль, це неможливо". .

Відмовившись відмовляти, я написав скрипт, що вирішує проблему.


Бафман починається

У відповідь на запитання я розробив bafman(Born Again File Manager), який був лише дещо успішним, оскільки зацікавлення у відповіді мало.

У відповіді 13 екранів, тож ось один із них, щоб дати вам ідею:

бафман 12

Повертається Бафман

Код bash був розміщений в окремій відповіді нижче першої, але редакції зробили його занадто великим, щоб вміститися в межах 30K, тому відповідь було видалено. Якщо когось цікавить сценарій bash, я би радий воскресити проект та опублікувати його в github.


Це питання стосується тегування файлів. Це означає, що теги повинні пережити перезавантаження. Я думаю, що рішення у вашій відповіді не підходить до питання.
гуетлі

@guettli Теги переживають перезавантаження та зберігаються у .bafmanDirsта .bafmanFiles.
WinEunuuchs2Unix

Мені шкода, я читав занадто швидко. Ви розробили інструмент під назвою bafman. Я не впевнений, що кодування тут є правильним. Можливо, знадобиться домовленість і проста специфікація. Але хто повинен погодитися? Розробники гномів?
guettli

@guettli У нашому сестринському інженерії програмної інженерії є люди, які обговорюють зміни в Gnome Nautilus. Наприклад, це питання: softwareengineering.stackexchange.com/questions/149824/… Ви можете зареєструватися там і опублікувати свою ідею звідси? Що стосується тегів, що рухаються при переміщенні файлу, єдиний спосіб, який я можу придумати, - це використовувати порожнє поле атрибутів файлу, наприклад "Дата народження" та замаскувати його прапорами. Це зробить дату народження виглядати кумедною, якщо вона перелічена. Хоча неактивне поле дати народження незабаром буде використано новішими програмами.
WinEunuuchs2Unix

3

Якщо файли, які ви хочете помітити, розміщуються в Nextcloud для спільного використання файлів, ви можете використовувати додаток для автоматичного позначення файлів Nextcloud разом із тегами вручну.

Автоматизоване тегування

В офіційному описі написано:

Додаток для Nextcloud, який автоматично призначає теги щойно завантаженим файлам на основі деяких умов.

Пізніше теги можуть використовуватися для контролю збереження, доступу до файлів, автоматичного виконання сценарію тощо.

введіть тут опис зображення

Він працює для Nextcloud 12 і 13.

Для визначення тегів адміністратори можуть створювати та керувати набором груп правил. Кожна група правил складається з одного або декількох правил, об’єднаних через операторів. Правила можуть включати такі критерії, як тип файлу, розмір, час та багато іншого. Запит відповідає групі, якщо всі правила оцінюються як істинні. Під час завантаження файлу оцінюються всі визначені групи і при відповідності файлу присвоюються задані теги.

Теги вручну

І тут ви можете побачити, як ручне тегування файлів доступне після Owncloud / Nextcloud 9.x за допомогою менеджера файлів у веб-перегляді.

ГОТЧА

Якщо ви хочете шукати теги через диспетчер файлів на робочому столі Ubuntu, це може не спрацювати, якщо ви не використовуєте WebDAV для монтажу загальнодоступної мережі та нічого не зробите з API Nextcloud WebDAV .


Як не дивно, але правда, я знайшов лише офіційні документи на nextcloud.com про автоматичне позначення тегів, але не про теги вручну. Я сліпий?
guettli

0

Мені теж потрібно було тегувати файли, і я вирішив, що за відсутності вбудованого способу цього я буду реалізовувати свої теги у файлах файлів. Таким чином, у вас є вся потужність bash-виразів для пошуку файлів з певними тегами, немає проблем з втратою тегів cp та mv тощо, а теги видно у файловому менеджері gui.

Наприклад, ви можете вирішити додати (tag1, tag2 ...) "до кінця кожної назви файлів.

Редагувати: це мені добре підходило там, де мої теги були більше, щоб вказувати на приналежність файлів до однієї чи декількох трьох груп. Для більш загального застосування тегів, простіший синтаксис (з bash тощо) наприкінці імен файлів буде чимось на зразок "ім'я файлу! Tag1! Tag2".


Так, це робоча робота. Але це обхід. Не рішення, не план і не мета.
guettli

Дійсно це iS. Одна з проблем полягає в тому, що якщо ви змінюєте теги файлу, ім'я файлу змінюється, тому, якщо скажімо, сценарій посилається на файл, то він порушується, якщо у вас не було передбачення посилатися на файл таким чином, що дозволяє будь-яку кількість тегів після базове ім'я файлу.
B.Tanner

@ B.Tanner Ви можете уникнути проблеми з перейменуванням, використовуючи нетегіровані назви файлів, а також додаючи теги, створюючи жорсткі посилання з позначеними іменами. Сценарії повинні використовувати не позначені імена файлів, щоб вони не залежали від тегів.
muclux

@muclux дякую, так чудова ідея. Для мене особисто це лише теоретична проблема (у мене немає сценаріїв, які працюють на "помічених" файлах), але у мене завжди було трохи неприємно відчувати зміну назви файлу. Це може бути хорошим способом зберігати теги окремо від фактичних файлів. Доведеться подумати над наслідками резервного копіювання ...
B.Tanner
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.