文件管理类的命令总结

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

相关推荐

  • 重构-改善既有代码的设计:编写代码22宗罪(三)

    1 Duplicated  Code重复代码        不同的地方出现相同的程序结构:         如果你在一个以上的地点看到相同的程序结构,那么可以肯定:设法将它们和而为一,程序会变得更好。最常见的“重复代码”就是一个类内的两个函数含有相同的表达式。另一种常见…

    Linux干货 2015-04-07
  • 面向对象的实例方法,类方法和静态方法

    类方法和静态方法 普通函数 class Person: def normal_method(): print(‘normal’) Person.normal_method() # Person().normal_method() print(Person.__dict__) Person.normal_method()可以,是因为这个方法只是被Person这…

    2017-11-11
  • alias——Linux基本命令(4)

    1.     alias别名 (1)查看、设置别名 Linux系统提供了一个有用的工具叫alias,可以让我们将一些需要频繁使用的但又过于冗长的命令设置一个别名,这样一来,以后只需输入一个简短的别名就可以达到同样的作用。 alias显看当前已定义的别名   使用aliasaliname=’comm…

    2017-07-13
  • TIME_WAIT引起Cannot assign requested address报错

    1.  问题描述      有时候用redis客户端(php或者java客户端)连接Redis服务器,报错:“Cannot assign requested address。”      原因是客户端频繁的连接服务器,由于每次连接都在很短时间内结束,导致很多的TIME_WAIT。所以新的连…

    Linux干货 2016-03-09
  • Linux基础知识(四)

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限 [root@bogon ~]# cp -r /etc/skel/ /home/tuser1 [root@bogon ~]# chmod -R 700 /home/tuser1 2、编辑/etc/group文件,添加组hadoo…

    Linux干货 2016-10-17
  • ​N25第三周作业

    第三周 一、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 [root@zf ~]# who | cut -d " " -f1  | sort | uniq -…

    Linux干货 2016-12-14

评论列表(2条)

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

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

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

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