使用符号链接管理和标记文件的脚本

linky-db的Python项目详细描述


链接build_status.svgcoverage.svgavg_coverage.svg

使用符号链接的无数据库文件标记器。在

这使得一个文件可以有多个标记,而不必担心文件夹结构。在

快速入门

如果你喜欢视频here you go。在

<;iframe width=“560”height=“315”sandbox=“allow same origin allow scripts”src=”https://video.ploud.fr/videos/embed/b404bb78-e1e6-4190-8517-ac222d015be4allowframe=“0框架”>;

这至少需要Python3.6和pip。 在对文件进行标记之前,必须先初始化一个目录,以便与linky一起使用。在

1。安装程序包

pip install linky-db

2。配置标记组(类别)

导航到要初始化的目录
可以是你的文件夹,视频,音乐,书籍等

cd my_link_root

写入配置文件
当然,你以后可以修改它。 参见categories.schema.yaml了解其说明和 categories.yaml示例

mkdir .linky
echo"Tags:  default: Untagged  extensible: True  exclusive_default: True  tags:    - Action    - Fantasy    - Romance    - Sci-Fi    - Zombie" > .linky/categories.yaml

3。初始化文件夹

linky init .

将创建一个.base目录,并且该目录中以前的所有内容, 将被移动到基目录中。 它将包含所有数据。 包含.base和所有其他数据的目录称为链接根。在

有关详细信息,请参见Howdocs。在

现在可以开始:

  • 探索命令:linky helplinky help addlinky help ...
  • 标记:linky tag -t Category/Tag file_in_your_root
  • 添加更多文件linky add fileOrDir_outside_your_root
  • 移动文件:linky move old/path/old_name new/path/new_name
    将文件移出标记文件夹受到linky的限制!在

为什么

程序通常使用数据库来保存有关文件的元信息。这些数据库:

  • 经常被存放在人们意想不到的地方
  • 具有自定义架构
  • 与其他数据库不兼容
    e、 g postgres vs mariadb vs sqlite vs nosql vs etc

所有这些都使得从一个程序到另一个程序的迁移变得困难。 当然,这个程序也会受到这个特殊问题(迁移)的影响 可以手动维护下面提到的文件夹结构和链接。在

怎么回事

考虑这个现有目录。以#为前缀的行是关于它们下面的项的注释!在

^{pr2}$

linky的工作原理是将所有文件保存在一个名为.base的公共隐藏文件夹中。 文件夹树中的所有同级将其文件链接到基文件夹。 因此,可以将一个文件分为多个类别,例如 观看、分级、大小、演员等

Docs

有关术语和内部工作原理的更多信息。在

发展

HACKING.md

备选方案

以下是实现非常相似功能的semantic filesystems。 大多数使用单独的数据库文件,这就是为什么我不使用它们,但是它们 可能对你很有用!在

  • dhtfs-基于标记的文件系统,提供动态目录层次结构 基于与文件关联的标记。在
  • Tagsistant-Linux的基于标记的文件系统 它将目录转换为标记并搜索文件。在
  • TMSU-TMSU是一个标记文件的工具。 它为应用标记提供了一个简单的命令行工具 以及一个虚拟文件系统,这样您就可以获得基于标记的 从任何其他程序中查看您的文件。在
  • xtagfs-macosx的基于标记的文件系统

谢谢

首先也是最重要的是所有使这成为可能的开源开发人员。在

  • 皮皮的包裹像克里夫,亚马尔和其他
  • pip用于包托管
  • gitlab用于代码托管和CI
  • Pycharm IDE的喷气式飞机
  • 图标编辑器的Inkscape
  • 我的偶像搭档(一个链接是66%的一英尺。来源:wikipedia

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何将cassandra中的行数据转换为与列相关的嵌套json   java如何使用jcr XPath在jcr:content/@jcr:data中搜索?   java在使用openCV进行安卓开发时如何利用手机的广角镜头   java解析扩展了接口,结束了一个潜在的无限循环   位置服务的@Override方法中存在java Android应用程序错误   java本地线程的用途和需求是什么   具有左右子访问的java节点树遍历   java验证JsonWebToken签名   JUL日志处理程序中的java日志记录   嵌入式Java读取给定时间段的串行数据。   java有没有办法从多个URL获取多个图像?   java线程通过等待intent阻止自己发送intent   java Spring MVC解析多部分内容请求   java JPA/Hibernate静态元模型属性未填充NullPointerException   java格式错误的字符(需要引号,得到I)~正在处理   java为什么PrintWriter对象抛出FileNotFoundException?   java Neo4j未正确保存标签   java IE不加载图像