一般文件管理类命令-10.15
一般文件管理类命令
cp
-
格式:cp [option] 源 目标
-
选项:
- -r :递归复制目录及其子目录
- -i :显示与用户的交互,默认使用alias启用
- -f :强制模式
- -p:保留文件的属性信息,比如权限等
-
解释:
- 复制文件:源为文件,目标为目录,且目标目录存在,只复制文件的数据,不复制元数据(如权限等),新的复制内容是单独存放在硬盘块里的;若目标也为文件,则是复制并重命名。
- 复制目录:添加-r选项,源为目录,目标为目录,若目标目录不存在即会创建,并将内容复制到目录内。
mv
-
格式:mv [option] 源 目标
-
解释:
- 移动文件。若目标存在,则进行覆盖;若在相同文件内操作,即为重命名;若有多个源文件,则默认最后一个成为目标,目标不能是文件;若源是目录,则是将整个目录进行迁移,移动到另一个目录中。
rm
-
格式:rm [option] file
-
选项:
- -r :递归复制目录及其子目录
- -f :强制模式
-
解释:
- 不触发回收站的删除。直接删除内容。
ln
-
格式:ln [option] 源 目标
-
选项:
- -s :创建软链接(符号链接)
- -v :可视化过程,显示回显
-
解释:
-
软链接是一种特殊类型的文件,指向另一个文件的路径。可以把它看作是文件的快捷方式。
- 软链接存储的是目标文件的路径信息,所以它指向的目标文件可以在不同的文件系统中。
- 如果目标文件被删除或移动,软链接将会变成“断开的链接”,因为它无法找到目标文件。
- 软链接可以指向文件或者目录。
- 删除软链接不会影响目标文件。
-
硬链接是目标文件的直接引用。它与目标文件共享相同的inode号,也就是说,硬链接和原始文件本质上是同一个文件的多个名字。
- 硬链接与目标文件共享相同的inode号,意味着它们是同一个文件,只是有不同的文件名。
- 硬链接只能指向文件,不能指向目录。
- 硬链接必须在同一个文件系统中。
- 如果删除了原始文件,硬链接依然有效,因为文件数据仍然存在,直到所有的硬链接都被删除。
-
区别 | 软链接(Symbolic Link) | 硬链接(Hard Link) |
---|---|---|
作用对象 | 可以指向文件或目录 | 只能指向文件 |
文件系统限制 | 可以跨文件系统 | 只能在同一文件系统内 |
inode | 软链接有自己的inode号 | 硬链接与目标文件共享inode号 |
目标文件删除影响 | 删除目标文件,软链接失效 | 删除原文件,硬链接仍然有效 |
空间占用 | 占用极少的磁盘空间(只存路径) | 硬链接与原文件占用相同空间 |
比喻:
软链接就像是桌面上的快捷方式图标:
- 当你创建一个文件的软链接时,就像你在桌面上创建了一个这个文件的快捷方式。
- 快捷方式并不是真正的文件,它只是指向原文件的一个“路径”。
- 如果原文件被删除了,那么快捷方式也就没用了,因为它找不到原文件。
硬链接更像是给一个文件取了多个名字:
- 假设你有一本书,硬链接就像给这本书贴了多个标签,每个标签都有它自己的名字。
- 这些标签都指向同一本书,所以无论你从哪个标签去看,你看到的内容都是一样的。
- 即使你撕掉其中一个标签(删除文件),书依然存在,因为其他标签还在指向它。
du
-
格式:du [option] file/DIR
-
选项:
- -h :人性化显示内容
- -s :只显示目录内文件占用磁盘量总和
-
解释:
- 用于显示磁盘空间的使用情况。可以查询文件或者目录的占用。
time
-
格式:time COMMAND
-
解释:用于显示命令运行所消耗的时间。其中real为实际运行时间,user为用户状态所使用的时间,也就是bash shell到内核的时间,sys为内核执行的时间。