【Linux基础】文件管理类命令
总结下linux系统文件管理类的命令
-
mkdir -> make dirtctories 创建目录
语法:mkdir [OPTION]… DIRECTORY…
常用选项
-p: 自动按需创建父目录;
-v: verbose,显示详细过程;
-m MODE:直接给定权限;
注意:路径基名方为命令的作用对象;基名之前的路径必须得存在;
示例:
~]# mkdir -pv /a/b/c/d
递归创建/a/b/c/d,并显示创建详细结果
-
rmdir -> remove empty directories 移除空目录,非空则无法删除
语法:rmdir [OPTION]… DIRECTORY…
常用选项
-p:删除某目录时,如果其父目录是空的话,一并删除;
-v:显示过程;
示例:
rmdir -pv /tmp/a/b/c
递归删除/tmp/a/b/c,直到非空目录为止,并显示删除详细结果.
-
tree 以倒置的树状结构来显示目录结构
语法:tree [OPTIONS] [DIRECTORY]
常用选项:
-L:限定查看目录结构时最多展开几个层级,限定查看目录的深度
示例:
tree /etc -L 2
以树状结构显示/etc/目录的目录结构,并且最多显示两个层级
-
cp --> copy 复制
语法:单源复制:cp [OPTION]... [-T] SOURCE DEST
多源复制:cp [OPTION]... SOURCE... DIRECTORY
cp [OPTION]... -t DIRECTORY SOURCE...
单元复制:(单个源 –> 单个目标)
如果目标不存在,则事先创建此文件,并复制源文件的数据流至目标中;
如果目标存在,且目标是非目录文件,则覆盖目标文件;
如果目标存在,且目标是目录文件,则现在目标目录下创建一个与源文件同名的文件,并将源文件数据流复制到新创建的目标文件中。
多源复制(多个源 –> 目录)
如果目标不存在,则会报错;
如果目标存在,但目标不是目录,则也会报错;
如果目标存在,且目标是目录,则会分别复制源文件中的每一个文件至目标目录中,并保持原名。
常用选项:
-i:交互式复制,即覆盖之前提醒用户确认;
-f:强制覆盖目标文件;
-r, -R:递归复制目录;
-d:复制符号链接文件本身,而非其指向的源文件;
-a:-dR --preserve=all, archive,用于实现归档;
--preserv= 设置保留指定元数据属性
元数据对照表:
mode:权限
ownership:属主和属组
timestamps: 时间戳
context:安全标签
xattr:扩展属性
links:符号链接
all:上述所有属性
实例:
cp -r /var/log /tmp
递归复制/var/log目录至/tmp目录下
-
mv --> move 移动或重命名文件
语法:mv [OPTION]... [-T] SOURCE DEST mv [OPTION]... SOURCE... DIRECTORY mv [OPTION]... -t DIRECTORY SOURCE..
单源移动(单个源 –> 单个目标)
如果目标不存在,则事先创建此文件,并复制源文件的数据流至目标中,然后将源文件删除;
如果目标存在,且目标是非目录文件,则覆盖目标文件,然后将源文件删除;
如果目标存在,且目标是目录文件,则现在目标目录下创建一个与源文件同名的文件,并将源文件数据流复制到新创建的目标文件中,然后将源文件删除。
多源移动(多个源 –> 目录)
如果目标不存在,则会报错;
如果目标存在,但目标不是目录,则也会报错;
如果目标存在,且目标是目录,则会分别复制源文件中的每一个文件至目标目录中,并保持原名,然后将源文件删除。
常用选项:
-i:交互式移动,即覆盖之前提醒用户确认
-f:强制覆盖目标文件,即不需要用户再次确认
在同一目录下做mv操作是相当于更改文件名
实例:
mv -f /web/http /tmp/
强行移动/web/http到/tmp目录下
-
rm – remove,删除文件或目录
语法:rm [OPTION]… FILE…
常用选项
-i :交互式删除,即删除之前提醒用户确认
-f :强制性删除,即不再需要提醒用户确认,直接进行删除操作
-r:-R, –recursive | 递归删除目录
强烈建议:
在生产环境的运维工作中,建议不要直接对文件做rm的删除操作,而是把所有想要删除的文件mv到一个自创建的临时目录中(用于模拟windows的回收站),再写一个脚本文件,定时删除垃圾文件。
bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。
bash特性:命令执行状态返回值:
bash通过状态返回值来输出此结果:
成功:0
失败:1-255
当一个命令执行完成之后,其状态返回值保存于bash的特殊变量$?中;
命令正常执行时,有的还回有命令返回值:
根据命令及其功能不同,结果各不相同;