当前位置: 代码网 > 服务器>服务器>Linux > Linux与文件系统使用解读

Linux与文件系统使用解读

2026年09月05日 Linux 我要评论
一、linux:从unix血脉到开源基石1.1 unix的诞生与影响1969年,贝尔实验室的肯·汤普逊(ken thompson)与丹尼斯·里奇(dennis ritchi

一、linux:从unix血脉到开源基石

1.1 unix的诞生与影响

1969年,贝尔实验室的肯·汤普逊(ken thompson)丹尼斯·里奇(dennis ritchie)在multics项目失败后,从头创建了unix操作系统。随后,ritchie开发了c语言并用其重写unix,使其具备了卓越的可移植性,为现代操作系统奠定了基础。

1.2 linux的诞生与gnu/linux体系

1991年,芬兰学生林纳斯·托瓦兹(linus torvalds)发布了第一个linux内核(0.01版)。它并非孤立存在,而是与richard stallman发起的gnu项目提供的工具集(bash、gcc等)结合,形成了完整的操作系统,通常被称为gnu/linux

linux遵循gpl(通用公共许可证),保证用户拥有使用、修改和再发布的自由,但衍生作品也必须开源。

1.3 主要发行版家族

linux发行版 = linux内核 + gnu工具集 + 应用软件 + 包管理器。

主流家族如下:

家族代表发行版包管理工具
red hat系rhel、centos、fedorayum / dnf
debian系debian、ubuntu、linux mintapt
suse系opensuse、suse linux enterprisezypper

重要提醒:centos 7已于2024年6月30日停止维护(eol)。

1.4 linux 的主要特点

特点说明
开源免费源代码公开,可自由修改和再发布
多用户多任务多个用户可同时登录,多个程序可同时运行
安全稳定权限体系完善,广泛应用于服务器等关键环境
可定制性强内核、桌面、软件都可以按需裁剪定制
网络功能强大天生为网络而生,是服务器领域的绝对主力

1.5 linux 与 windows 对比

比较维度windowslinux
免费与收费收费且较贵免费或极少的服务费用
软件与支持软件数量和质量有优势,但大部分为收费软件,由微软官方提供支持和服务开源自由软件,用户可修改、定制和再发布;由于基本免费、缺乏商业资金支持,部分软件质量和体验稍欠缺,由全球 linux 开发者和自由软件社区提供支持
安全性需要频繁打补丁和安装系统安全更新,仍可能中病毒木马同样存在安全问题,但权限模型更严格,相对而言比 windows 平台更安全
使用习惯普通用户基本在纯图形界面下操作,依靠鼠标和键盘完成一切操作,上手容易、入门简单兼具图形界面和完全的命令行操作,可以只用键盘完成一切操作;新手入门难度较大,需要一定学习和指导,熟练后效率更高
可定制性封闭系统,可定制性差开源,可定制性非常强
应用场景桌面操作系统以 windows 为主支撑百度、谷歌、淘宝等大量应用和服务的服务器主机,绝大多数是 linux

二、文件系统哲学:“一切皆文件”

2.1 核心设计思想

linux最优雅的设计哲学莫过于一切皆文件

  • 普通文件目录(文件名与inode的映射)是文件
  • 硬件设备(如/dev/sda)是文件
  • 进程信息系统状态也以文件形式暴露(/proc/sys

这种统一抽象,让所有资源都可以用打开、读、写、关闭这同一套api进行操作,极大简化了系统设计和程序开发。

2.2 路径规则

绝对路径:从根目录/开始,如/home/user/word.txt

相对路径:从当前目录开始,如./word.txt../soft/

  • . = 当前目录
  • .. = 上一级目录

常用命令:pwd(查看当前路径)、ls /(查看根目录内容)

三、单根树状目录结构总览

linux采用单一根目录(/)的树状结构,所有目录均挂载于其下:

/
├── bin          # 常用命令(通常指向 /usr/bin)
├── sbin         # 系统管理命令(通常指向 /usr/sbin)
├── home         # 普通用户主目录
├── root         # root用户主目录
├── lib          # 共享库(通常指向 /usr/lib)
├── etc          # 系统配置文件
├── usr          # 应用程序与用户数据(类似windows的program files)
├── boot         # 启动文件(内核、引导程序)
├── proc         # 虚拟文件系统(进程与内核信息,内存映射)
├── sys          # sysfs虚拟文件系统(设备与内核对象)
├── tmp          # 临时文件(重启后通常清空)
├── dev          # 设备文件(硬盘、终端等)
├── media        # 可移动设备自动挂载点
├── mnt          # 手动临时挂载点
├── opt          # 额外安装的第三方软件
├── srv          # 服务数据目录
├── var          # 变化频繁的文件(日志、缓存等)
└── lost+found   # 系统崩溃后恢复的文件片段

四、核心目录详解

4.1 /bin 与 /sbin —— 命令存放地

  • /bin(binary):存放lscpmv普通用户可用的基础命令。
  • /sbin(superuser binary):存放fdiskmkfs系统管理员专用的管理命令。

新发行版中,二者通常分别为/usr/bin/usr/sbin的软链接。

4.2 /home 与 /root —— 用户的家

  • /home:普通用户主目录所在,如/home/alice
  • /root:超级用户(root)的主目录,普通用户无权访问。

4.3 /etc —— 配置文件的集中营

存放所有系统级别的配置文件,如:

  • /etc/passwd:用户账户信息
  • /etc/hosts:主机名与ip映射
  • /etc/fstab:开机自动挂载配置
  • /etc/sysconfig/network-scripts/:网卡参数配置

4.4 /usr —— 用户程序的大本营

类似于windows的“program files”,存放系统自带的应用程序、库文件、文档等,是系统中最庞大的目录之一。

4.5 /boot —— 启动核心区

存放linux内核镜像、引导加载程序(如grub)等启动必需文件。请勿将自己的文件放在此处

4.6 /proc 与 /sys —— 内核的实时窗口

两者均为虚拟文件系统,数据存在于内存中而非磁盘:

  • /proc:显示进程信息(如/proc/cpuinfo查看cpu)、内核参数。
  • /sys:暴露设备与内核对象信息,自linux 2.6内核引入。

4.7 /dev —— 设备文件目录

将硬件设备以文件形式呈现,如/dev/sda(第一块硬盘)、/dev/tty(终端)。通过ls /dev可查看所有设备文件。

4.8 /media 与 /mnt —— 挂载点

  • /media:系统自动识别并挂载u盘、光驱等可移动设备(centos 7后移至/run/media)。
  • /mnt:供管理员手动临时挂载其他文件系统(如额外硬盘分区)。

4.9 /var —— 变化数据的归宿

存放经常变化的文件,最重要的是系统日志(如/var/log/messages),还有邮件队列、打印队列、缓存等。

4.10 /tmp —— 临时文件暂存处

任何用户都可读写,存放临时数据,系统重启后内容通常会被清理。

4.11 /opt —— 第三方软件安装区

用于安装手动部署的软件,如mysql、oracle等,默认为空。

4.12 /srv —— 服务数据目录

存放由系统提供服务的特定数据,如web服务器的网页文件。

4.13 /lost+found —— 文件系统急救室

仅在系统崩溃或非法关机后,用于存放fsck恢复的文件片段,平时为空。

五、容易混淆的重点目录速查表

目录对记忆要点
/bin vs /sbinbin = 普通命令,sbin = 管理员命令
/home vs /roothome = 普通用户的家,root = 超级用户的家
/proc vs /sys两者都是虚拟文件系统,proc偏进程,sys偏设备/内核对象
/media vs /mntmedia = 自动挂载可移动设备,mnt = 手动临时挂载
/usr vs /optusr = 系统自带应用程序,opt = 第三方手动安装软件
/var记住“变化”(variable)—— 日志等频繁变化的数据

六、总结

linux 不仅是一个操作系统,更是一种开放、自由且严谨的技术哲学。

从 unix 的血脉传承到 gnu/linux 体系的繁荣,它凭借一切皆文件的优雅抽象和单根树状目录结构,构建了一个高度模块化、安全且稳定的系统基石。

对于初学者而言,深入理解这套目录结构是跨越命令行门槛的第一步:

  • 找准定位: 牢记 /etc 管配置、/var 存日志、/proc 看状态、/dev 认设备。
  • 理清边界: 区分普通用户与管理员的权限边界(/home vs /root,/bin vs /sbin),以及系统自带与第三方软件的存放逻辑(/usr vs /opt)。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com