[TOC]
Linux重要目录
1.Linux目录考古
1969年,Ken Thompson和Dennis Ritchie在小型机PDP-7上发明了Unix。1971年,他们将主机升级到了PDP-11。
当时,他们使用一种叫做RK05的储存盘,盘的容量大约是1.5MB。对,和井盖差不多大。
由于硬盘的容量很小,因此没过多久,操作系统存储盘数据(根目录)变得越来越大了,导致一块盘已经装不下数据了。
于是,他们加上了第二盘RK05,并且做了规定:
第一块盘专门用来存放系统程序相关
第二块盘专门存放用户自己的程序,因此,挂载的目录点取名为/usr。
也就是说,根目录"/"挂载在第一块盘,"/usr"目录挂载在第二块盘。
除此之外,两块盘里面的其他的目录结构是完全相同的,
例如:
第一块盘的目录(/bin, /sbin, /lib, /tmp...)
都在/usr目录下重新出现一次(/bin, /sbin, /lib...)。
2.Linux重要目录详解
tree -L 1 /
/
├── bin -> usr/bin #常用二进制命令所在的目录,如ls,cp,mkdir,rm等,目前已经变成/usr/bin的软链接
├── boot #Linux的内核及系统引导程序所需的文件目录
├── dev #设备文件的目录,如磁盘,光驱等
├── etc #Linux系统的很多配置文件和yum或rpm安装的软件的配置文件大部分都在这个目录下,非常重要
├── home #普通用户的家目录
├── lib -> usr/lib #启动系统和运行命令所需的共享库文件和内核模块存放目录,分为/lib和/lib64两种
├── lib64 -> usr/lib64 #同/lib目录功能一样,只不过放的是64位程序所需要的文件
├── media #可移除的媒体的挂载点,例如:CD-ROM,U盘等介质,使用频率较低
├── mnt #文件系统的临时挂载点,也可以作为U盘或CD-ROM等介质的挂载点
├── opt #没有特殊要求的目录,一般可以把自己二进制安装的软件包放在这个目录下
├── proc #操作系统运行时,进程信息及内核信息(比如CPU,硬盘分区,内存信息等)
#proc目录是虚拟文件系统的挂载点,proc并不是真正的文件系统
├── root #Linux超级用户root的家目录,类似于windows的administrator
├── run #临时文件系统,存储系统或程序启动以来的信息,当程序或系统重启时该目录下的文件会应该重新生成
├── srv #service的所以,可用于存放为用户提供服务的数据所在的目录,例如:www,ftp数据
├── sys #与sys类似,也是虚拟的文件系统,用于存放内核等信息的目录,包含内核,总线,设备,模块组等
├── tmp #临时文件目录,有时用户运行程序的时候,会产生临时文件,可以当作Linux的系统回收站
├── usr #存放系统和其他程序的目录,比如命令,帮助文件等。
└── var #系统日志和大部分程序的日志都放在这个目录下,非常重要。
第2章 /etc下重要文件及目录
1.网卡配置文件
配置文件位置
/etc/sysconfig/network-scripts/ifcfg-eth0
配置文件作用
这是Linux系统的第一块网卡的配置文件所在路径,第一块网卡名为eth0,第二块网卡名为eth1,以此类推。
注意修改网卡配置文件后必须要重启网络服务才能使配置文件生效,命令为: systemctl restart network
如果想单独重启某个网卡可以使用 ifdown eth0 && ifup eth0 来实现。
配置文件说明
# cat /etc/sysconfig/network-scripts/ifcfg-eth0
TYPE=Ethernet #上网类型是以太网,不需要改动
BOOTPROTO=none #启动协议,获取配置方式,有none|bootp|dhcp三种,不需要改动
NAME=eth0 #第一块网卡的逻辑设备名称
DEVICE=eth0 #第一块网卡的物理设备名称
ONBOOT=yes #设置为yes则开机启动时激活网卡设备
IPADDR=10.0.0.51 #网卡的IP地址
PREFIX=24 #网卡的子网掩码
GATEWAY=10.0.0.2 #网关地址
DNS1=10.0.0.2 #主DNS地址,这里默认会覆盖及优先于/etc/resolv.conf的配置生效。
2.DNS解析配置文件
配置文件位置
/etc/resolv.conf
配置文件作用
DNS在网站的运行中起到了至关重要的作用,其主要负责将网站域名解析为对应的IP地址。
常见的DNS有电信及阿里云,如果是IDC机房托管的环境,一般IDC会提供DNS给我们使用。
电信:114.114.114.114
阿里云:223.5.5.5
配置文件说明
# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 10.0.0.2 #DNS地址,VM虚拟机环境可以是网关,也可以是阿里云的DNS解析地址。
3.本地DNS解析文件
配置文件位置
/etc/hosts
配置文件作用
设定用户IP与名字(或域名)的对应解析表,相当于本地(局域网)的DNS解析文件。
运维或开发人员想用域名测试本机网站时就可以在此文件里添加对应的解析规则。
配置文件说明
# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 #本地IPV4解析记录
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 #本地IPV6解析记录
10.0.0.7 web-7 #按主机名解析道指定机器
10.0.0.7 www.oldboyedu.com #按域名解析道指定机器
4.主机名配置文件
配置文件位置
/etc/hostname
配置文件作用
用于修改主机名
配置文件说明
修改主机名分为临时和永久两种方法
临时修改:
hostname oldya
永久修改:
hostnamectl set-hostname oldya
5.设备开机自动挂载配置文件
配置文件位置
/etc/fstab
配置文件作用
非常重要的文件,作用时配置开机时设备自动挂载。
配置文件说明
# cat /etc/fstab
# /etc/fstab
# Created by anaconda on Sun Dec 13 11:01:30 2020
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
/dev/mapper/centos-root / xfs defaults 0 0
UUID=6c86cd7e-9ff1-4398-af1b-b69ac8a6cbfb /boot xfs defaults 0 0
#配置文件解释
#设备名称或设备的uuid 挂载点 文件类型 挂载属性 是否进行备份 是否做磁盘检查
6.开机自启动配置文件
配置文件位置
/etc/rc.local
配置文件作用
用户存放开机自启动程序命令的文件,但是从CentOS7开始,/etc/rc.local必须先分配执行权限,里面的脚本才能执行。
另外,/etc/rc.local是一个软链接文件,指向的是rc.d/rc.local
# ll /etc/rc.local
lrwxrwxrwx. 1 root root 13 12月 13 11:01 /etc/rc.local -> rc.d/rc.local
配置文件说明
]# cat /etc/rc.local
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure 必须先添加执行权限才行运行配置里的命令
# that this script will be executed during boot.
touch /var/lock/subsys/local
7.系统环境变量配置文件
配置文件位置
全局生效:
/etc/profile
/etc/bashrc
当前用户生效:
~/.bashrc
~/.bash_profile
配置文件作用
当用户登录时生效各种环境变量。
配置文件说明
环境变量生效顺序:
8.软件启动脚本目录
目录位置
/etc/init.d/
目录作用
CentOS7之后已经不用这个目录,统一使用systemd来管理服务器的启动和停止
9.用户登陆系统后显示内容
配置文件位置
/etc/motd
配置文件作用
自定义用户登陆后显示的内容,默认是空的。
10.RedHat版本号和名称信息文件
配置文件位置
/etc/redhat-release
配置文件作用
用于声明RedHat版本号和名称信息的文件,如果想查看系统版本号可以直接查看这个文件
配置文件说明
~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
11.Linux内核参数设置文件
配置文件位置
/etc/sysctl.conf
配置文件作用
这是一个涉及Linux系统性能调优的极其重要的文件,作用是设置Linux内核参数,可用来替代系统默认运行的内核参数,让系统运行得更高效。
默认这个配置文件只有注释的内容,需要自己添加内核参数然后使用命令使其生效。
12.etc重要配置文件汇总
第3章 /usr目录下重要文件及目录
1.编译安装软件默认的目录
/usr/local/
这个目录一般是用来存放用户自编译安装软件的目录,源码编译安装如果没有特别指定安装目录的话,一般会安装在这个目录中。
2.存放源码文件的目录
/usr/src/
这个目录一般用来存放软件源代码,当然也可以不放在这里,可以根据需求进行更改。
第4章 /var/log目录下重要文件及目录
1.目录作用
/var/log/目录下包含了大量记录系统及软件服务运行的日志文件,通过这些日志文件,我们可以知道系统的运行情况及故障原因。
2.重要日志文件说明
/var/log/messages #系统级别日志
/var/log/secure #安全日志
/var/log/dmesg #硬件信息加载情况日志
/var/log/cron #定时任务日志
第5章 /proc下的重要路径知识
1.目录作用
/proc是Linux系统下的一个重要的虚拟文件系统,记录着内核和进程方方面面的信息,他是一个很重要的信息宝库
2.重要文件说明
/proc/cpuinfo #当前CPU信息
/proc/meminfo #当前内存信息
/proc/loadavg #当前系统平均负载信息
/proc/mounts #当前设备挂载表信息
/proc/interrupts #当前系统中断信息