Linux-文件管理命令

创建目录-mkdir

- p		# 递归创建目录,如果文件目录存在,也不会提示错误
- v		# 显示创建过程
- m             # 指定文件权限
# 批量创建
[root@wqh ~]# mkdir -m 777 user{1,2,3}
[root@wqh ~]# mkdir -pv /data/user{1..10}    # 根下没有data这个文件夹,需要加-p选项
# 如何创建以下文件夹?
/tmp/test
/tmp/abc
/tmp/abc/user
/tmp/abc/user
/application/
/application/wqh
/application/colleague
/application/colleague/test1
/application/colleague/test2
/application/user
/application/user/test
/backup
# 执行命令如下
[root@wqh ~]#  mkdir -pv /{tmp/{test,abc/user{1,2}},application/{wqh,user/test,colleague/test{1,2}},backup}
mkdir: created directory ‘/tmp/test’
mkdir: created directory ‘/tmp/abc’
mkdir: created directory ‘/tmp/abc/user’
mkdir: created directory ‘/tmp/abc/user’
mkdir: created directory ‘/application’
mkdir: created directory ‘/application/wqh’
mkdir: created directory ‘/application/user’
mkdir: created directory ‘/application/user/test’
mkdir: created directory ‘/application/colleague’
mkdir: created directory ‘/application/colleague/test1’
mkdir: created directory ‘/application/colleague/test2’
mkdir: created directory ‘/backup’


创建文件命令-touch

touch # 创建新文件,更改时间戳
Usage: touch [OPTION]... FILE...
1.创建,如果文件已存在,则修改它的`修改时间`和`访问时间`和`改变时间`,不存在则创建(不会报错)
2.必须创建在已经存在的目录中
3.创建相同文件,不会被覆盖
4.在Linux中,一切皆文件,没有后缀的区别,后缀是为了给人看的

显示目录结构命令-tree

-L    # 层级
-d    # 目录
-C    # 不同类型文件加不同颜色
tree -dL 2 / # 只显示2层,只显示目录文件

文件管理命令-cp

语法:copy
Usage: cp [OPTION]... [-T] SOURCE DEST(此用法必修改文件名)
  or:  cp [OPTION]... SOURCE... DIRECTORY
  or:  cp [OPTION]... -t DIRECTORY SOURCE...

[root@wqh ~]# cp /etc/hosts /opt/
cp: overwrite ‘/opt/hosts’? 
是否要覆盖

################      注意:cp命令,无法直接拷贝目录,会修改文件的属性!!!

cp 源文件 目标路径(也可以改名)
-a:# 和-pdr同样效果 
-i:# 如果文件已存在,询问是否覆盖
-r:# 递归复制,复制目录(无论是否为空)
-p:# 保留原有属性的复制
-d:# 保留链接属性的复制(如果将软链接文件复制到另一个路径,容易找不到源文件,取决于软链接文件指向的路径是否为绝对路径)
-v:# 显示创建过程(verbose)
-t:# 源文件和目的路径的位置颠倒了
-f:# 和一个效果,强制执行

文件管理命令-mv

语法:move
Usage: mv [OPTION]... [-T] SOURCE DEST(必修改文件名)
  or:  mv [OPTION]... SOURCE... DIRECTORY
  or:  mv [OPTION]... -t DIRECTORY SOURCE...
mv [选项] 源文件 目标目录(改名)

[root@wqh ~]# mv wqh wqh1
1.wqh1是否存在,如果存在,并且是个目录,则将wqh文件移动到wqh1目录中
2.wqh1是否存在,如果不存在,则将wqh文件改名为wqh1
3.wqh1是否存在,如果存在,并且是个文件,则会询问是否要覆盖

注意:
1.mv命令,可以直接移动目录,不需要递归,mv不会修改文件的属性
2.mv 后面可以写 n个文件,但是最后一个必须是目录
3.文件不能覆盖目录,但是可以放入目录里面,目录不能覆盖文件,并且也不能放到文件里面

-i:# 如果文件存在,提示是否覆盖
-f:# 强制覆盖,不需要询问
-t:# 颠倒源文件和目的路径的位置

文件管理命令-rm

语法:remove
Usage: rm [OPTION]... FILE...
rm [选项] 文件名

-d:# 删除目录(空目录)
-r:# 递归删除
-f:# 强制执行,不会提示
-i:# 提示,没删除一个文件,都要提示一次
-I:# 提示,不论删除多少文件,总共只提示一次
-v:# 显示过程

注意:
1.在Linux中,没有回收站,所以rm会永久删除文件
2.删除文件的时候,尽量使用 rm -f
3.如果文件或者目录不存在,也不会报错

------
rm -fr /tmp/*  #删除/tmp目录下面的所有内容,但是/tmp目录本身还在
rm -fr /tmp/   #删除/tmp目录下面的所有内容,包括/tmp目录本身也会被删除
------ 区别很大
原文地址:https://www.cnblogs.com/zzzwqh/p/12525935.html