Linux基础教程之文件管理类的命令解析

Linux系统内针对目录的管理命令有很多,现在我们进行逐一介绍:

1.  mkdir – make directories,创建目录

语法:mkdir [OPTION]… DIRECTORY…
常用选项:

选项 | 含义
—— | ——
-p, –parents | 递归创建,如果最终要创建的目录的上一级或上几级目录不存在,可以递归一并创建
-v | 显示命令执行的详细结果,通常与-p一同使用
-m MODE | 在创建目录时直接给定目录权限,如果省略则给定默认权限
> 注意:路径基名方为命令作用的对象,基名之前的路径必须得存在。

示例:

1
~]# mkdir -pv /a/b/c/d

递归创建/a/b/c/d,并显示创建详细结果

2.  rmdir – remove empty directories, 删除空目录,非空则无法删除

语法:rmdir [OPTION]… DIRECTORY…

常用选项:

选项 | 含义
—— | ——
-p | 递归删除,当删除完基名目录时,如果其父目录也为空,则一并删除;依此类推,直到非空目录为止
-v | 显示命令执行的详细结果,通常与-p一同使用
示例:

1
~]# rmdir -pv /tmp/a/b/c

递归删除/tmp/a/b/c,直到非空目录为止,并显示删除详细结果

3.  tree – 以倒置的树状结构来显示目录结构

tree [OPTIONS] [DIRECTORY]
常用选项:

选项 | 含义
—— | ——
-L | 限定查看目录结构时最多展开几个层级,限定查看目录的深度
示例:

1
~]# tree /etc -L 2

以树状结构显示/etc/目录的目录结构,限定最多显示两个层级

4.cp – copy,文件复制

语法:

场景 | 语法样例
—— | ————
单源复制 | cp [OPTION]… [-T] SOURCE DEST
多源复制 | cp [OPTION]… SOURCE… DIRECTORY
多源复制 | cp [OPTION]… -t DIRECTORY SOURCE…
alias cp=’cp -i’

单源复制(单个源 –> 单个目标)
如果目标不存在,则事先创建此文件,并复制源文件的数据流至目标中;
如果目标存在,且目标是非目录文件,则覆盖目标文件;
如果目标存在,且目标是目录文件,则现在目标目录下创建一个与源文件同名的文件,并将源文件数据流复制到新创建的目标文件中。

多源复制(多个源 –> 目录)
如果目标不存在,则会报错;
如果目标存在,但目标不是目录,则也会报错;
如果目标存在,且目标是目录,则会分别复制源文件中的每一个文件至目标目录中,并保持原名。

复制命令的常用选项

选项 | 含义
—— | ——
-i | 交互式复制,即覆盖之前提醒用户确认
-f | 强制覆盖目标文件,即不需要用户再次确认
-r, -R, –recursive | 递归复制目录
-d | 不跟踪符号链接所指向的源文件,仅复制符号链接
-a | 等同于-dR –preserv=all,可理解为archive,归档之意。
–preserv | 设置保留指定元数据属性

–preserv元数据保留对照表

元数据类型 | 含义
—— | ——
mode | 权限数据
ownership | 属主和属组
timestamps | 时间戳属性(atime, mtime, ctime)
context | 安全标签
xattr | 扩展属性
links | 符号链接
all | 上述所有属性
示例:

1
~]# cp  -r /var/log /tmp

递归复制/var/log目录至/tmp目录下

5. mv – move,移动或重命名文件

语法:

场景 | 语法样例
—— | ————
单源移动 | mv [OPTION]… [-T] SOURCE DEST
多源移动 | mv [OPTION]… SOURCE… DIRECTORY
多源移动 | mv [OPTION]… -t DIRECTORY SOURCE…
别名:alias mv=’mv -i’

单源移动(单个源 –> 单个目标)
如果目标不存在,则事先创建此文件,并复制源文件的数据流至目标中,然后将源文件删除;
如果目标存在,且目标是非目录文件,则覆盖目标文件,然后将源文件删除;
如果目标存在,且目标是目录文件,则现在目标目录下创建一个与源文件同名的文件,并将源文件数据流复制到新创建的目标文件中,然后将源文件删除。

多源移动(多个源 –> 目录)
如果目标不存在,则会报错;
如果目标存在,但目标不是目录,则也会报错;
如果目标存在,且目标是目录,则会分别复制源文件中的每一个文件至目标目录中,并保持原名,然后将源文件删除。

移动命令常用选项

选项 | 含义
—— | ——
-i | 交互式移动,即覆盖之前提醒用户确认
-f | 强制覆盖目标文件,即不需要用户再次确认
示例:

1
~]# mv -f /web/http /tmp/

强行移动/web/http到/tmp目录下

6. rm – remove,删除文件或目录

语法:rm [OPTION]… FILE…
别名:alias rm=’rm -i’

删除命令常用选项

选项 | 含义
—— | ——
-i | 交互式删除,即删除之前提醒用户确认
-f | 强制性删除,即不再需要提醒用户确认,直接进行删除操作
-r, -R, –recursive | 递归删除目录

强烈建议:
在生产环境的运维工作中,建议不要直接对文件做rm的删除操作,而是把所有想要删除的文件mv到一个自创建的临时目录中(用于模拟windows的回收站),等过一段时间,确认没有问题后,再进行删除操作!

原创文章,作者:N27_sapbcs,如若转载,请注明出处:http://www.178Linux.com/86375

相关新闻

历经多年发展,已成为国内好评如潮的Linux云计算运维、SRE、Devops、网络安全、云原生、Go、Python开发专业人才培训机构!