1、在Linux 文件系统层级结构

Linux系统中的所有文件存储在文件系统中,他们被组织到一个颠倒的目录树中,称为文件系统层次结构。

1.4 Linux文件系统 - 图1

1.1 系统详细说明

目录 说明
/ 处于Linux系统树形结构最顶端,它是Linux文件系统入口,所有的目录、文件、设备都在/之下。
/bin bin是Binary的缩写。常用的二进制命令目录。比如 ls、cp、mkdir、cut等;和/usr/bin类似,一些用户级gnu工具。
/boot 存放的系统启动相关的文件,例如:kernel.grub(引导装载程序)
/dev dev是Device的缩写。
设备文件目录,比如声卡、磁盘……在Linux中一切都被看做文件。
终端设备、磁盘等等都被看做文件设备文件: /dev/sda,/dev/sda1,/dev/tty1,/dev/tty2,/dev/pts/1, /dev/zero, /dev/null, /dev/cdrom
/etc 常用系统及二进制安装包配置文件默认路径和服务器启动命令目录
passwd:用户信息文件
shadow:用户密码文件
group:存储用户组信息
fstab:系统开机启动自动挂载分区(磁盘分区)列表
hosts:设定用户自己的IP与主机名对应的信息,以及写死解析域名对应的ip
/home 普通用户的家目录默认存放目录
/lib 库文件存放目录,函数库目录
/lost+found 默认为空,被FSCK(file system check用来检查和维护不一致的文件系统。
若系统掉电或磁盘发生问题,可利用fsck命令对文件系统进行检查)用来放置零散文件(没有名称的文件) 当系统非法关机后,这里就会存放一些文件。
在centos6版本下,每个分区的挂载点下会有些目录.
/mnt
/media
一般用来临时挂载存储设备的挂载目录,比如有cdrom、U盘等目录在CENTOS7中会挂载到/run下面
/opt 表示的是可选择的意思,有些软件包也会被安装在这里
/proc 操作系统运行时,进程(正在运行中的程序)信息及内核信息(比如cpu、硬盘分区、内存信息等)存放在这里。
/proc目录是伪装的文件系统proc的挂载目录,proc并不是真正的文件系统。
因此,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
也就是说,这个目录的内容不在硬盘上而是在内存里查看咱们的CPU信息cat /proc/cpuinfo
/sys 系统目录,存放硬件信息的相关文件
/run 运行目录,存放的是系统运行时的数据,比如进程的PID文件
/srv 服务目录,存放的是我们本地服务的相关文件
/sbin 大多数涉及系统管理的命令都存放在该目录中,它是超级权限用户root的可执行命令存放地,普通用户无权限执行这个目录下的命令,基本上目录sbin中包含的命令都是root权限才能执行的
/tmp 该目录用于存放临时文件,有时用户运行程序的时候,会产生一些临时文件。
/tmp就是用来存放临时文件的
/var 系统运行和软件运行时产生的日志信息,该目录的内容是经常变动的,存放的是一些变化的文件。比如/var下有/var/log目录用来存放系统日志的目录,还有mail、/var/spool/cron
/usr 存放应用程序和文件,
/usr/bin:普通用户使用的应用程序
/usr/sbin:管理员使用的应用程序
/usr/lib:库文件Glibc(32位
)/usr/lib64:库文件Glibc
/lib/lib64都在/usr/目录下 这个目录里存放着系统最基本的动态链接共享库,包含许多被/bin/和/sbin/中的程序使用的库文件,目录/usr/lib/中含有更多用于用户程序的库文件。作用类似于windows里的DLL文件,几乎所有的应用程序都需要用到这些共享库。
注:lib.a是静态库
lib.so是动态库静态库
在编译时被加载到二进制文件中动态库在运行时加载到进程的内存空间中.
简单的说:这些库是为了让你的程序能够正常编译运行的.
其实类似于WIN中.dll文件,几乎所有的应用程序都需要用到这些共享库

