Linux2️⃣系统目录 & 目录管理
1、系统目录
1.1、一切皆文件
在 Linux 中,一切皆文件。
根目录为
/
,所有资源都挂载在根节点下。
Linux 命令
-
所有命令可组合使用,命令的参数也可组合使用。
-
查看命令的使用说明:
man [命令]
1.2、根目录
输入命令,查看根目录结构
-
/
- 根目录,位于 Linux 文件系统目录结构的顶层。
- 通常只存放目录,不建议存放文件。
-
/bin
- Binaries (二进制文件) ,存放用户基本命令。
- 不允许关联到独立分区,操作系统启动会用到里面的程序。
-
/sbin
- Superuser Binaries (超级用户的二进制文件) ,存放管理员系统管理命令。
- 不允许关联到独立分区,操作系统启动会用到里面的程序。
-
/home
- 普通用户主目录,Linux 为每个用户分配一个目录。
- 该目录名一般是用户的账号名。
-
/root
- 系统管理员 root 的宿主目录,也称超级权限者的用户主目录。
- 系统第一个启动的分区为
/
,最好将/root
和/
放置在同一个分区下。
-
/lib
- Library (库),存放系统在启动时依赖的基本共享库文件及内核模块文件。
- 很多程序在执行时会用到这些共享库文件,作用类似 Windows 里的 DLL 文件。
-
/lib64:存放 64 位系统上的辅助共享库文件。
-
/dev
- Device(设备) ,存放 Linux 设备、外部设备的对应文件(如终端、磁盘驱动器、光驱、网卡等)。
- 访问该目录下某个文件,相当于在 Linux 中访问某个设备。
-
/media
- 便捷式移动设备挂载点(例如U盘、光驱等)。
- Linux 会自动识别一些设备,将识别的设备挂载到这个目录下。
-
/mnt
- mount (挂载),临时文件系统挂载点。
- 用于让用户临时挂载别的文件系统(如将光驱挂载该目录下,进入该目录就可以查看光驱的内容)。
-
/opt
- optional (可选) ,第三方应用程序的安装位置。
- 该目录用于给主机额外安装软件(如安装Oracle数据库)。
-
/usr
- unix softwart resources (Unix 应用程序资源),存放用户应用程序和文件,类似 Windows 下的
program files
目录。 - /usr/bin:系统用户使用,保证系统拥有完整功能而提供的应用程序。
- /usr/sbin:超级用户使用,比较高级的管理程序和系统守护程序。
- /usr/lib:程序运行所依赖的函数库文件。
- /usr/src:放置内核源代码。
- /usr/local:软件升级包,第三方应用程序的安装位置。
- /usr/share:共享数据。
- unix softwart resources (Unix 应用程序资源),存放用户应用程序和文件,类似 Windows 下的
-
/etc:存放系统管理的配置文件和子目录。
-
/sys
- Linux2.6 内核的大变化,安装了 2.6 内核中新出现的文件系统 sysfs。
- sysfs 文件系统集成了以下3种文件系统的信息。
- 针对进程信息的 proc 文件系统;
- 针对设备的 devfs 文件系统;
- 针对伪终端的 devpts 文件系统;
- sysfs 文件系统是内核设备树的一个直观反映。
- 当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。
-
/boot:存放启动 Linux 时使用的一些核心文件,包括连接文件、镜像文件等。
-
/lost+found:存放系统非法关机的一些文件。
-
/proc
- Processes (进程) ,用于输出内核与进程信息相关的虚拟文件系统。
- 该目录是一个虚拟目录,是系统内存的映射,可以通过访问该目录来获取系统信息。
- 该目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件。
-
/run
- 临时文件系统,存储系统启动以来的信息。
- 当系统重启时,这个目录下的文件应该被删掉或清除。
-
/srv:存放系统上服务启动后需要提取的数据。
-
/var
- variable(变量) ,存放系统中经常要发生变化的文件。
- 将那些经常被修改的文件放在这个目录下,如日志文件。
-
/tmp:temporary (临时) ,存放临时文件,任何人都可访问。
-
/www:存放服务器网站相关资源。
2、目录管理
目录管理
- ls:查看目录内容(文件和目录)
- cd:切换目录
- pwd:查看当前工作目录
- mkdir/rmdir:创建/删除空目录
ls
list files
查看目录内容
ls [dirName]
常用参数:
-
-a
:查看全部文件,包括.
开头的隐藏文件。 -
-l
:以长数据串查看。-
包括文件型态、权限、拥有者、大小等详细信息(不包括隐藏文件)。
-
相当于
ll
。
-
cd
change directory
切换目录
cd dirName
常用目录:
-
绝对路径:从根目录写起,即以
/
开头。cd /usr/bin
-
相对路径:当前目录(
./
),上一级目录(..
)。# 上一级目录 cd .. # cd ../..
-
用户目录:根据登录者,可能是 home 或 root 目录。
cd ~
pwd
print work directory
查看当前工作目录
mkdir
make directory
创建空目录
mkdir dirName
常用参数:-p
,创建之前确认目录是否存在,不存在则创建。
- 如果不使用
-p
,创建时发现目录存在会报错。 - 利用
-p
可以创建多级目录。
示例:创建已存在的同名目录
-
创建一个目录。
-
尝试创建同名目录 → 报错。
-
尝试创建同名目录,添加
-p
→ 程序正常。
示例:创建多级目录
-
尝试直接创建多级目录 → 报错。
-
尝试直接创建多级目录,添加
-p
→自动补充不存在的层级目录。
rmdir
remove directory
删除空目录
rmdir dirName
常用参数:-p
,若某个目录是父目录唯一文件,则将父目录也级联删除。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通