linux系统重要文件目录

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
实时计算 Flink 版,5000CU*H 3个月
简介: 本文介绍了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             #当前系统中断信息
相关文章
|
1月前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
80 3
|
4天前
|
存储 缓存 监控
Linux缓存管理:如何安全地清理系统缓存
在Linux系统中,内存管理至关重要。本文详细介绍了如何安全地清理系统缓存,特别是通过使用`/proc/sys/vm/drop_caches`接口。内容包括清理缓存的原因、步骤、注意事项和最佳实践,帮助你在必要时优化系统性能。
112 78
|
8天前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
39 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
1月前
|
缓存 Java Linux
如何解决 Linux 系统中内存使用量耗尽的问题?
如何解决 Linux 系统中内存使用量耗尽的问题?
120 48
|
4天前
|
存储 监控 Linux
嵌入式Linux系统编程 — 5.3 times、clock函数获取进程时间
在嵌入式Linux系统编程中,`times`和 `clock`函数是获取进程时间的两个重要工具。`times`函数提供了更详细的进程和子进程时间信息,而 `clock`函数则提供了更简单的处理器时间获取方法。根据具体需求选择合适的函数,可以更有效地进行性能分析和资源管理。通过本文的介绍,希望能帮助您更好地理解和使用这两个函数,提高嵌入式系统编程的效率和效果。
43 13
|
28天前
|
Ubuntu Linux 网络安全
linux系统ubuntu中在命令行中打开图形界面的文件夹
在Ubuntu系统中,通过命令行打开图形界面的文件夹是一个高效且实用的操作。无论是使用Nautilus、Dolphin还是Thunar,都可以根据具体桌面环境选择合适的文件管理器。通过上述命令和方法,可以简化日常工作,提高效率。同时,解决权限问题和图形界面问题也能确保操作的顺利进行。掌握这些技巧,可以使Linux操作更加便捷和灵活。
20 3
|
4天前
|
Ubuntu Linux C++
Win10系统上直接使用linux子系统教程(仅需五步!超简单,快速上手)
本文介绍了如何在Windows 10上安装并使用Linux子系统。首先,通过应用商店安装Windows Terminal和Linux系统(如Ubuntu)。接着,在控制面板中启用“适用于Linux的Windows子系统”并重启电脑。最后,在Windows Terminal中选择安装的Linux系统即可开始使用。文中还提供了注意事项和进一步配置的链接。
17 0
|
28天前
|
运维 监控 网络协议
运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面
本文介绍了运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面,旨在帮助读者提高工作效率。从基本的文件查看与编辑,到高级的网络配置与安全管理,这些命令是运维工作中的必备工具。
116 3
|
1月前
|
Linux Python
Linux 中某个目录中的文件数如何查看?这篇教程分分钟教会你!
在 Linux 系统中,了解目录下文件数量是常见的需求。本文介绍了四种方法:使用 `ls` 和 `wc` 组合、`find` 命令、`tree` 命令以及编程实现(如 Python)。每种方法都附有详细说明和示例,适合不同水平的用户学习和使用。掌握这些技巧,可以有效提升系统管理和日常使用的效率。
359 6
|
1月前
|
分布式计算 Java Hadoop
linux中HADOOP_HOME和JAVA_HOME删除后依然指向旧目录
通过以上步骤,可以有效地解决 `HADOOP_HOME`和 `JAVA_HOME`删除后依然指向旧目录的问题。确保在所有相关的配置文件中正确设置和删除环境变量,并刷新当前会话,使更改生效。通过这些措施,能够确保系统环境变量的正确性和一致性。
26 1
下一篇
DataWorks