整到 code.google 中持续修订吧,也好统一收集反馈/缺陷什么的...
> --------------------
> 欢迎使用tagit!
>
> ==介绍==
> "tagit"是一个文件管理工具。
> 通常,文件系统是树状结构的,我们用目录来对文件进行分类。但一个文件可能会有很多属性。例如,你有一个">音乐"目录,然后你下载了一首歌,Yesterday.mp3。那么应该把它放到哪个子目录下呢?"MP3","披头士","1960年代",还是"摇滚"?对于其他类型的文件,你会遇到同样的问题。
> "tagit"给出了一个解决方案。类似gmail中的label功能,tagit允许你为任意普通文件打上标签(目录文件现在还>不支持),然后你就可以在标签视图中来管理它们
>
> ==基本使用==
> 为一个文件file增加一个tag:
>
> $tagit filename tagname
>
> 你可以一次为多个文件增加同一个tag:
>
> $tagit file1 file2 ... tagname
> $tagit *.c c_code
> $tagit *.mp3 *.wma *.ogg audio
>
> 删除tag:
>
> $tagit -d tagname1 tagname2 ...
>
> 从一个tag中删除文件:
>
> $tagit -c tagname file1 file2 ...
>
> PS:自知英文水平比较挫,如果有感兴趣的好人,希望能帮我改改英文Readme.txt
>
>
--
http://zoomquiet.org 人生苦短? Pythonic!
一个人如果力求完善自己,就会看到:为此也必须同时完善他人. 一个人如果不关心别人的完善,自己便不可能完善!
>> --------------------
>> 欢迎使用tagit!
>>
>> ==介绍==
>> "tagit"是一个文件管理工具。
>> 通常,文件系统是树状结构的,我们用目录来对文件进行分类。但一个文件可能会有很多属性。例如,你有一个">音乐"目录,然后你下载了一首歌,Yesterday.mp3。那么应该把它放到哪个子目录下呢?"MP3","披头士","1960年代",还是"摇滚"?对于其他类型的文件,你会遇到同样的问题。
>> "tagit"给出了一个解决方案。类似gmail中的label功能,tagit允许你为任意普通文件打上标签(目录文件现在还>不支持),然后你就可以在标签视图中来管理它们
>>
>> ==基本使用==
>> 为一个文件file增加一个tag:
>>
>> $tagit filename tagname
>>
>> 你可以一次为多个文件增加同一个tag:
>>
>> $tagit file1 file2 ... tagname
>> $tagit *.c c_code
>> $tagit *.mp3 *.wma *.ogg audio
>>
>> 删除tag:
>>
>> $tagit -d tagname1 tagname2 ...
>>
>> 从一个tag中删除文件:
>>
>> $tagit -c tagname file1 file2 ...
>>
>> PS:自知英文水平比较挫,如果有感兴趣的好人,希望能帮我改改英文Readme.txt
>>
>>
>
>
>
> --
> http://zoomquiet.org 人生苦短? Pythonic!
> 一个人如果力求完善自己,就会看到:为此也必须同时完善他人. 一个人如果不关心别人的完善,自己便不可能完善!
>
--
http://zoomquiet.org 人生苦短? Pythonic!
流程是对先前蠢行的内在反应! ~ Clay Shirky (Process is an embedded reaction to prior
stupidity)http://bit.l...
咯咯,不错的东东,
tagit后,如何把同tag文件放在指定的目录中?
使用硬链接的话,系统依赖性太大了,而且无法快速自动统计和修订关联的分类哪...
这类工具,关键就是如何实现 "tag" 视图...
--
http://zoomquiet.org 人生苦短? Pythonic!
向靠谱,反脑残! Kaopulity,小白退散! [Kaopulity~= Keep all processes usablity!]
那天你问我硬连接的问题,我碰巧不在
在这里回答一下吧
据我所知,知道一个文件,操作系统本身似乎不提供反查所有指向它的硬连接的机制
--
Zhang Le, Robert
Gentoo/Loongson(龙芯) Developer
http://zhangle.is-a-geek.org
>> 啊,它的实现其实思路非常简单,就是硬链接那天你问我硬连接的问题,我碰巧不在
在这里回答一下吧
据我所知,知道一个文件,操作系统本身似乎不提供反查所有指向它的硬连接的机制
昨天碰巧看内核vfs部分代码,想起来在struct inode里有个
struct list_head i_dentry:
这个是所有指向这个inode的dentry的链表头
可惜这个东西似乎没有用户层接口可以获得
想起来 Emacs 的 org_mod 天然的有这种功能哪,,,
看一下是否也是可以和真实文件绑定关系的?
--
http://zoomquiet.org 人生苦短? Pythonic!
Free as in Freedom! 哲思社区:http://zeuux.com
操作系统是没有直接提供这样的系统调用,但是有工具提供了
如, ls -li 发现某文件的 硬链接号码是 2046
$ ls -li
2046 -rw-r--r-- 1 user user 0 2009-08-11 21:49 res.db
我们硬链接文件在文件系统层次的实现原理就是使用不同的 dir entry, 而其 inode 和数据部分只有一份, 也就是其号码都是相同的,
使用 find 可以找出, 同一文件的所有硬链接;
$ find -inum 2046 -ls
1046 0 -rw-r--r-- 1 user user 0 8月 11 21:49 ./res.db
1046 0 -rw-r--r-- 1 user user 0 8月 11 21:49 ./tmp/res.db
只不过 find 的实现原理还是 递归遍历, 对 inum 进行判断,这样显然当文件数很多时,就会慢了;
BTW, 这个 find 命令通过inum查找通常还被用于一个用途:
就是删除有特殊字符文件名的文件, 如某文件含有特殊文件名时在 ls 列表中会显示成为一系列 ? 问号, 直接 rm 这些问号名的文件会提示
no such file; 这时解决方法就是 先 "ls -li" 列表找出它的 inode number, 再 find 删除:
$ find -inum <number> -delete
2009/11/10 张慧聪 <zhcfr...@gmail.com>:
> 2009/11/9 Zhang Le <robert....@gmail.com>
>> 据我所知,知道一个文件,操作系统本身似乎不提供反查所有指向它的硬连接的机制
操作系统是没有直接提供这样的系统调用,但是有工具提供了
如, ls -li 发现某文件的 硬链接号码是 2046
$ ls -li
2046 -rw-r--r-- 1 user user 0 2009-08-11 21:49 res.db
我们硬链接文件在文件系统层次的实现原理就是使用不同的 dir entry, 而其 inode 和数据部分只有一份, 也就是其号码都是相同的,
使用 find 可以找出, 同一文件的所有硬链接;
$ find -inum 2046 -ls
1046 0 -rw-r--r-- 1 user user 0 8月 11 21:49 ./res.db
1046 0 -rw-r--r-- 1 user user 0 8月 11 21:49 ./tmp/res.db
只不过 find 的实现原理还是 递归遍历, 对 inum 进行判断,这样显然当文件数很多时,就会慢了;
BTW, 这个 find 命令通过inum查找通常还被用于一个用途:
就是删除有特殊字符文件名的文件, 如某文件含有特殊文件名时在 ls 列表中会显示成为一系列 ? 问号, 直接 rm 这些问号名的文件会提示
no such file; 这时解决方法就是 先 "ls -li" 列表找出它的 inode number, 再 find 删除:
$ find -inum <number> -delete
不是的,你没有理解我说的情况。打 \? 删除的是准确的名字叫做?的文件,
而实际上在远程服务器上(没有图形界面去方便的选择并删除)
有一些完全外国字文件名的文件(没有非乱码部分)、比如中文文件名在阿拉伯文的操作系统上就显示为一列 ???? 同样阿拉伯文的 文件名在中文
locale 系统上也显示为 一列问号,而且这个目录中的各式样文件名非常多,很难使用正则表达式去唯一的只匹配它这一个;这时使用 find
inum 方法删除会比较安全有效;
>
> 嗯,感谢乐兄和任全兄的回复:-)
--
Cheng Renquan