目录结构 |
作者:矮哥 归档:学习笔记 2017/1/6 |
目 录
3.1 /etc/sysconfig/network-scripts/ifcfg-eth0. 6
5.4 /var/spool/clientmqueue. 9
第1章 linux系统沐目录结构的基本特点介绍
(1) linux目录:一切从“根开始”,“/”是所有目录的起点(顶点):相对路径和绝对路径
(2) linux根下面的目录是一个有层次的树状结构
(3) 倒挂的一棵树
(4) linux每个目录可以挂在在不同的设备(磁盘)上,windows不容易做到
在逻辑上所有的目录(包括目录下的子目录)都在最高级级别的目录“/”下,根(“/”)目录是linux系统中所有目录的起始点(顶点),根下面的目录及目录的子目录是一个有层次的树状结构,很像一颗倒挂着的一棵大树,这和windows系统按照硬盘分区(C:D:E:)分割的目录结构是不同的(windows一个盘就是一棵树,多棵树一起)。
linux系统中的这些不同的目录也是很特别的,不同的目录可以分布在不同的硬盘分区以及不同的硬盘设备上,这是windows的系统难以做到的,windows系统的不同分区都是独立存在的。
1.1 挂载光盘和卸载光盘
1 [[email protected] ~]# mount /dev/cdrom /mnt/ 2 3 mount: block device /dev/sr0 is write-protected, mounting read-only 4 5 [[email protected] ~]# df 6 7 Filesystem 1K-blocks Used Available Use% Mounted on 8 9 /dev/sda3 7148132 1452968 5325400 22% / 10 11 tmpfs 506040 0 506040 0% /dev/shm 12 13 /dev/sda1 194241 33767 150234 19% /boot 14 15 /dev/sr0 3824484 3824484 0 100% /mnt 16 17 [[email protected] ~]# umount /mnt/ 18 19 [[email protected] ~]# df 20 21 Filesystem 1K-blocks Used Available Use% Mounted on 22 23 /dev/sda3 7148132 1452968 5325400 22% / 24 25 tmpfs 506040 0 506040 0% /dev/shm 26 27 /dev/sda1 194241 33767 150234 19% /boot 28
磁盘接口 |
对应设备 |
sata/sas/scsi |
sda(第一块盘)sdb(第二块盘)以此类推 |
ide |
had(第一块盘)sdb(第二块盘)以此类推 |
sda1 盛大 |
分区======》新房划分隔符 |
(5) linux下面设备不挂载是看不到入口的,没有窗口没门的监狱,如果设备被访问就必须有一个入口,这个入口就是挂载点,挂载点实质就是目录。
linux系统目录的特点是,不同的目录可以对应不同的分区或者磁盘。
/ /boot 等 开机自动挂载--》/etc/fstab
(2)linux系统中的所有目录内同按照类别组织。例如,linux的应用程序,它的可执行程序可能在/usr/bin,而它的数据文件和帮助在/usr/share下,运行时加载的配置文件和服务启动命令却在/etc下。
1.2 小结
linux系统的所有目录是一个有层次的倒着的树状目录结构。“/”根是所有目录的顶点
不同的目录数据可以跨越不同的磁盘分区或不同的磁盘设备。
所有的目录都是按照一定的类别有规律的组织和命名的
相对路径,相对于当前路径下的路径
第2章 目录的介绍
目录 |
应放置档案内容 |
第一部分:FHF要求必须要存在的目录 |
|
/bin |
系统有很多放置执行档的目录,但/bin比较特殊。因为/bin放置的是在单人维护模式下还能够被操作的指令。 在/bin底下的指令可以被root与一般帐号所使用,主要有:cat, chmod, chown, date, mv, mkdir, cp, bash等等常用的指令。 |
/boot |
这个目录主要在放置开机会使用到的档案,包括Linux核心档案以及开机选单与开机所需设定档等等。 Linux kernel常用的档名为:vmlinuz,如果使用的是grub2这个开机管理程式, 则还会存在/boot/grub2/这个目录喔! |
/dev |
在Linux系统上,任何装置与周边设备都是以档案的型态存在于这个目录当中的。 你只要透过存取这个目录底下的某个档案,就等于存取某个装置啰~ 比要重要的档案有/dev/null, /dev/zero, /dev/tty, /dev/loop*, /dev/sd*等等 |
/etc |
系统主要的设定档几乎都放置在这个目录内,例如人员的帐号密码档、 各种服务的启始档等等。一般来说,这个目录下的各档案属性是可以让一般使用者查阅的, 但是只有root有权力修改。FHS建议不要放置可执行档(binary)在这个目录中喔。比较重要的档案有: /etc/modprobe.d/, /etc/passwd, /etc/fstab, /etc/issue 等等。另外 FHS 还规范几个重要的目录最好要存在 /etc/ 目录下喔: l /etc/opt(必要):这个目录在放置第三方协力软体 /opt 的相关设定档 l /etc/X11/(建议):与 X Window 有关的各种设定档都在这里,尤其是 xorg.conf 这个 X Server 的设定档。 l /etc/sgml/(建议):与 SGML 格式有关的各项设定档 l /etc/xml/(建议):与 XML 格式有关的各项设定档 |
/lib |
系统的函式库非常的多,而/lib放置的则是在开机时会用到的函式库, 以及在/bin或/sbin底下的指令会呼叫的函式库而已。 什么是函式库呢?妳可以将他想成是‘外挂’,某些指令必须要有这些‘外挂’才能够顺利完成程式的执行之意。 另外 FHS 还要求底下的目录必须要存在: l /lib/modules/:这个目录主要放置可抽换式的核心相关模组(驱动程式)喔! |
/midia |
media是‘媒体’的英文,顾名思义,这个/media底下放置的就是可移除的装置啦! 包括软碟、光碟、DVD等等装置都暂时挂载于此。常见的档名有:/media/floppy, /media/cdrom等等。 |
/sbin |
Linux有非常多指令是用来设定系统环境的,这些指令只有root才能够利用来‘设定’系统,其他使用者最多只能用来‘查询’而已。 放在/sbin底下的为开机过程中所需要的,里面包括了开机、修复、还原系统所需要的指令。 至于某些伺服器软体程式,一般则放置到/usr/sbin/当中。至于本机自行安装的软体所产生的系统执行档(system binary), 则放置到/usr/local/sbin/当中了。常见的指令包括:fdisk, fsck, ifconfig, mkfs等等。 |
/srv |
srv可以视为‘service’的缩写,是一些网路服务启动之后,这些服务所需要取用的资料目录。 常见的服务例如WWW, FTP等等。举例来说,WWW伺服器需要的网页资料就可以放置在/srv/www/里面。 不过,系统的服务资料如果尚未要提供给网际网路任何人浏览的话,预设还是建议放置到 /var/lib 底下即可。 |
/tmp |
这是让一般使用者或者是正在执行的程序暂时放置档案的地方。 这个目录是任何人都能够存取的,所以你需要定期的清理一下。当然,重要资料不可放置在此目录啊! 因为FHS甚至建议在开机时,应该要将/tmp下的资料都删除唷! |
/usr |
第二层 FHS 设定,后续介绍 |
/var |
第二曾 FHS 设定,主要为放置变动性的资料,后续介绍 |
第二部分:FHS建议可以存放的目录 |
|
/home |
这是系统预设的使用者家目录(home directory)。在你新增一个一般使用者帐号时, 预设的使用者家目录都会规范到这里来。比较重要的是,家目录有两种代号喔: l ~:代表目前这个使用者的家目录 l ~dmtsai :则代表 dmtsai 的家目录! |
/lib<qual> |
用来存放与 /lib 不同的格式的二进位函式库,例如支援 64 位元的 /lib64 函式库等 |
/root |
系统管理员(root)的家目录。之所以放在这里,是因为如果进入单人维护模式而仅挂载根目录时, 该目录就能够拥有root的家目录,所以我们会希望root的家目录与根目录放置在同一个分割槽中。 |
事实上FHS针对根目录所定义的标准就仅有上面的咚咚,不过我们的Linux底下还有许多目录你也需要瞭解一下的。 底下是几个在Linux当中也是非常重要的目录喔:
目录 |
应放置档案内容 |
/lost+found |
这个目录是使用标准的ext2/ext3/ext4档案系统格式才会产生的一个目录,目的在于当档案系统发生错误时, 将一些遗失的片段放置到这个目录下。不过如果使用的是 xfs 档案系统的话,就不会存在这个目录了! |
/proc |
这个目录本身是一个‘虚拟档案系统(virtual filesystem)’喔!他放置的资料都是在记忆体当中, 例如系统核心、行程资讯(process)、周边装置的状态及网路状态等等。因为这个目录下的资料都是在记忆体当中, 所以本身不占任何硬碟空间啊!比较重要的档案例如:/proc/cpuinfo, /proc/dma, /proc/interrupts, /proc/ioports, /proc/net/* 等等。 |
/sys |
这个目录其实跟/proc非常类似,也是一个虚拟的档案系统,主要也是记录核心与系统硬体资讯较相关的资讯。 包括目前已载入的核心模组与核心侦测到的硬体装置资讯等等。这个目录同样不占硬碟容量喔! |
2.1 小结:重要目录回顾
/dev/ 设备目录
/etc/ 系统配置及服务配置文件,服务启动命令的目录/etc/init.d
/proc/ 显示内核及进程信息的虚拟文件系统
/tmp 临时文件目录
/home 普通用户的家目录
/root root的目录(超级管理员)
/var 变换的目录,一般时日志文件(/var/log),cache的目录
/usr 用户程序及数据,帮助文件,二进制命令等的目录。
/bin 普通用户命令的目录
/sbin 超级用户命令的目录
第3章 /etc/重要目录里的重点(了解)
3.1 /etc/sysconfig/network-scripts/ifcfg-eth0
配置网络地址及GW等
1 (1) 查看eth0 (习惯用法,第一块网卡,第二块是eth1) 2 3 (2) 通过setup -->“networ configuration”修改网卡配置 4 5 (3) /etc/init.d/network restart重启(全部)(stop停止,start开启,status查看状态) 6 7 配置文件解释 8 9 DEVICE=eth0 #物理设备名。eth0通常是第一块网卡 10 11 TYPE=Ethernet #以太网 12 13 ONBOOT=yes #重启网卡或者服务器之后控制网卡是不是自动启动 14 15 NM_CONTROLLED=yes #不知道是什么服务 16 17 BOOTPROTO=none #none,引导时不使用协议,static,静态分配地址,bootp,使用BOOTP协议,或者dhcp,使用DHCP协议 18 19 USERCTL=no 20 21 PEERDNS=yes 22 23 IPV6INIT=no #是否开启IP6 24 25 HWADDR=00:0c:29:57:1d:5a #MAC地址 26 27 IPADDR=192.168.101.129 #IP地址 28 29 NETMASK=255.255.255.0 #子网掩码 30 31 DNS2=223.5.5.5 #域名解析DNS地址 32 33 GATEWAY=192.168.101.2 #网关地址 34 35 DNS1=192.168.101.2 36 37 UUID #唯一标识磁盘的标识 blkid 38
3.1.1 小结
1. Linux客户端DNS可以在网卡配置文件里设置(ifcfg-eth0)
2. 2.Linux客户端DNS也可以在/etc/resolv.conf里设置
3. 网卡里的设置DNS优先于/etc/resolv.conf
启动网卡的DNS会覆盖/etc/resolv.conf
3.2 /etc/host
设定用IP与名字(或域名)的对应解析表,相当于本地LAN局域网内的DNS解析文件
用法:IP 域名
hosts文件在企业里的作用
1. 开发,产品,测试等人员,用于通过正式的域名测试产品
2. 服务器之间的条用可以用域名(内部的DNS),方便迁移
3.3 /etc/sysconfig/network
可修改机器名及网卡启动,网关等配置。
永久更改主机名,需同时修改以下两项:
1 1. vi /etc/sysconfig/network 2 3 2. hostname 主机名 4 5 3. uname -n 6 7 4. 修改主机名 8 9 5. setup-dns 里面(不推荐) 10 11 [[email protected] ~]# sed ‘s#HOSTNAME=AIGE#HOSTNAME=Aige#g‘ /etc/sysconfig/network 12 13 NETWORKING=yes 14 15 HOSTNAME=Aige 16 17 [[email protected] ~]# sed -i ‘s#HOSTNAME=AIGE#HOSTNAME=Aige#g‘ /etc/sysconfig/network 18 19 [[email protected] ~]# cat /etc/sysconfig/network 20 21 NETWORKING=yes 22 23 HOSTNAME=Aige 24 25 [[email protected] ~]# 26
3.4 /etc/rc.local
用于存放开机自启动程序命令和脚本的文件。
chkconfig常用管理yum/rpm安装的程序的服务自启动情况
自己开发(编译)习惯用rc.local
3.5 /etc/inittab
设定系统启动时init进程将把系统设置成那个runlevel运行级别及加载相关的级别对ing启动文件设置
3.6 /etc/exports
NFS的配置文件,后期补全
3.7 /etc/init.d
这个目录用来存放通过yum或rpm安装的服务的启动程序(脚本)
/etc/init.d===》/etc/rc.d/init.d
service 命令直接指向这个配置文件
service 服务名 start == /etc/init.d/服务名 start
3.8 /etc/profile
系统全局环境变量永久生效的配置文件,定义别名及PATH变量等
1 [[email protected] ~]# echo $PATH 2 3 /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin 4 5 [[email protected] ~]# 6
3.9 /etc/profile.d
加载系统登录程序一个目录,命令或 文件独立存在
以文件的形式存在(*.sh为扩展名),但可执行
(跳板机)
3.10 /etc/issue
在用户登录前显示出来(真实机,不是远程连接)
安全优化:清空此文件
3.11 /etc/issue.net
3.12 /etc/motd
登录后的提示
3.13 /etc/redhat-release
系统版本信息
3.14 /etc/group
设定用户的组名与相关信息
3.15 /etc/passwd
账号信息文件
3.16 /etc/shadow
密码信息文件
3.17 /etc/gshadow
组密码信息文件
3.18 /etc/sudoers
可以执行使用sudo命令的配置文件 等于visudo命令
3.19 /etc/securetty
设定哪些终端可以让root登录 (tty终端)
3.20 /etc/login.defs
所有用户登录时的缺省配置
3.21 /etc/modprobe.conf
内核模块额外参数设定
3.22 /etc/rsyslog.conf
日志设置文件
第4章 /usr文件重要(了解)
4.1 /usr/local
这个目录一般时用来存在用户自编译安装软件的存放目录(默认)
4.2 /usr/local/bin
用户安装的小的应用程序,和一些/usr/local目录下大应用程序的符号连接
4.3 /usr/local/sbin
系统全局环境目录,可放置一些不需要加路径执行的脚本
4.4 /usr/share
系统共用的东西存在地
/usr/share/doc
/usr/share/man帮助文件
4.5 /usr/src
内核源码存放目录
4.6 /usr/bin
使用者可执行的binary file的目录(命令)
4.7 /usr/local/bin
使用者可执行的binary file的目录(命令)
4.8 /usr/lib
系统会使用到的函数库
4.9 /usr/local/lib
系统会使用到的函数库
第5章 /var/重要(了解)
5.1 /var/log/messages
系统信息默认日志文件,非常重要,按周自动轮询
5.2 /var/log/secure
记录登录系统存取信息的文件,按周自动轮询
5.3 /var/log/wtmp
记录登录者信息的文件。last login records lastlog
5.4 /var/spool/clientmqueue
sendmail临时邮件文件目录,开启邮件服务,容易使inode满。
centos6不安装,不会出现此问题
第6章 /proc/重要(了解)
虚拟目录,使内存的映射,内核和进程的虚拟文件系统目录
6.1 /proc/version
内核版本
6.2 /proc/sys/kernel
系统内核功能
6.3 /proc/sys/net/ipv4
6.4 /proc/cpuinfo
关于处理器的信息,如类型,厂家,型号和性能等
6.5 /proc/meminfo
系统内存信息
1 free -m 2 3 [[email protected] ~]# free -m 4 5 total used free shared buffers cached 6 7 Mem: 482 476 6 4 127 66 8 9 -/+ buffers/cache: 282 200 10 11 Swap: 768 18 750 12 13 [[email protected] ~]# 14
6.6 /proc/devices
当前运行内核所配置的所有设备清单
6.7 /proc/dma
当前正在使用的DMA通道
6.8 /proc/filesystems
当前运行内核所配置的文件系统
6.9 /proc/interrupts
正在使用的终端,和曾经又多少个中断
6.10 /proc/ioports
当前正在使用的I/O端口
6.11 /proc/loadavg
系统负载平均值的信息
1 uptime 2 3 [[email protected] ~]# uptime 4 5 09:13:18 up 11:13, 1 user, load average: 1.05, 0.43, 0.27 6 7 [[email protected] ~]# 8
还有w和top可以查看负载
6.12 /proc/mouts
设备的挂载信息。
和df命令类似
1 [[email protected] ~]# df 2 3 Filesystem 1K-blocks Used Available Use% Mounted on 4 5 /dev/sda3 7148132 2441644 4336724 37% / 6 7 tmpfs 246976 0 246976 0% /dev/shm 8 9 /dev/sda1 194241 33767 150234 19% /boot 10 11 [[email protected] ~]# 12