linux系统的目录结构

一.目录结构详述

linux系统的目录结构最顶端是“/”,一切目录从根开始。 我们可以通过tree命令得到根(/)下的目录结构。

[root@linux01 ~]# tree -L 1 /
/
├── bin -> usr/bin                             <-- binary二进制文件(命令)
├── boot                                       <-- 引导程序,内核镜像

├── dev                                        <-- dev设备目录
├── etc                                        <-- etc系统服务配置文件保存目录
├── home                                       <-- 普通的家目录
├── lib -> usr/lib                             <-- 系统库libary
├── lib64 -> usr/lib64
├── media
├── mnt                                        <-- mnt 临时挂载点,例如:光驱设备挂载 
├── opt                                        <-- opt option 可选
├── proc                                    <-- process 虚拟文件系统(虚拟目录) ====>实际都是内存中的信息
├── root                                       <-- root用户的家目录
├── run
├── sbin -> usr/sbin                           <-- super bin只有root能用的命令
├── srv
├── sys
├── tmp                                        <-- 垃圾堆 
├── usr                                        <-- 存放程序 
└── var                                  <-- variable 经常变   /var/log/messages  /var/log/secure

二. 重点目录文件

列举一些常见且很重要的目录。这些是大家必须要熟记的 .

  • 2.1 /etc/必须要掌握的linux目录路径知识

    1)./etc/sysconfig/network-scripts/ifcfg-eth0

    配置网络地址及GW等,使得网卡生效
    . 查看eth0 (第二块eth1)
    . 显示网卡配置信息详解
    . 可以设置固定IP地址
    . 重启网卡/etc/init.d/network restart(影响所有网卡)
    . 重启网卡ifdown eth0 && ifup eth0(只针对eth0网卡)
    

    网卡配置文件 /etc/sysconfig/network-scripts/ifcfg-eth0

    [root@web01 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
    DEVICE=eth0			<- 第一块网卡物理设备名;第二块为eth1,有些系统也会以em等字符标识(centos7系统)
    TYPE=Ethernet				<- 上网类型,目前基本都是以太网
    UUID=sasd-sdasd-wqe-12	<- 通用唯一识别码,如果是vmware克隆的虚拟机无法启动网卡可以去除此项。			ONBOOT=yes			<- 这个地方要设置为yes,才能保证是否激活网卡设备
    NM_CONTROLLED=no	<- 是否通过NetworkManager管理网卡设备(centos6关闭)
    BOOTPROTO=none		<- 启动协议,获取IP地址配置方式,有none|bootp|dhcp三个选项
                                  none,引导时不使用协议,静态分配地址
                                  bootp,使用BOOTP协议
                                  dhcp,使用DHCP协议
    IPADDR=10.0.0.51		<- 表示本台局域网中服务器的固定IP地址
    NETMASK=255.255.255.0	<- 子网掩码,用来规划网络为和主机位的,一般为255.255.255.0
    GATEWAY=10.0.0.254		<- 局域网上网网关地址
    DNS1=223.5.5.5	         <- 主DNS,这里默认会覆盖以及优先于/etc/resolv.conf的配置生效
    DNS2=223.6.6.6			<- 第二个DNS,这里默认会覆盖以及优选于/etc/resolv.conf的配置文件
    USERCTL=no
    PEERDNS=yes				<- 是否确认网卡配置文件中的DNS配置优先于/etc/resolv.conf配置文件
    IPV6INIT=no				<- 是否支持IPV6
    HWADDR=00:0c:29:10:2e:28	<- 以太网硬件地址即MAC地址(48位),如果是vmware克隆的虚拟机
                                    无法启动网卡可以毫不犹豫的删除此项。
    

    2). /etc/resolv.conf

    设置linux本地的客户端DNS的配置文件,DNS可以实现域名和IP的互相解析。
    ping www.baidu.com
    负责域名和IP互相解析的服务就是DNS(domain name system).  
    www.baidu.com 《==》203.71.88.10
    不要再网卡配置文件里配置DNS,而是在/etc/resolv.conf里配。
    
    小结:
    	linux客户端DNS可以在网卡配置文件里设置(ifcfg-eth0)
    	linux客户端DNS也可以在/etc/resolv.conf里设置。
    	网卡里的设置DNS优先于/etc/resolv.conf,如果重启网络网卡的dns会覆盖/etc/resolv.conf
    的设置。
    DNS1:223.5.5.5
    DNS2:223.6.6.6
    
    

    3)./etc/hosts

    设定用户IP与名字(域名)的对应解析表,相当于本地LAN局域网内的DNS解析文件
    服务器ip地址 www.baidu.com
    类似C:\WINDOWS\system32\drivers\etc\hosts,LAN内IP域名解析文件。
    开发、测试时做临时的域名解析常用,英文hosts - The static table lookup for host names。
    host的解析在机房的服务器互相调用中也会常用,如门户网站的解析真实案例:
    主机名:
    1.	反映出这台机器用途
    2.	/etc/hosts
    taobao:
    172.38.18.23   realtime-search.config-vip.taobao.com
    172.65.54.47   tpbk2configslave1.config-host.taobao.com
    alibaba:
    172.26.58.40 vafd.china.alibaba.com
    172.23.54.47 normy1.vip.xyi.cn.alidc.net
    当然了,大公司还可能会有内部DNS,来管理大量解析的记录。
    hosts文件在企业里的作用:
    1、开发,产品,测试等人员,用于通过正式的域名测试产品。www.jd.com
    hosts 解析 
    10.0.0.200  www.jd.com
    进行测试:www.jd.com
    2、服务器之间的调用可以用域名(内部的DNS),方便迁移。
    
    

    4)./etc/sysconfig/network

    可修改机器名及网卡启动,网关等配置。
    
    查看主机名信息:
    # 查看主机名
    [root@web01 ~]# uname -n
    web01
    [root@web01 ~]# hostname
    web01
    [root@web01 ~]# cat /etc/sysconfig/network
    NETWORKING=yes
    HOSTNAME=web01
    
    # 修改主机名
    # 临时修改主机名称
    [root@web01 ~]# hostname web02    <-- 重启服务器后失效
    # 永久修改主机名称
    [root@web01 ~]# sed -i 's#HOSTNAME=web01#HOSTNAME=web02#g' /etc/sysconfig/network
    
    

    5). /etc/fstab (file system mounting table)

    为什么执行df -h 有一些系统自动挂载的信息?
    实现开机要挂载的文件系统的一个列表(如何实现将苹果(设备文件)挂载树枝上(挂载点))
    开机的时候,给什么设备创建什么入口对应关系 开机自动挂载列表
    系统开机启动的时候把磁盘分区挂载到目录上面(给你系统的磁盘开门)
    [root@web01 ~]# vim /etc/fstab
    UUID=588f8c0f-7e91-449b-8a21-76b6db5d60fe /     ext4    defaults    1 1
    UUID=30fdf891-525f-40c4-9021-290dfd8c70b9 /boot ext4    defaults     1 2
    UUID=6e3e72fa-9c3c-4ea6-b865-3a645abfa7db swap swap    defaults    0 0
    挂载什么	      挂载到哪	    类型	   挂载参数   是否备份	  是否检查磁盘	
    172.16.1.31:/data    /mnt      nfs     defaults    0(dump) 0(fsck)
    [root@web01 ~]# blkid
    /dev/sda3: UUID="588f8c0f-7e91-449b-8a21-76b6db5d60fe" TYPE="ext4" 
    /dev/sda1: UUID="30fdf891-525f-40c4-9021-290dfd8c70b9" TYPE="ext4" 
    /dev/sda2: UUID="6e3e72fa-9c3c-4ea6-b865-3a645abfa7db" TYPE="swap"
    
    fstab一旦配置错误,会导致服务器无法启动。如何修复?
    
    

    6). /etc/rc.local

    文件中放着开机需要启动的命令或脚本(命令的集合)。
    用于存放开机自启动程序命令的文件
    chkconfig常用来管理yum/rpm安装的程序的服务的开机自启动 /etc/init.d。
    自己开发的程序,习惯把启动命令放入/etc/rc.local,实现开机启动这些程序,
    linux开机时会把/etc/rc.local里的内容执行一遍。
    企业里如何用:
    chkconfig和 /etc/rc.local,可以选择/etc/rc.local,服务器的档案。
    
    

    7). /etc/inittab

    系统的运行级别的配置文件
    设定系统启动时init进程将把系统设置成什么样的runlevel运行级别及加载相关的级别对应启动文件设置。
    	0	关机(不要把运行级别设置为0)
    	1	单用户模式 root密码忘了 跑机房或远程控制卡(默认没有网络)
    	2	多用户模式 但是没有NFS(网络文件系统)
    	3	完全多用户模式  命令模式 文本模式(工作中默认)
    	4	没有使用
    	5	图形界面模式 桌面模式 X11
    	6	重启(不要把运行级别设置为6)
    说明:以上信息在inittab文件注释中均有说明
    

    8)./etc/init.d

    这个目录是用来存放通过yum或rpm工具安装的软件的默认启动程序(启动脚本)的目录。
    服务/软件的管理命令。
    # Centos/RedHat文件目录应用方法
    [root@C64_x86_64 ~]# ll  /etc/init.d
    lrwxrwxrwx. 1 root root 11 8月  24 15:06 /etc/init.d -> rc.d/init.d
    说明:/etc/init.d等价于/etc/rc.d/init.d/
    
    # 在RHEL环境中: service 服务名 start 等价于 /etc/init.d/服务名 start
    /etc/init.d/iptables stop
    /etc/init.d/network restart
    
    

    9). /etc/profile

    系统全局环境变量永久生效的配置文件 
    配置系统环境变量和别名
    定义别名以及PATH变量等
    [root@web01 ~]# head -4 /etc/profile
    # /etc/profile
    
    # System wide environment and startup programs, for login setup
    # Functions and aliases go in /etc/bashrc
    
    环境变量====特殊的变量
    1. 大写
    2. linux在哪里都可以使用的变量
    PATH变量===>命令的路径====>linux找命令去哪里找,PATH
    用户的环境变量:~/.bash_profile,~/.bashrc
    TMOUT
    HISTSIZE
    HISTFILESIZE
    ##国法====>全局
    /etc/profile  
    /etc/bashrc  
    ##家规====>自己家里生效
    ~/.bash_profile 
    ~/.bashrc
    ~			####当前用户的家目录
    .bashrc 	####linux 以.开头的文件或目录 是隐藏 ls -a
    
    

    10). /etc/bashrc

    放置别名 函数
    [root@web01 ~]# head -4 /etc/bashrc 
    # /etc/bashrc
    
    # System wide functions and aliases
    # Environment stuff goes in /etc/profile
    
    [root@web01 ~]# alias rm='echo "rm cmd does not to be used."'
    cp
    mv
    
    

    11). /usr/local

    /usr/local 编译安装的默认安装位置
    这个目录一般是用来存放用户自编译安装软件的存放目录;
    一般是通过源码包安装的软件,如果没有特别指定安装目录的话,一般是安装在这个目录中。 
    相当于:c:\Program files。
    安装软件默认的安装位置(编译安装)
    
    linux下面安装程序的方法(想吃饭):
    	rpm 安装法 (rpm -ivh包名.rpm)  
    说明:买回来的速冻水饺(半成品),依赖的软件,自己手动安装。
    	yum install 包名(yum包管理器,调用安装命令),
    说明:依赖的软件,依赖的包,yum给你解决。
    	源码安装(编译安装)(./configure(准备菜 ,切菜) ,make(炒菜),make install(上菜))
    源码放入/usr/src下面。 
    

