文件管理类的命令总结

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

1.  mkdir – make directories,创建目录

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

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

示例:
~]# mkdir -pv /a/b/c/d
递归创建/a/b/c/d,并显示创建详细结果

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

语法:rmdir [OPTION]… DIRECTORY…

常用选项:

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

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

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

选项 | 含义
—— | ——
-L | 限定查看目录结构时最多展开几个层级,限定查看目录的深度
示例:
~]# 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 | 上述所有属性
示例:
~]# 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 | 强制覆盖目标文件,即不需要用户再次确认
示例:
~]# 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

(26)
N27_sapbcsN27_sapbcs
上一篇 2017-09-07 15:10
下一篇 2017-09-07 16:04

相关推荐

  • 学习宣言

    别人笑我太疯癫,我笑他人看不穿。不见五陵豪杰墓,无花无酒锄作田。

    Linux干货 2016-10-24
  • N26-博客作业-week9

    1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash # declare -i nologin_num=0,login_num=0 for i in $(cut -d: -f7 /etc/passwd); do if …

    Linux干货 2017-04-01
  • 15-2用户系统资源配额

    用户资源系统配额 在系统中,允许系统用户使用存储空间,但是不能限制的让用户随意使用存储空间,对用户存储空间的设定就是用户资源系统配额。 下面以/home 为例,通常如果系统中有一定的用户,会把用户的家目录作为一个单独的分区,从而实现更好的管理。下面具体讲解如何把用户家目录从根系统分区分离出来进行磁盘配额。 1、拿出一个未使用的分区,把用户家目录的数据拷贝到新…

    Linux干货 2016-12-02
  • N25期–第八周作业

    1、写一个脚本,使用ping命令探测172.16.250.1-172.16.250.254之间的所有主机的在线状态; 在线的主机使用绿色显示; 不在线的主使用红色显示; #!/bin/bash declare -i i=1 hostping(){     if ping -W&n…

    Linux干货 2017-02-27
  • 第一周博客 计算机组成及Linux基础入门

    1、描述计算机组成及其功能。
    2、描述罗列Linux的发行版,并描述不同发行版之间的联系和区别。
    3、描述Linux的哲学思想,并按照自己的理解对其进行解释。
    4、说明Linux系统上命令的使用格式,详细介绍ifconfig、echo、tty、startx、export、pwd、history、
    shutdown、poweroff、reboot、hwclock、date命令的使用,并配合相应的示例说明阐述。
    5、如何在Linux系统上获取命令的帮助信息,请详细列出,并描述man文档的章节是如何划分。
    6、请罗列Linux发行版的基础目录名称命名法则及功能规定。

    2017-12-02
  • C语言的谜题

    这几天,本站推出了几篇关于C语言的很多文章如下所示: 语言的歧义 [酷壳链接] [CSDN链接] 谁说C语言很简单? [酷壳链接] [CSDN链接] 6个变态的C语言Hello World程序 [酷壳链接] [CSDN链接] 如何加密/弄乱C源代码 [酷壳链接] [CSDN链接] C语言的谜题 [酷壳链接] …

    Linux干货 2016-05-08

评论列表(2条)

  • 马哥教育
    马哥教育 2017-10-10 12:58

    第次作业完成的都很认真,写的越来越好了,也看得出进步越来越大的,非常棒!

  • 浮生
    浮生 2018-01-01 22:22

    这次的排版就比上一章好多了