一、前言¶
Linux文件系统是一个层次结构,由各种目录和文件组成,每个目录都有其独特的作用。本文将深入研究Linux中的核心目录,解释它们的作用和重要性。这些核心目录对于操作系统和应用程序的正常运行至关重要。
二、初步了解Linux核心目录¶
2.1 根目录(/)¶
定义:
/是整个Linux文件系统的根,从这里开始所有路径。- 所有其他目录和文件都位于根目录下或其子目录中。
用途:
- 根目录包含系统的所有文件和目录,以及核心配置文件。
- 它是整个文件系统的基础,用于定位和引用其他目录和文件。
2.2 /bin 目录¶
定义:
/bin是二进制文件(可执行文件)的存储位置。- 包含了系统启动和修复所需的基本命令,如
ls、cp、mv、rm等。
用途:
/bin中的命令通常用于系统维护和修复,可用于引导操作系统。
2.3 /boot 目录¶
定义:
/boot包含引导加载程序和内核镜像文件。- 这里存放了用于启动计算机的引导加载程序配置文件,如GRUB,以及Linux内核的镜像文件。
用途:
/boot是系统启动过程的关键部分,用于引导操作系统。
2.4 /dev 目录¶
定义:
/dev包含设备文件,用于访问和控制系统硬件设备。- 例如,硬盘、USB设备、串口端口、键盘和鼠标等设备都可以在这里找到。
用途:
/dev允许应用程序与硬件设备进行交互,是硬件抽象层的一部分。
2.5 /etc 目录¶
定义
/etc包含系统范围的配置文件和目录。- 包括系统配置文件、网络设置、用户帐户配置、服务启动脚本等。
用途:
/etc中的配置文件影响整个系统的行为,它是系统配置的主要存储位置。
2.6 /home 目录¶
定义:
/home包含用户的主目录。- 每个用户有一个自己的目录,通常以用户名命名。
用途:
/home用于存储用户的个人文件和配置,提供了私人工作空间。
2.7 /lib 和 /lib64 目录¶
定义:
/lib和/lib64包含共享库文件,用于在运行时支持可执行程序。/lib通常包含32位架构的库文件,而/lib64包含64位架构的库文件。
用途:
- 这些库文件是程序在运行时所需的共享资源,帮助程序执行各种任务。
2.8 /media 和 /mnt 目录¶
定义
/media和/mnt用于挂载可移动媒体设备和临时挂载点。- 当你插入CD、DVD、USB驱动器等外部设备时,通常会在
/media中创建一个临时挂载点。
用途:
- 这些目录允许用户访问和管理可移动媒体设备,如挂载USB驱动器或CD/DVD。
2.9 /opt 目录¶
定义
/opt是可选的应用程序目录,通常包含第三方软件的安装。- 一些应用程序(如大型商业软件)可能会将其安装到此目录。
用途:
/opt用于存储第三方应用程序,以保持系统文件结构的整洁。
2.10 /proc 目录¶
定义:
/proc提供了内核和进程信息的虚拟文件系统。- 你可以在这里找到关于系统状态、硬件信息和运行进程的信息。
用途:
/proc用于访问系统信息,如CPU信息、内存使用情况和正在运行的进程列表。
2.11 /root 目录¶
- 定义:
/root是超级用户(root)的主目录。- 超级用户是系统的管理员,拥有对系统的完全控制。
- 用途:
/root是超级用户的家目录,用于管理和维护整个系统。
2.12 /sbin 目录¶
定义:
/sbin包含系统二进制命令,用于系统管理和修复。- 这里存放了一些用于系统启动、恢复和维护的命令,通常需要root权限才能执行。
用途:
/sbin中的命令通常用于系统管理和修复,包括启动过程中的关键任务。
2.13 /srv 目录¶
定义:
/srv通常用于存放服务数据目录。- 一些网络服务,如Web服务器,可能会在这里存储其数据文件。
用途:
/srv用于存储服务器数据,提供服务和应用程序所需的数据目录。
2.14 /tmp 目录¶
定义:
/tmp是用于临时文件的目录。- 这里的文件通常在系统重启时会被清除,因此不应该存放重要数据。
用途:
/tmp用于存储临时文件,如应用程序生成的临时数据。
2.15 /usr 目录¶
定义:
/usr包含用户可执行文件和资源,如应用程序和共享数据。- 这里包含了大多数用户安装的软件和系统资源。
用途:
/usr用于存储用户安装的软件,使系统和用户程序分离。
2.16 /var 目录¶
定义:
/var包含可变数据,如日志文件、缓存和其他动态生成的数据。- 例如,系统日志文件通常存储在
/var/log中。
用途:
/var用于存储经常变化的数据,例如日志文件和数据库文件。
三、深入了解Linux核心目录¶
3.1 /etc/目录¶
| /etc/文件 | 说明 |
|---|---|
| /etc/hostname | 主机名配置文 件 |
| /etc/hosts | 主机名和ip的对应关系 |
| /etc/sysconfig/network-scripts/ifcfg-ens33 | 网卡配置文件 |
| /etc/rc.local | 开机自启动的文件 |
| /etc/fstab | 开机自动挂载的配置文件 |
| /etc/motd | 文件中的内容会在用户登录系统后显示出来 |
| /etc/issue /etc/issue.net |
文件中的内容会在用户登录系统前显示出来(这个文件内容应该清空) |
3.1.1 修改主机名¶
临时修改主机(重启失效)
$ hostname 新主机名
永久修改主机(重启不失效)
$ hostnamectl set-hostname 新主机名
永久修改主机(重启方可生效)
$ vi /etc/hostname
新的主机名
3.1.2 添加主机和IP映射¶
$ vim /etc/hosts
ip 域名
3.1.3 网卡配置文件¶
编辑网卡配置文件
$ vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="none"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="a01cb69d-7be0-447f-b29e-1c48315a5df6"
DEVICE="ens33"
ONBOOT="yes"
IPADDR="192.168.1.41"
PREFIX="24"
GATEWAY="192.168.1.1"
DNS1="223.5.5.5"
DNS2="223.6.6.6"
IPV6_PRIVACY="no"
重启服务
$ systemctl restart network
3.1.4 /etc/rc.local(开机自启动配置文件)¶
在过去,/etc/rc.local 是一个用于在Linux系统启动过程中运行自定义脚本或命令的文件。但在许多现代Linux发行版中,/etc/rc.local 已经被弃用,不再默认启用。代替方法通常是使用/etc/rc.d 或 /etc/init.d 目录中的启动脚本,或者使用 systemd 服务单元来管理系统启动过程。
3.1.5 /etc/motd issue¶
建议motd写入系统基本信息。固定不变的。
$ > /etc/motd issue
如果不是工作,也可以添加一下图案进行娱乐下
$ vim /etc/motd
具体图案如下
/**
* .::::.
* .::::::::.
* ::::::::::: FUCK YOU
* ..:::::::::::'
* '::::::::::::'
* .::::::::::
* '::::::::::::::..
* ..::::::::::::.
* ``::::::::::::::::
* ::::``:::::::::' .:::.
* ::::' ':::::' .::::::::.
* .::::' :::: .:::::::'::::.
* .:::' ::::: .:::::::::' ':::::.
* .::' :::::.:::::::::' ':::::.
* .::' ::::::::::::::' ``::::.
* ...::: ::::::::::::' ``::.
* ````':. ':::::::::' ::::..
* '.:::::' ':'````..
*/
还有这个比较经典的
*********************************************
_ooOoo_
o8888888o
88" . "88
(| -_- |)
O\ = /O
____/`---'\____
.' \\| |// `.
/ \\||| : |||// \
/ _||||| -:- |||||- \
| | \\\ - /// | |
| \_| ''\---/'' | |
\ .-\__ `-` ___/-. /
___`. .' /--.--\ `. . __
."" '< `.___\_<|>_/___.' >'"".
| | : `- \`.;`\ _ /`;.`/ - ` : | |
\ \ `-. \_ __\ /__ _/ .-` / /
======`-.____`-.___\_____/___.-`____.-'======
`=---='
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
佛祖保佑 永无BUG
3.2 /var/目录¶
Linux系统日志
| /var/经常变化的内容 | 说明 |
|---|---|
| /var/log/ | 系统及服务的各种日志目录 |
| /var/log/secure | 存放用户登录情况日志。 |
| /var/log/messages | 通用各种服务的日志, 日志很多 |
3.3 /proc/¶
| /proc/目录 | 说明 |
|---|---|
| /proc/cpuinfo | cpu信息 |
| /proc/meminfo | 内存信息 |
| /proc/loadavg | 系统负载信息,衡量系 统繁忙程度 |
| /proc/mounts | 系统挂载信息 |
3.3.1 cpu信息¶
查看cpu信息主要为如下信息:
- cpu颗数:有多少个物理的cpu
- cpu核心数:1颗中有多少个核心,每个核心相当于是1个工人
查看cpu颗数
$ lscpu | grep "Socket(s):"
查看cpu核心数
$ lscpu | grep "CPU(s):"
3.3.2 内存信息¶
查看内存信息
$ free -h
除此之外,还有其他方法查看内存的详细信息
$ cat /proc/meminfo