Linux基础 - Linux系统目录结构

系统文件管理命令

一个目录下不可能出现同名的文件,不管是文件夹还是文件都不能同名。linux区分大小写,windows不区分大小写。

创建目录mkdir

  1. mkdir [option] directory # []表示可加可不加

  2. -m:创建目录时授权

  3. -p:递归创建目录,如果目录已经存在则不创建,并且不报错

  4. -v:显示创建目录的信息,查看创建目录的过程

  5. # 基本用法

  6. mkdir /test # /目录下创建test目录

  7. mkdir test # 当前目录创建

  8. mkdir ../test # 当前目录的上一级目录

  9. mkdir ./test # 当前目录创建

  10. mkdir /usr/local/test # 指定目录创建

  11. mkdir .test # 当前目录下创建隐藏目录

  12. # 创建多个目录

  13. cd /tmp

  14. mkdir -p test /usr/local/test /test/teat # 第一种方式

  15. mkdir a{1, 2, 3} # 创建有规律的a1 a2 a3目录

  16. mkdir a{10...100} # 创建a10 - a100目录

  17. mkdir /{home/{test/test{1, 2}, oldboy}, backup}

  18. # -m 数字是是从000-777之间的数字,每一位不能超过7

  19. mkdir -m 777 test # 所有的权限

  20. mkdir -m 000 testb # 没有权限

创建目录时报错处理

  1. [root@zhuang ~]# mkdir /abc/def/efg

  2. mkdir: cannot create directory '/abc/def/efg': No such file or directory

  3. 报错原因是:/abc目录不存在,所以无法创建后续目录

  4. 解决方案:mkdir -p /abc/def/efg

  5. [root@zhuang ~]# mkdir /abc/def/efg

  6. mkdir:cannot create directory '/abc/def/efg': directory is exists

  7. 报错原因:目录已经存在了

  8. 解决方法:不创建就好了呀~~~,或者加参数-p就不会创建了,而且不报错

  9. [test@zhuang ~]$ mkdir /root/test

  10. mkdir:cannot create directory '/root/test': permission denied

  11. 报错原因:权限不够

  12. 解决方法:需要授权

创建文件touch

  1. touch [option] file

  2. 1创建文件时如果文件已存在则修改它的 `修改时间` 和 `访问时间` 和 `改变时间`,不存在则创建

  3. 2必须创建在已经存在的目录中

  4. 3创建相同文件不会被覆盖

  5. 4linux中一切皆文件,没有后缀名之分

显示目录结构tree

  1. # 什么参数都没有

  2. tree # 当前目录的目录结构

  3. # 指定文件夹查看目录结构

  4. tree /r

  5. # 查看指定级数的目录结构-L

  6. tree -L 级数 /root

  7. tree -L 3 /

  8. # 只看目录结构-d,选项是指定给某个参数的,参数必须写在指定选项后面,比如-dL 1 不建议写-Ld 1

  9. tree -d -L 3 /

复制文件或者目录cp

  1. copy:拷贝,无法直接拷贝目录需要借助-r参数

  2. cp [OPTION]... SOURCE... DIRECTORY # source路径下的文件拷贝到新路径下可以改名

  3. cp www /root # 将当前路径下的www复制到/root路径下,文件名不变

  4. cp www /root/aaa

  5. 1.如果aaa存在并且是一个目录,会将www放到/root/aaa目录下

  6. 2.如果aaa存在并且是一个文件,会将www放到/root目录下,并且覆盖原文件的内容

  7. 3.如果aaa不存在,会将www放到/root目录下并改名为aaa

  8. # 三个语法

  9. cp -T 原文件 目标文件(必须有文件名)

  10. cp -t 目标路径 原文件

  11. cp 原文件路径 目标路径(可以改名)

  12. -a:相当于-r -p,既做到了递归又保持了文件的属性

  13. -i:如果拷贝过程中出现重复文件名,询问是否覆盖

  14. -r(-R, --recursivve):递归拷贝文件,直接拷贝会改变文件属性

  15. -p:在拷贝文件的过程中保持文件原有的属性

  16. -v:显示拷贝文件的过程

  17. -t:将原文件和目标文件的书写位置反过来

移动命令mv

  1. # 语法,mv命令可以直接移动目录不需要递归

  2. mv [OPTION]... SOURCE1 SOURCE2.... ... DIRECTORY

  3. mv test test1

  4. # test1是否存在,如果存在并且是个目录,就将test移动到test1中

  5. # 如果test1存在,如果存在是个文件会询问是否覆盖。

  6. # test1如果不存在,则将test文件改名为test1

  7. # 选项

  8. -i:在移动过程中如果存在相同的文件名就询问是否覆盖

  9. -t:将原文件和目录反过来

  10. # 注意

  11. mv命令可以直接移动目录,不需要递归,并且不会修改文件属性

  12. mv命令后可以写多个文件,但是最后一个必须是目录,表示将前面所有的原文件移动到最后的目录中

  13. 文件不能覆盖目录,但是可以放入目录里面,目录不能覆盖文件并且不能放到文件里

删除命令rm

  1. # 语法

  2. rm [OPTION]... FILE...

  3. Remove (unlink) the FILE(s).

  4. # 选项

  5. -d:只能删除空目录,没什么用

  6. -r:递归删除

  7. -f:强制

  8. -v:显示删除的细节

  9. # 注意

  10. rm命令本身只能删除文件不能删除目录,如果想要删除目录需要使用选项

  11. linux中没有回收站,rm会永久删除文件

  12. 删除文件的时候尽量使用rm -f

  13. 如果文件或者目录不存在不会报错

系统文件查看命令cat

  1. # 语法

  2. cat [OPTION]... [FILE]...

  3. # 选项

  4. -n:查看文件并显示文件的行数,空行也编号

  5. -E:以$标注每行结尾

  6. -T:以^I标注文件中的tab键

  7. -A:相当于-v -E -T

  8. # 其他用法

  9. tac file # 把文件反过来看

  10. cat >>xx.txt <<EOF # 向文件中输入内容,EOF表示输入EOF就结尾,也可以是其他字母

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

  1. 文档获取方式:

  2. 加入我的软件测试交流群:680748947免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点)

这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

以上均可以分享,只需要你搜索vx公众号:程序员雨果,即可免费领取

相关推荐
code bean19 分钟前
【C#基础】函数传参大总结
服务器·开发语言·c#
shelby_loo20 分钟前
通过 Docker 部署 WordPress 服务器
服务器·docker·容器
Hqst_Kevin27 分钟前
Hqst 品牌 H81801D 千兆 DIP 网络变压器在光猫收发器机顶盒中的应用
运维·服务器·网络·5g·网络安全·信息与通信·信号处理
前端-文龙刚31 分钟前
小程序给对象赋值(双向绑定)方法之一
服务器·小程序·apache
DREAM依旧36 分钟前
《深入了解 Linux 操作系统》
linux
阿赭ochre1 小时前
Linux环境变量&&进程地址空间
linux·服务器
honey ball1 小时前
仪表放大器AD620
运维·单片机·嵌入式硬件·物联网·学习
Iceberg_wWzZ1 小时前
数据结构(Day14)
linux·c语言·数据结构·算法
秋已杰爱1 小时前
进程间关系与进程守护
运维·服务器
微尘81 小时前
C语言存储类型 auto,register,static,extern
服务器·c语言·开发语言·c++·后端