Существует ли программа, которая может помечать папки? У меня есть разные файлы в папке, и есть много папок, если бы я мог пометить каждую папку (в отличие от пометки каждого файла), мне было бы очень легко классифицировать эти папки. Кто-нибудь знает, можно ли такое сделать? Спасибо.
tracker-utils
будет работать для этого.
Ответ еще не принят, но примеры, которые я выложил, должны дать вам представление о том, как работать с эта программа. Добавления тегов прекрасно работают и с каталогами, и я тоже это проверил.
Пример каталога
<sean@mymachine:~> tracker-tag -a projects src/ code/ projects/
<sean@mymachine:~> tracker-tag -s projects
Results: 3
/home/sean/projects
/home/sean/src
/home/sean/code
Обратите внимание, что вам нужно запустить trackerd вручную, чтобы работала утилита tracker-tag / *:
[ 111]Вы можете настроить трекер с помощью:
<sean@mymachine:~> tracker-preferences
У меня все еще не запущен апплет трекера (указан в ps
, но не отображается в nautilus даже после nautilus -q
) но мне все равно. Я не использую инструменты GUI по большей части; Я предпочитаю CLI, так как обычно это намного быстрее, чем нажимать на кнопки.
Я прочитал один из ваших ответов из предыдущего поста, и похоже, что вы пытаетесь добавить / найти теги в Nautilus, хотя вы не указали это в качестве основного критерия в своем вопросе. Это то, что делал другой человек, поэтому, возможно, этот ответ будет бесполезен для вас. Тем не менее, переход к CLI иногда не так уж плох, если вы выполняете работу, которую вы обычно не сможете сделать в графическом интерфейсе.
Вы можете добавить файл наподобие
.tag
в каждую папку. Там вы можете хранить информацию в виде текста. Позже вы можете просмотреть их для вашей информации.
Может быть, вам лучше подойдет инструмент типа find .
Не стесняйтесь спрашивать о его использовании.
Это - большой вопрос, и я искал что-то как этот также, но я вполне уверен нет ничего как этот уже встроенный в Наутилус,
но если можно повернуть руку к некоторым сценариям, Вы могли бы относительно легко адаптировать Наутилус file Notes
сделать что-то подобное. Требовались бы некоторые основные (+?) сценарии..
С file Notes
можно добавить Примечания к Каталогу, а также файлам..
Это было бы простым вопросом поиска Примечаний для Вашего определенного Тега (тегов) и затем создало бы ссылки tempory (или постоянный) к каждому каталогу с Тегом соответствия в 'Примечаниях'... затем помещает эти ссылки в каталог 'результатов поиска'..., который Вы затем представили бы в окне Nautilus!...
Если бы у меня было свободное время, то я сделал бы это сам, но вместо этого, здесь был бы сценарием, который я записал в доступ и запись, и удалите Примечания Наутилуса.. Это не делает то, что я описал выше, но это действительно показывает, как получить доступ к кэшу данных Примечаний. Сценарий предназначается для использования nautilus-actions
Сценарий по pastbin.ubuntu.com
ОБНОВЛЕНИЕ: я теперь записал рабочий сценарий, который использует ссылки, как описано выше.. Однако я теперь подкачал "идею" Примечаний наутилуса и привил в .tag файлах unknown пользователя вместо этого.. (таким образом, если Вам нравится сценарий, помните, что .tag идея является 'пользовательским unknown's)..
Мне нравятся файлы простого текста (они просты и универсальны и очень легки работать с),
Я использовал locate
как средство поиска, поскольку это крайнее быстрый, но это только столь же актуально как последнее выполнение updatedb
(который является обычно ежедневно, но можно выполнить его любое время).
Я попытался объяснить использование сценария в комментариях, но я должен указать, что оно не полностью тестируется, таким образом, оно может неправильно себя вести на некоторых деталях..
Единственными вещами, которые это удаляет/удаляет, является временный каталог и любые гибкие ссылки, которые это содержит... Обратите внимание, что удаление гибких ссылок не удаляет каталоги цели/данных.
Вот сценарий
UPDATE2: (исправленный ошибка.. Это только обрабатывало расположенный .tag файл первых 100),
#!/bin/bash
# Script: dirtags ...(by fred.bear)
#
# Summary: Open the file browser in a temporary directory
# which contains soft-links to directories whose
# '.tag' file contains the search string in $1
#
# .tag files are files you create in any directory which
# you wish to *tag*.
#
# .tag files are simple free form text, so you can
# put anything you like in them...
#
# The script uses `locate` to create a list of .tag file
# 'locate' is very fast, but because it depends on 'updatedb'
# for its list of current files, it can be a bit out of sync
# with a newly added .tag file... Modifying an existing
# .tag file does not effect `locate`
# To refresh the `locate` database, just run 'sudo updatedb'
# .. (updatedb typically auto-runs once a day, but you should check)
#
# Note: The search result soft links are put into a temporary directory
# This directory is removed each time you run the script
# TODO: allow saved searches (?) maybe
#
# Note: With nautilus, running the script a second time while
# the previoulsy opened wiondow is still open, cause the
# second window to open in its parent directory: /tmp/$USER
# ... but you can then just enter the 'dirtags' dir
# you see listed /tmp/$USER/$bname
# TODO: this probably happens because currently the
# directory is being removed each time the script
# is run... (related to "allow saved searches")
#
# A sample usage of this script:
#
# 1. Make a '.tag' file in each of several test directories.
# 2, For this first-time test, run 'sudo updatedb' so that the
# newly added .tag files are added to the 'locate's database
# 3. In each .tag file, put some tags (words or phrases to serch for)
# eg; action comedy drama good bad sci-fi documentary
# 4. Run this script with a single argument.. (a grep regex)
# eg "action|comedy"
#
function args_grep_links {
# $1 -- the grep regex
##echo grep -l '"'$1'"' ${tagged[@]}
< <(eval grep -l '$1' ${tagged[@]}) \
sed "s/^\(.*\)\/\.tag/ln -s \"\1\" $tagdbs/" \
>>"$tagdir"/.tag.slinks
##(gedit "$tagdir"/.tag.slinks &)
# make the soft links
source "$tagdir"/.tag.slinks
rm "$tagdir"/.tag.slinks
unset tagged
aix=
}
# Identity the script
bname="$(basename "$0")"
# Syntax
if [[ "$1" == "" ]] ; then
echo "ERROR: $bname requires one arg; a 'grep' regular expression string"
echo " eg: $bname \"music\" ......... Any instance of \"music\" .....(eg: \"musical\")"
echo " eg: $bname \"\<music\>\" ..... Only the word \"music\" ...(but not \"musical\")"
echo " eg: $bname \"muscic\|action\". Any instance of \"music\" or \"action\")"
exit 1
fi
# 'locate' the .tag files
# =======================
tagdir="/tmp/$USER/$bname"
tagdbs="${tagdir//\//\/}"
[[ -d "$tagdir" ]] && rm -rf "$tagdir" # remove all
[[ ! -d "$tagdir" ]] && mkdir -p "$tagdir" # fresh start
cp /dev/null "$tagdir"/.tag.slinks
unset tagged # array of .tag files
aix=0 # arg index
amax=10 # arg max per call to grep
fct=0 # file count
while IFS= read -r file ; do
tagged[$aix]="$file"
####echo ${tagged[aix]}
((aix++));((fct++))
(( aix == amax )) && args_grep_links "$1"
done < <(locate -ber ^\.tag$ |sed "s/.*/\"&\"/")
(( aix < amax )) && args_grep_links "$1"
sleep 1 # to allow time for rm to settle down after rm and adding links
xdg-open "$tagdir"
exit
#