三. 扩展目录文件

  • 3.1 /var目录下的路径知识

    1). /var

    存放变化数据信息的目录
    

    2). /var/log

    各种系统日志存放目录
    

    3). /var/log/messages

    系统默认的日志文件,非常重要。按周自动轮循(一周来一刀 每周切割一次)
    补充说明:
    dmseg命令可以查看系统故障信息(/var/log/dmesg)。
    依赖于rsyglog服务开启。
    上述轮询日志由/etc/logrotate.conf和/etc/logrotate.d/syslog控制
    

    4). /var/log/secure

    记录的用户的登录信息(啥时候登录的,是否成功,从哪里登录) 谁 从哪里来 是否进来了
    记录登入系统存取信息的文件,按周自动轮循,例如 pop3, ssh, telnet, ftp 等都会记录在此。系统安全的日志文件。依赖于rsyglog服务开启。
    

    5)./var/spool /var/spool/cron/root

    定时任务crontab默认路径,按用户名命名的文件。(系统闹钟)
    
  • 3.2 /proc目录下的路径知识

    1). /proc

    虚拟目录,是内存的映射,内核和进程的虚拟文件系统目录
    

    2). /proc/cpuinfo

    关于处理器的信息,如类型、厂家、型号和性能等。
    top看cpu,sar。
    https://blog.csdn.net/stpice/article/details/76039720
    http://lovesoo.org/linux-sar-command-detailed.html
    

    3). /proc/meminfo

    系统内存信息,free -m
    

    4). /proc/loadavg

    系统负载平均值信息(系统的繁忙情况,比较准确,但是不够细致系统性能指标),
    uptime 的结果,负载值不要超过CPU的核数。 看负载top,uptime。
    负载:系统的繁忙程度。
    w
    

    5). /proc/mounts

    设备的挂载信息,df -h类似。
    当前系统中,苹果如何挂载到树枝。
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值