Linux的目录简略版

/bin 二进制可执行文件也就是系统命令
/sbin 系统管理命令存放位置
/boot 启动分区,负责系统启动
/dev 设备管理文件
/etc 大多数系统管理文件
/home 普通用户的家目录
/lib 32位系统库文件存放位置
/lib64 64位系统库文件存放位置
/media 系统临时挂载点
/mnt 系统临时设备挂载点
/run 系统临时设备挂载点
/opt 第三方软件安装位置
/proc 系统信息
/root 超级用户家目录
/srv,/var 系统数据
/sys 系统管理,主要是关于内核的
/tmp 系统临时文件存放位置
/usr 系统用户相关信息数据及用户自定义软件存放位置,还有全局共享的只读文件存放位置

2、/etc目录下的重要目录文件说明

/etc/sysconfig/network-scripts/ifcfg-ens33 配置网络地址GW等。
/etc/resolv.conf 设置本机的客户端DNS
作业:DNS查下概念?DNS是什么?
/etc/hosts 设定IP与名字对应表,相当于本地DNS解析。
/etc/sysconfig/network 可修改机器名称及网卡启动等配置。
/etc/hostname 修改主机名
/etc/fstab 记录开机要mount(挂载)的文件系统
/etc/inittab 设定系统启动级别systemctl set-default multi-user.target
/etc/exports 设定NFS系统用的配置文件路径
作业:NFS?是什么
/etc/init.d 这个子目录是用来存放系统或服务启动脚本
/etc/xinit.d 放一些以xineted模式运行的。它的脚本要放在这个目录下。
作业(有兴趣):了解查看xint.d?
/etc/profile 系统全局变量配置路径
/etc/issue 记录用户登录前显示信息,了解
/etc/redhat-release 查看Linux系统版本
/etc/group 设定用户的组名与相关信息
/etc/passwd 账号信息
/etc/shadow 密码信息
/etc/sudoers sudo命令的配置文件,了解
作业:有兴趣,研究sudo。
/etc/rsyslog.conf 日志设置文件
/etc/hosts.allow 设置远端的ip允许访问本地的某项服务
/etc/hosts.deny 和上面相反,冲突时以hosts.allow为准
/etc/protocols 系统支持的协议文件

3、/var目录下一些重要的目录及文件说明

说明
/var 日志文件
/var/log 各种系统日志存放地
/var/log/messages 系统信息默认日志文件,非常重要,按周自动轮询
/var/log/secure 记录登入系统存放信息的文件,按周自动轮询,例如pop3,ssh,telnet,ftp等

都会记录在此。
/var/log/wtmp 记录登陆者信息的文件,last
/var/spool/cron 定时任务crontab默认目录,按用户名命名的文件。
/var/spool/mail 系统用户邮件存放目录

4、/usr目录下一些重要的目录及文件说明

/usr/bin 这个目录是可执行程序的目录,当我们从系统自带的软件包安装一个程序时
,他的可执行文件大多会放在这个目录。相似的目录是/usr/local/sbin /usr/sbin
/usr/local 一般是通过源码包安装的软件,如果没有特别指定安装目录的话,一般是安装在这个
目录中。相当于C:\Program files

/usr/local/bin 用户安装的小的应用程序,和一些在/usr/local目录下大应用程序的符号链接。

/usr/local/sbin 系统全局环境目录,可放置一些不需要加路径执行的脚本等。
/usr/share 系统共用的东西存放地,有一些rpm安装包也会放到这里。比如/usr/share/doc和/usr/share/man帮助文件。
系统会使用到的函数库。

5、/proc目录下一些重要的目录及文件说明

/proc 虚拟目录,是内存的映射
/proc/version 内核版本
/proc/sys/kernel 系统内核功能
/proc/cpuinfo 关于处理器的信息,如类型,厂家,型号,性能等。
/proc/meminfo 系统内存信息
/proc/loadavg 系统负载信息,uptime的结果。