文件
好的文件管理习惯有助于延长电脑的使用时间和提高工作效率,过度的规范文件文件也可能降低工作效率。所以,有人喜欢东西就放桌面,桌面就是工作台,老板看到会觉得这样的牛马是好牛马,对于牛马自身而言在密集的文件堆里可能找一个文件要 -10 San值。
数据单位
所有的计算机的数据都是底层都是0或1存储,这一个0或1所占空间称为bit
比特位,电脑读写按8个bit为一组读写,即1个字节byte
,1个字节所能表示不同的数据共256种(2的8次方)。常见的单位有 Byte、Kilobyte、Megabyte, Gigabyte,Terabyte。
以下表格为各个数据体积单位换算
数据单位 | 缩写(常用) | 等价于 |
---|---|---|
Byte | B | 8bit |
Kilebyte | KB K | 1024B |
Megabyte | MB M (通常读兆B、兆) | 1024KB |
Gigabyte | GB G | 1024MB |
Terabyte | TB T | 1024GB |
Note
1024是2的10次方,约略等于1000,可以用1000粗略换算,为什么是1024?因为计算机非常喜欢乘2
值得注意的是,网速单位也会有用 KB/s、MB/s、GB/s 表示每秒传输的数据量
文件占用空间
俗称文件的大小、体积(size),使用数据单位指代,常见的文件以KB、MB、GB评估其大小。
一张标清照片约500KB,一个保真音质的mp3音频大概8MB,一部1080P清晰度的电影约4GB。我们对这些文件的大小要有个感知,如果一个txt文本文件有1GB大小,这个文本文件多数是有问题的。
文件类型
文件的格式 基本名+文件拓展名
文件拓展名是由.
跟着特定的字母或数字,用于规定文件类型,如 .txt .jpg
文件根据数据定义可简单分为两种
- 字符文件,常称文本文件,其内容可被解析为字符,可用文本编辑,且体积偏小,KB级别。
- 字节文件,又名二进制文件,常根据文件类型进行特定的解析,内容为0和1的编排,以文本解析则有很多乱码和奇奇怪怪的字符,文件体积可以很大。
举例,创建一个txt文件,是文本文件,将它压缩为一个zip文件后,这个zip文件却是字节文件了。
更改文件格式并不会修改文件内容本身。如果将文件mp3格式改成txt,它还是字节文件,文本编辑器并不能正常解读。故文件格式不能乱改。
常见的文件格式对应的文件类型
格式 | 类型 | 格式 | 类型 |
---|---|---|---|
.txt | 文本 | .link | 快捷方式 |
.doc/.docx | 文档 | .xls/.xlsx/.csv | 数据表格 |
.ppt/.pptx | 幻灯片,ppt | .mp4 | 视频 |
.mp3 | 音频 | .xml | 标记语言文本 |
.jpg/.jpeg | 有损压缩图片 | .json | json数据文本 |
.png | 无损可透明图片 | .ini/.conf | 文本配置 |
.gif | 无损动态图 | .toml | 文本配置 |
文档 | .yaml | 文本配置 | |
.bat/.cmd/.ps1 | windows脚本 | .exe | 可执行程序 |
.zip/.rar/.7z/.tar/.tar.gz | 压缩 | .dll | 程序组件 |
.epub/.mobi/.azw3 | 电子书 | .ico | 图标 |
.md | Markdown文本 | .html | 网页 |
.js | javascript脚本 | .sh | unix脚本 |
.dat | 应用数据 | .msi | 安装程序 |
有些格式文件本质是压缩文件,如epub,用压缩工具打开就能看到具体的组成。
文件夹
文件夹folder / directory
用于聚合文件,在Unix系统中又称为目录。
桌面操作系统通常会有几个固定的特定含义的文件夹,桌面(Desktop)、文档(Documents)、下载(Downlaod)、图片、视频、音乐
文件与文件夹组合就形成了多层不一的结构,而确定每个文件的在文件系统中的位置就是通过路径 path
表达,这部分内容将会在操作系统章节细讲。
Note
系统给你们规定好一些常用的文件夹,你们却只往桌面文件夹塞东西,有系统默认的下载文件夹你们也不用,还是下载到桌面省事。
文件操作
创建:What can I say?
修改:对文件执行写入操作,这个也没什么好说的,记得保存
删除:丢到回收站或垃圾桶里,有些程序里的删除是绝对的删除
复制:又称拷贝copy
,创建一份一摸一样的文件
剪切:移动文件操作,跨磁盘或跨文件系统操作的移动文件包含两个过程,先复制到目标位置,然后再删除源文件
覆盖:复制的过程中,源文件包含和目标区域相同文件名的文件,会提示是否覆盖
打开:其他应用软件正在读取访问这个文件,这个文件可能删除不了或者覆盖
还原:回收站里的文件可以恢复到原位置
文件基本属性
- 体积大小
- 文件名
- 文件权限,可读,可修改,可执行
文件状态
我们打开一个文件,通常只是为了读取数据,而且修改数据,比如打开图片,一般只是查看,并未对文件本身做出一定的修改,过程为文件从硬盘传到内存,然后CPU与内存交互获取文件。
如若编辑图片,那将会使得读到内存中的文件数据发生变化,修改文件后如果没有保存,那读入到内存里的文件是变化了,但是并未回归到硬盘,文件的保存过程就是将内存中的数据存入硬盘。
一般软件都会提供两种保存方式:
- 直接保存,对原文件的覆盖
- 另存为新文件,源文件不修改,将修改后的内容存为一个新文件。
文件系统
文件系统是定义文件数据如何组织存在存储硬盘中,具有读写性能优化、安全恢复、查找优化、权限管理、快照备份等特性要求。
常见的文件系统
- NTFS,Windows默认文件系统
- ext4,Linux 文件系统主流
- fat32,闪存卡,存储卡,小容量U盘,单文件大小不能超过4GB
- exfat,解决了fat32不能存超过4GB文件的问题,推荐U盘使用这个
- APFS,苹果公司的自研
- F2FS,安卓手机系统中采用,延长存储使用寿命
格式化操作,对文件系统执行格式化操作,将会抹掉这个文件系统的所有文件记录,亦可更改其文件系统类型。慎用格式化操作。
文件权限
文件权限根据角色划分,要判断当前登录用户、同用户组用户,其他用户,管理员用户的权限。
在这里我只讲一个问题,就是Windows系统下,我们执行文件操作时,会提示是否使用管理员模式
执行,这说明这个文件不是普通文件,需要提升权限。
应注意,要操作的文件有没有必要提权,不然其他应用程序不能正常读写(除非也以管理员模式运行)
另外,发现不应该有提权的文件夹必须提权才可以操作,这说明文件夹存在权限过度的问题,应修正,防止其他软件不能正常操作这些文件。
大批量文件操作
我们执行大批量文件操作(如删除、复制),经常看到文件传输速度忽高忽低,这是由于文件系统的特性决定的,小文件慢,大文件快。
跨文件系统传输,尤其是向U盘中拷贝数据,这个时候可以考虑将文件打包(即压缩为一个zip),提高传输效率,同样的也尽可能避免在U盘中直接解压大量文件,这也是不高效的操作。
压缩文件
压缩是一门学问,解压也是一门学问。
不同的软件,解压和压缩的速度也不一样,相对的,压缩比越高,压缩的时间也较长,压缩吃CPU资源。
压缩率,压缩后的文件大小相对于源文件的百分比。不同的压缩格式其压缩率也不一,这里我只讲3种最推荐的主流格式。
Zip压缩
这是最常见的压缩,压缩快解压也快,对压缩文件大小没什么要求的,可以用这个打包文件。
7z压缩
质量最高的压缩,可以做到压缩率很低,也可以调节压缩等级,等级越高,压缩时间越长,压缩文件的体积越小
tar归档
tar的作用和zip类似,速度也快,是Unix系统种使用的多一些,tar归档完之后,可以使用gzip压缩对tar文件二次压缩成.tar.gz(缩写.tgz)文件,.tar.gz 在特定领域为大文件打包。解压tgz也是先解成tar然后再拆包tar。
一些特定格式的文件已经是压缩文件,如.jpeg,.mp4
压缩一个已是压缩文件并不能带来多大的效果,这点要注意,比如压缩一个mp4视频文件为zip,其目的只是为了逃避审查(微信?),毕竟谁知道zip里是个啥?
分卷压缩
一个压缩文件很大,同样不便于传输,万一传输失败了就要全部重传。故可以将一个压缩文件分割成几个小块文件,解压的时候,解压一个小块会自动追加解压其他压缩块。
其他性质的文件
-
隐藏文件,一般情况看不见的但真实存在的,有些文件不是为了给用户直接使用,而是提供给软件的,故而希望用户忽略他们的存在,避免用户对这些文件的访问,也能简化文件夹的内容显示。所以桌面隐藏图标整个世界就清净了。
-
链接
link
文件,Windows中的快捷方式
,从多个位置访问文件但是不想用很多个副本。链接文件包含了一个目标文件的位置信息。打开链接文件等价于打开目标文件,但是删除链接文件不会删除目标文件本体,经典的认知就是,删除桌面的程序快捷方式并不是卸载程序,程序还在,只是少了桌面的入口。 -
缓存
cache
文件,缓存的意义在于降低文件读写的次数消耗,提高文件使用效率。比如听网易云音乐,网易云会将音频文件缓存到它的缓存文件夹中,下次再听的时候它优先查看是否有缓存,这样就不用从服务器再下载了。缓存文件多数软件提供清理功能,在磁盘空间拮据的情况下,可以优先清理缓存,通常缓存文件清除后并不影响程序的正常使用。
-
临时
temp
文件,程序在运行过程中产生的文件,这类文件比缓存文件具有一定的时效性,压缩文件预览查看操作就会生成临时文件供用户访问。系统也有临时文件区域供程序使用。
文件查找
有特定的工具方便我们查找想要的文件,如果对文件的位置有着清晰的认知就不需要查找。
文件查找是特别消耗CPU的行为,尤其查找范围文件过千,这就是为啥查找文件的时候容易卡顿。
过度的依赖查找反而是没有养成文件分类的好习惯的表现。做好文件归纳分类,缩小文件查找范围,再利用查找功能是最佳的文件习惯。
不要说自己从来不会搞什么分类,小孩认识世界的方式就是命名和分类,命名是从无到有,分类是从有到不同。
文件排序
文件夹内的文件以某种规则排列。比如根据大小,文件日期,文件名,默认文件名,文件名排序根据文件名的拼音字母的顺序。这和微信联系人里AAA建材王总比较靠前一个道理。
文件命名
似乎取名字是个非常困难的问题?
取名参考
- 意义明确,知道这是什么
- 避免非常规字符比如
#@!~
- 数字用作编号方便排序,用作日期
- 能使用英语就使用英语,不知英语就拼音,拼音也不习惯就汉字
- 可以使用
-
和_
做词汇分割,护眼 - 拒绝又臭又长的命名,将它改为简介明了的名字