基础命令

文件管理命令

mkdir

- -m:在创建目录的时候设置权限
- -p:递归创建目录
- -v:显示创建目录的过程
mkdir zls{a..Z}
mkdir zls{A..z}

touch

#1. mkdir zls
#2. touch zls

## 不会报错,虽然zls目录已经存在,但是linux中一切皆文件,修改'3种时间'

[root@zls ~]# touch /zlsxxx/abc
touch: cannot touch ‘/zlsxxx/abc’: No such file or directory

## touch创建文件的时候,必须要在已经存在的目录中
## 如果目录权限不够,touch也会报错


## 当我使用root用户,在已存在的目录中touch文件,永远都不会报错。

tree

-d:只显示目录,不显示文件
-L:显示目录的层级

cp

3个语法:copy
#cp -T 源文件 目标文件(必须起个名字)
#cp -t 目标路径(也可以写名字) 源文件

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

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

cp 源文件 目标路径(也可以改名)
-a:相当于 -r -p ,既做到了递归拷贝,又保持了文件的属性
-i:如果拷贝过程中,出现重复文件名,则询问是否要覆盖
-r:递归拷贝文件  -R --recursive
-p:在拷贝文件的过程中,保持文件原有的属性
-v:显示拷贝的过程
-t:将源文件和目标,反过来
-f:强制拷贝

mv

语法:move
Usage: mv [OPTION]... SOURCE... DIRECTORY
mv [选项] 源文件 目标目录(改名)

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

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

-i:在移动的过程中,如果存在相同的文件名,则询问是否要覆盖
-f:强制移动
-t:将源文件和目标,反过来

rm

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

-d:删除目录(空目录)
-r:递归删除 -R, --recursive
-f:force 强制删除
-i:在删除文件之前,会询问是否真的要删除(一个一个文件问)
-I:也询问,但是只问一次
-v:显示删除的过程

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

rm -f file
rm -fr /dir

rm -f zls*
rm -f zls1*

------
rm -fr /tmp/*  #删除/tmp目录下面的所有内容,但是/tmp目录本身还在
rm -fr /tmp/   #删除/tmp目录下面的所有内容,包括/tmp目录本身也会被删除
------ 区别很大

cat

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

-A:相当于-v -E -T
-n:查看文件并显示出文件的行数(空行也编号)
-T:以^I,标注文件中的TAB键
-t:相当于 -v -T
-E:以$符,标注一行的结尾
-e:相当于 -E -v
-b:空行不给编号

[root@zls ~]# cat >> menu <<eof
> 1.苹果
> 2.梨
> 3.香蕉
> eof

tac 把文件反过来看
上一篇:Linux 新建/删除 文件/文件夹的命令


下一篇:4.2 bash 特性