linux系统重要文件目录

本文涉及的产品
实时数仓Hologres,5000CU*H 100GB 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 本文介绍了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             #当前系统中断信息
目录
相关文章
|
3天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
18 3
|
3天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
16 2
|
8天前
|
存储 Linux Windows
linux常用目录
/sbin s就是super User的意思,这里存放的是系统管理员使用的系统管理程序。 /home 存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一版该目录名是以用户的账号命名的。 /root 该目录为系统管理员,也称为超级权限者的用户主目录。 /lib 系统开机所需要最基本的动态连接共享库,其作用类似于windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。 /etc 所有的系统管理所需要的配置文件和子目录。 /usr 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program fies目录。 /bo
23 2
|
13天前
|
Linux 应用服务中间件 Shell
linux系统服务二!
本文详细介绍了Linux系统的启动流程,包括CentOS 7的具体启动步骤,从BIOS自检到加载内核、启动systemd程序等。同时,文章还对比了CentOS 6和CentOS 7的启动流程,分析了启动过程中的耗时情况。接着,文章讲解了Linux的运行级别及其管理命令,systemd的基本概念、优势及常用命令,并提供了自定义systemd启动文件的示例。最后,文章介绍了单用户模式和救援模式的使用方法,包括如何找回忘记的密码和修复启动故障。
35 5
linux系统服务二!
|
6天前
|
Linux 开发工具 Perl
在Linux中,有一个文件,如何删除包含“www“字样的字符?
在Linux中,如果你想删除一个文件中包含特定字样(如“www”)的所有字符或行,你可以使用多种文本处理工具来实现。以下是一些常见的方法:
30 5
|
3天前
|
安全 网络协议 Linux
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。
本文详细介绍了 Linux 系统中 ping 命令的使用方法和技巧,涵盖基本用法、高级用法、实际应用案例及注意事项。通过掌握 ping 命令,读者可以轻松测试网络连通性、诊断网络问题并提升网络管理能力。
18 3
|
6天前
|
安全 Linux 数据安全/隐私保护
在 Linux 系统中,查找文件所有者是系统管理和安全审计的重要技能。
在 Linux 系统中,查找文件所有者是系统管理和安全审计的重要技能。本文介绍了使用 `ls -l` 和 `stat` 命令查找文件所有者的基本方法,以及通过文件路径、通配符和结合其他命令的高级技巧。还提供了实际案例分析和注意事项,帮助读者更好地掌握这一操作。
23 6
|
6天前
|
Linux
在 Linux 系统中,`find` 命令是一个强大的文件查找工具
在 Linux 系统中,`find` 命令是一个强大的文件查找工具。本文详细介绍了 `find` 命令的基本语法、常用选项和具体应用示例,帮助用户快速掌握如何根据文件名、类型、大小、修改时间等条件查找文件,并展示了如何结合逻辑运算符、正则表达式和排除特定目录等高级用法。
31 6
|
7天前
|
机器学习/深度学习 自然语言处理 Linux
Linux 中的机器学习:Whisper——自动语音识别系统
本文介绍了先进的自动语音识别系统 Whisper 在 Linux 环境中的应用。Whisper 基于深度学习和神经网络技术,支持多语言识别,具有高准确性和实时处理能力。文章详细讲解了在 Linux 中安装、配置和使用 Whisper 的步骤,以及其在语音助手、语音识别软件等领域的应用场景。
33 5
|
7天前
|
Linux Python
Linux 中某个目录中的文件数如何查看?这篇教程分分钟教会你!
在 Linux 系统中,了解目录下的文件数量是常见的需求。本文介绍了多种方法,包括使用 `ls` 和 `wc` 命令组合、`find` 命令、`tree` 命令以及编程方式(如 Python)。无论你是新手还是有经验的用户,都能找到适合自己的方法。掌握这些技巧将提高你在 Linux 系统中的操作效率。
18 4