系统文件管理命令
一个目录下不可能出现同名的文件,不管是文件夹还是文件都不能同名。linux区分大小写,windows不区分大小写。
创建目录mkdir
-
mkdir [option] directory # []表示可加可不加
-
-m:创建目录时授权
-
-p:递归创建目录,如果目录已经存在则不创建,并且不报错
-
-v:显示创建目录的信息,查看创建目录的过程
-
# 基本用法
-
mkdir /test # /目录下创建test目录
-
mkdir test # 当前目录创建
-
mkdir ../test # 当前目录的上一级目录
-
mkdir ./test # 当前目录创建
-
mkdir /usr/local/test # 指定目录创建
-
mkdir .test # 当前目录下创建隐藏目录
-
# 创建多个目录
-
cd /tmp
-
mkdir -p test /usr/local/test /test/teat # 第一种方式
-
mkdir a{1, 2, 3} # 创建有规律的a1 a2 a3目录
-
mkdir a{10...100} # 创建a10 - a100目录
-
mkdir /{home/{test/test{1, 2}, oldboy}, backup}
-
# -m 数字是是从000-777之间的数字,每一位不能超过7
-
mkdir -m 777 test # 所有的权限
-
mkdir -m 000 testb # 没有权限
创建目录时报错处理
-
[root@zhuang ~]# mkdir /abc/def/efg
-
mkdir: cannot create directory '/abc/def/efg': No such file or directory
-
报错原因是:/abc目录不存在,所以无法创建后续目录
-
解决方案:mkdir -p /abc/def/efg
-
[root@zhuang ~]# mkdir /abc/def/efg
-
mkdir:cannot create directory '/abc/def/efg': directory is exists
-
报错原因:目录已经存在了
-
解决方法:不创建就好了呀~~~,或者加参数-p就不会创建了,而且不报错
-
[test@zhuang ~]$ mkdir /root/test
-
mkdir:cannot create directory '/root/test': permission denied
-
报错原因:权限不够
-
解决方法:需要授权
创建文件touch
-
touch [option] file
-
1创建文件时如果文件已存在则修改它的 `修改时间` 和 `访问时间` 和 `改变时间`,不存在则创建
-
2必须创建在已经存在的目录中
-
3创建相同文件不会被覆盖
-
4linux中一切皆文件,没有后缀名之分
显示目录结构tree
-
# 什么参数都没有
-
tree # 当前目录的目录结构
-
# 指定文件夹查看目录结构
-
tree /r
-
# 查看指定级数的目录结构-L
-
tree -L 级数 /root
-
tree -L 3 /
-
# 只看目录结构-d,选项是指定给某个参数的,参数必须写在指定选项后面,比如-dL 1 不建议写-Ld 1
-
tree -d -L 3 /
复制文件或者目录cp
-
copy:拷贝,无法直接拷贝目录需要借助-r参数
-
cp [OPTION]... SOURCE... DIRECTORY # source路径下的文件拷贝到新路径下可以改名
-
cp www /root # 将当前路径下的www复制到/root路径下,文件名不变
-
cp www /root/aaa
-
1.如果aaa存在并且是一个目录,会将www放到/root/aaa目录下
-
2.如果aaa存在并且是一个文件,会将www放到/root目录下,并且覆盖原文件的内容
-
3.如果aaa不存在,会将www放到/root目录下并改名为aaa
-
# 三个语法
-
cp -T 原文件 目标文件(必须有文件名)
-
cp -t 目标路径 原文件
-
cp 原文件路径 目标路径(可以改名)
-
-a:相当于-r -p,既做到了递归又保持了文件的属性
-
-i:如果拷贝过程中出现重复文件名,询问是否覆盖
-
-r(-R, --recursivve):递归拷贝文件,直接拷贝会改变文件属性
-
-p:在拷贝文件的过程中保持文件原有的属性
-
-v:显示拷贝文件的过程
-
-t:将原文件和目标文件的书写位置反过来
移动命令mv
-
# 语法,mv命令可以直接移动目录不需要递归
-
mv [OPTION]... SOURCE1 SOURCE2.... ... DIRECTORY
-
mv test test1
-
# test1是否存在,如果存在并且是个目录,就将test移动到test1中
-
# 如果test1存在,如果存在是个文件会询问是否覆盖。
-
# test1如果不存在,则将test文件改名为test1
-
# 选项
-
-i:在移动过程中如果存在相同的文件名就询问是否覆盖
-
-t:将原文件和目录反过来
-
# 注意
-
mv命令可以直接移动目录,不需要递归,并且不会修改文件属性
-
mv命令后可以写多个文件,但是最后一个必须是目录,表示将前面所有的原文件移动到最后的目录中
-
文件不能覆盖目录,但是可以放入目录里面,目录不能覆盖文件并且不能放到文件里
删除命令rm
-
# 语法
-
rm [OPTION]... FILE...
-
Remove (unlink) the FILE(s).
-
# 选项
-
-d:只能删除空目录,没什么用
-
-r:递归删除
-
-f:强制
-
-v:显示删除的细节
-
# 注意
-
rm命令本身只能删除文件不能删除目录,如果想要删除目录需要使用选项
-
linux中没有回收站,rm会永久删除文件
-
删除文件的时候尽量使用rm -f
-
如果文件或者目录不存在不会报错
系统文件查看命令cat
-
# 语法
-
cat [OPTION]... [FILE]...
-
# 选项
-
-n:查看文件并显示文件的行数,空行也编号
-
-E:以$标注每行结尾
-
-T:以^I标注文件中的tab键
-
-A:相当于-v -E -T
-
# 其他用法
-
tac file # 把文件反过来看
-
cat >>xx.txt <<EOF # 向文件中输入内容,EOF表示输入EOF就结尾,也可以是其他字母
总结:
感谢每一个认真阅读我文章的人!!!
作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。
-
文档获取方式:
-
加入我的软件测试交流群:680748947免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点)
这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!
以上均可以分享,只需要你搜索vx公众号:程序员雨果,即可免费领取