linux系统重要文件目录

简介: 本文介绍了Linux系统中的重要目录及其历史背景,包括根目录、/usr、/etc、/var/log和/proc等目录的结构和功能。其中,/etc目录下包含了许多关键配置文件,如网卡配置、DNS解析、主机名设置等。文章还详细解释了各目录和文件的作用,帮助读者更好地理解和管理Linux系统。

[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...)。

image-20210121151707045

image-20210121151644132

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

配置文件作用

当用户登录时生效各种环境变量。

配置文件说明

环境变量生效顺序:

image-20210121173241324

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重要配置文件汇总

image-20210121174601990

第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             #当前系统中断信息
相关文章
|
4月前
|
存储 Linux
Linux 目录名称
Linux系统目录结构简介:根目录(/)下包含各类功能目录,如/bin存放用户命令,/etc存储配置文件,/home为用户主目录,/var记录日志等可变数据,/usr存放用户工具,/tmp用于临时文件。各目录分工明确,保障系统有序运行。(238字)
284 5
|
5月前
|
Ubuntu Linux Anolis
Linux系统禁用swap
本文介绍了在新版本Linux系统(如Ubuntu 20.04+、CentOS Stream、openEuler等)中禁用swap的两种方法。传统通过注释/etc/fstab中swap行的方式已失效,现需使用systemd管理swap.target服务或在/etc/fstab中添加noauto参数实现禁用。方法1通过屏蔽swap.target适用于新版系统,方法2通过修改fstab挂载选项更通用,兼容所有系统。
471 3
Linux系统禁用swap
|
5月前
|
Linux
Linux系统修改网卡名为eth0、eth1
在Linux系统中,可通过修改GRUB配置和创建Udev规则或使用systemd链接文件,将网卡名改为`eth0`、`eth1`等传统命名方式,适用于多种发行版并支持多网卡配置。
981 3
|
6月前
|
Ubuntu Linux
计算机基础知识:linux系统怎么安装?
在虚拟机软件中创建一个新的虚拟机,并选择相应操作系统类型和硬盘空间大小等参数。将下载的 ISO 镜像文件加载到虚拟机中。启动虚拟机,进入安装界面,并按照步骤进行安装。安装完成后,可以在虚拟机中使用 Linux 系统。
|
6月前
|
存储 Ubuntu Linux
「正点原子Linux连载」第二章Ubuntu系统入门
在图2.8.2.4中,我们使用命令umount卸载了U盘,卸载以后当我们再去访问文件夹/mnt/tmp的时候发现里面没有任何文件了,说明我们卸载成功了。
|
Ubuntu Linux 网络安全
Linux系统初始化脚本
一款支持Rocky、CentOS、Ubuntu、Debian、openEuler等主流Linux发行版的系统初始化Shell脚本,涵盖网络配置、主机名设置、镜像源更换、安全加固等多项功能,适配单/双网卡环境,支持UEFI引导,提供多版本下载与持续更新。
567 0
Linux系统初始化脚本
|
6月前
|
运维 Linux 开发者
Linux系统中使用Python的ping3库进行网络连通性测试
以上步骤展示了如何利用 Python 的 `ping3` 库来检测网络连通性,并且提供了基本错误处理方法以确保程序能够优雅地处理各种意外情形。通过简洁明快、易读易懂、实操性强等特点使得该方法非常适合开发者或系统管理员快速集成至自动化工具链之内进行日常运维任务之需求满足。
415 18
|
5月前
|
安全 Linux Shell
Linux系统提权方式全面总结:从基础到高级攻防技术
本文全面总结Linux系统提权技术,涵盖权限体系、配置错误、漏洞利用、密码攻击等方法,帮助安全研究人员掌握攻防技术,提升系统防护能力。
518 1
|
5月前
|
监控 安全 Linux
Linux系统提权之计划任务(Cron Jobs)提权
在Linux系统中,计划任务(Cron Jobs)常用于定时执行脚本或命令。若配置不当,攻击者可利用其提权至root权限。常见漏洞包括可写的Cron脚本、目录、通配符注入及PATH变量劫持。攻击者通过修改脚本、创建恶意任务或注入命令实现提权。系统管理员应遵循最小权限原则、使用绝对路径、避免通配符、设置安全PATH并定期审计,以防范此类攻击。
1164 1
|
6月前
|
缓存 监控 Linux
Linux系统清理缓存(buff/cache)的有效方法。
总结而言,在大多数情形下你不必担心Linux中buffer与cache占用过多内存在影响到其他程序运行;因为当程序请求更多内存在没有足够可用资源时,Linux会自行调整其占有量。只有当你明确知道当前环境与需求并希望立即回收这部分资源给即将运行重负载任务之前才考虑上述方法去主动干预。
1931 10