Linux(Centos 7.6)目录结构详解
Linux(Centos 7.6)是一个操作系统,其核心设计理念是将一切资源抽象为文件,即一切皆文件。比如系统中的硬件设备硬盘、网络接口等都被视为文件。Windows系统一般是分为C、D、E盘。而Linux(Centos 7.6)是以斜线"/"作为文件系统的开始目录,我们一般叫"根目录",然后以根目录为起始点成树状图进行分布。
1.Linux(Centos 7.6)目录结构查看
1.1.使用ls/ll命令查看
cd:不通目录间的切换。cd / 切换到根目录。
ls/ll:ls命令作用是列出目录内容,ll是ls -l的别名意思是以长列表格式输出目录内容。
1.以下ls查看的仅是一个名称,一般情况下不能分辨这些名称目录、文件还是软链接等(部分远程SSH工具具备不同类型名称颜色不同,如Xshell目录显示颜色为蓝色)。
2.通过ll查看长列表格式查看,可以通过每行的开头查看哪些是目录,哪些是软链接。d开头的是目录,l开头的是软链接,-开头的是文件(根目录下默认没有文件,但可人为在根目录下创建文件)。
3.通过cd和ls/ll命令就能一层一层的查看目录结构。
[root@localhost ~]# cd /
[root@localhost /]# ls
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
[root@localhost /]# ll
total 40
lrwxrwxrwx. 1 root root 7 Dec 13 00:58 bin -> usr/bin
dr-xr-xr-x. 5 root root 4096 Dec 13 01:06 boot
drwxr-xr-x. 19 root root 3260 Dec 26 03:22 dev
drwxr-xr-x. 143 root root 8192 Dec 24 20:36 etc
drwxr-xr-x. 3 root root 18 Dec 13 01:05 home
lrwxrwxrwx. 1 root root 7 Dec 13 00:58 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 Dec 13 00:58 lib64 -> usr/lib64
drwxr-xr-x. 2 root root 6 Apr 11 2018 media
drwxr-xr-x. 3 root root 17 Dec 24 18:50 mnt
drwxr-xr-x. 4 root root 30 Dec 23 23:33 opt
dr-xr-xr-x. 191 root root 0 Dec 26 03:22 proc
dr-xr-x---. 15 root root 4096 Dec 26 03:23 root
drwxr-xr-x. 40 root root 1240 Dec 26 03:22 run
lrwxrwxrwx. 1 root root 8 Dec 13 00:58 sbin -> usr/sbin
drwxr-xr-x. 2 root root 6 Apr 11 2018 srv
dr-xr-xr-x. 13 root root 0 Dec 26 03:22 sys
drwxrwxrwt. 145 root root 12288 Dec 26 03:24 tmp
drwxr-xr-x. 13 root root 155 Dec 13 00:58 usr
drwxr-xr-x. 22 root root 4096 Dec 24 20:36 var
[root@localhost /]#
软链接:Linux(Centos 7.6)里面的软链接相当于Windows里面的快捷键。如上图中bin -> usr/bin就是一个软链接,cd /bin切换到/bin,就相当于切换到/usr/bin目录,我们可以通过以下实验来证明。
[root@localhost /]# ll /bin/aaa # 1.第一步查看/bin/aaa这个文件提示没有
ls: cannot access /bin/aaa: No such file or directory
[root@localhost /]# ll /usr/bin/aaa # 2.第二步查看/usr/bin/aaa这个文件也提示没有
ls: cannot access /usr/bin/aaa: No such file or directory
[root@localhost /]#
[root@localhost /]# touch /bin/aaa # 3.在/bin下创建文件aaa(touch是创建文件的目录)
[root@localhost /]# ll /bin/aaa # 4.查看/bin下aaa文件存在
-rw-r--r--. 1 root root 0 Dec 26 04:37 /bin/aaa
[root@localhost /]# ll /usr/bin/aaa # 4.查看/usr/bin下aaa文件也存在
-rw-r--r--. 1 root root 0 Dec 26 04:37 /usr/bin/aaa
1.2.使用tree命令查看
tree:递归以树状格式列出目录及其子层目录下所有内容,默认不包括隐藏文件和目录,添加-a可以显示隐藏文件和目录。其中递归层数可以通过-L参数控制,如查看两层目录内容命令为tree -L 2,以下用一个简单的目录查看,直接根目录下查看内容太多了。
[root@localhost /]# cd /opt/
[root@localhost opt]# tree -L 2
.
├── rh
└── script
└── get_info.sh
2 directories, 1 file
[root@localhost opt]# tree -L 1
.
├── rh
└── script
2 directories, 0 files
[root@localhost opt]#
注:tree -L 2显示结果是看不出哪些是目录哪些是文件;可以加-C参数以颜色区分,tree -C -L 2的结果就可以通过颜色区分;
2.Linux(Centos 7.6)目录结构解释
ls查看根目录下的内容,默认是以首字母顺序显示,以下按照ls结果顺序进行简单解释。
/:根目录,Linux(Centos 7.6)文件系统的起始位置。
bin:binaries简称,存放用户级的二进制程序,管理员和普通用户都能执行的命令。
boot:存放系统启动相关的文件,如内核文件、链接文件、镜像文件等。
dev:devices简称,存放设备文件。
etc:etcetera简称,存放系统配置文件。
home:用户的家目录,默认为个人用户的家目录。
lib:library简称,存放系统级动态链接共享库及内核模块,几乎所有程序运行都需要这些库。
lib64:与lib类似,区别在于lib64存放的是64位的库和模块。
media:外部设备挂载点目录,如插入U盘、光驱,识别后会把设备放到该目录下。
mnt:mount简称,另一个挂载目录,可以将iso镜像文件挂载到该目录。
opt:optional简称,第三方程序的安装位置,需要第三方程序默认在这个目录,或者人为有意安装到该目录,否则不会安装到这里。
proc:process information简称,存放当前进程和系统信息,信息不在磁盘上,而是在内存上。
root:root用户的家目录,root用户是最高级别,权限最大的用户。
run:临时文件系统目录,存放系统启动以来,运行进程的相关数据,重启会丢失该目录数据。
sbin:system binaries简称,存放系统级的二进制程序,只有系统管理员才能执行的命令程序。
srv:service简称,存放本地服务启动后相关的数据。
sys:system简称,存放系统相关的信息。
tmp:temporary files简称,存放临时文件。
usr:unix shared resources简称,存放用户程序,文档等。
var:variable简称,存放经常变化的文件,如日志、缓存等