我的管理文件方式
文件管理,对于电脑来说,一般有两个层面上的意思:
- 计算机原理里面操作系统关于文件系统管理文件
- 普通计算机使用者分类组织自己的文件
这里我说的主要是自己以普通使用者,像日常去管理自己办公桌上的文具书籍笔记一样去对待电脑里的文件。整理和分类及存放,表面看是一件简单而又复杂的工作,其实里头藏有很多学问。
从树说起
由于我日常使用的都是 Linux 操作系统,他的目录结构是属于树结构的,这其实很符合我们平时管理文档的第一感觉:
Books
├── Arts
├── Astronomy
├── Computer Science
│ ├── Database
│ └── Virtualization
├── History
└── Literature
└── Novel
对于像 Windows 在盘符系统下,很多人也是类似如此的组织。树目录的优缺点也明显:
- 优点:分类简单,由粗到细,从属明确,最终定位目标
- 缺点:无法跨类划分(软链,映射都不好管理),层级复杂
有缺点并不是就得淘汰,相反的,这种简单的文件组织,要比用专门数据库记录打标签要更加适合电脑整理文件的大部分场景。
遵循系统
不同操作系统都有自己默认的基础用户目录,如 Linux 下有 XDG 规范的一些目录:
XDG_DESKTOP_DIR="$HOME/Desktop"
XDG_DOWNLOAD_DIR="$HOME/Downloads"
XDG_TEMPLATES_DIR="$HOME/Templates"
XDG_PUBLICSHARE_DIR="$HOME/Public"
XDG_DOCUMENTS_DIR="$HOME/Documents"
XDG_MUSIC_DIR="$HOME/Music"
XDG_PICTURES_DIR="$HOME/Pictures"
XDG_VIDEOS_DIR="$HOME/Videos"
随着自己的 icons 主题有着不同的显示:
我之前会划分很多目录在用户目录下,并且为他们定制图标,如我会增加类似 $HOME/Projects
或是 $HOME/VMs
,后面发现其实是浪费时间且没必要,简单以系统本身的来就可以了。
文件后缀
虽然文件的格式不是后缀决定的,但是后缀能帮我们快速识别文件格式。我之前喜欢按格式作为大类组织:
Music
├── m4a
│ ├── Sweden
│ │ ├── Maria Arredondo
│ │ └── Sofia Jannok
│ ├── Thailand
│ └── Various Artists
├── mp3
└── flac
几年的使用,越来越觉得并不是像一开始想的那样美好,毕竟,重要的是内容和范畴,不是格式。但按格式划分不是所有场景都不合适,只是不建议作为大类组织。
划分不同
用户的基础目录是比较定型的存在,在这些目录下划分大类,有着不同的划法,并不合适说 Music 和 Pictures 有着一致的划法。
有四个基础目录是比较需要自己去整理的:
- 音乐目录
- 图片目录
- 视频目录
- 文档目录
音乐划分
随着现在音乐正版化的推行,现在大多数音乐都是各大平台提供的应用独占的,所以我个人现在是以渠道来划分:
Music
├── Apple # itunes
│ ├── Sweden
│ │ ├── Maria Arredondo
│ │ └── Sofia Jannok
│ ├── Thailand
│ └── Various Artists
├── CloudMusic # 网易云
├── Digital # 数字合成音乐,如 mid 等
├── Lossless # 无损
└── Lossy # 有损
图片划分
Pictures
├── Animation # 动漫
├── Astronomy # 天文
├── Photo # 个人拍摄
├── Material # 素材
├── Screenshots # 截图
├── Portrait # 头像
└── Wallpapers # 壁纸
视频划分
Videos
├── Animation # 动漫
├── Demo # 样片
├── Documentary # 纪录片
├── Mine # 个人录制
├── TV # 电视剧
├── Youtube
└── Movie # 电影
文档划分
文档的划分是比较复杂的,万物皆可归为文档。
我把文档划分为四种类型:
- 附件
- 文本
- 项目
- 书刊
然后以这四种类型去划分大类:
Documents
├── Work # 工作文档,附件
│ ├── CompanyA
│ │ └── 2022-12-12 Add XXX Feather.doc
│ └── CompanyB
├── Life # 生活文档,附件
│ ├── 旅游攻略
│ │ └── 2022-12-12 荒岛求生.pdf
│ └── 五线谱
├── Press # 报刊杂志,书刊
├── Books # 书籍,书刊
│ ├── Archive # 归档,已读的好书
│ └── Library # 书馆,待读的藏书
├── Projects # 项目,项目
└── Notes # 笔记,文本
之前喜欢用编程语言来组织项目:
Projects
├── C
└── Java
现在看是不合适的,首先一个项目很容易混合多种编程语言,其次是一个独立的项目可以有很多独立模块构成,再者,项目不该只以开发的角度去看,最后是,项目本身可以是多个维度的,所以现在我都是这样来组织的:
Projects
├── Indexer # 记录标记定型的项目
├── Starter # 练手的项目
│ └── XXX Cookbook
├── CMSA # 一个 CMS 的代码项目
├── MicroServiceA # 一个微服务项目
│ ├── ServiceA
│ └── ServiceA UI
└── FinanceA # 一个投资的项目
笔记通常是:
- 需要一定的组织和管理形成的知识库(比较合适现在 logseq 或者 obsidian 这种双向笔记)
- 记录日常琐事和临时便签(比较合适现在如 notion 或者 wolai 这种跨平台网络笔记)
Notes
├── IntroductionA
├── MasteringA
└── BlogA
隐藏部分
日常还有一些程序运行文件,或者一些用户配置,现在一般是建立隐藏的用户目录:
Home/chongwish
├── .Applications # 程序
└── .VMs # 虚拟机/容器的用户配置