Linux 入门记录:二、Linux 文件系统基本结构
一、树状目录结构
Linux 文件系统是一个倒置的单根树状结构。文件系统的根为"/";文件名严格区分大小写;路径使用"/"分割(Windows 中使用"\")。
树状目录结构图如下:

以下是对上图中各个目录的解释:
| 目录 | 描述 |
| / | 根目录,一般根目录下只存放目录,不要存放文件,/etc、/bin、/dev、/lib、/sbin应该和根目录放置在一个分区中 |
| /bin | Binary 的缩写,这个目录存放着最经常使用的命令 |
| /boot | 存放着 Linux 启动时的一些核心文件,包括一些连接文件和镜像文件 |
| /dev | Device 的缩写,存放着 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的 |
| /etc | 存放着所有的系统管理所需要的配置文件和子目录 |
| /home | 用户主目录。在 Linux 中,每个用户都有一个自己的目录,一般该目录名以用户的账号命名 |
| /lib |
存放着系统最基本的动态连接共享库,作用类似于 Windows 的 DLL 文件。 几乎所有的应用程序都需要用到这些共享库 |
| /lost+found | 一般情况下为空,当系统非法关机后,这里就存放了一些文件 |
| /media |
Linux 系统会自动识别一些设备。 例如 U 盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下 |
| /mnt |
让用户临时挂载别的文件系统的目录。 我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了 |
| /opt |
给主机额外安装软件所准备的目录。 比如可以安装一个 Oracle 数据库在这个目录。默认为空 |
| /proc |
虚拟目录,是系统内存的映射,可以通过直接访问这个目录来获取系统信息。 这个目录的内容在内存里,可以直接修改里面的某些文件。 比如可以通过下面的命令来屏蔽主机的 ping 命令,使别人无法 ping 你的机器: echo > /proc/sys/net/ipv4/icmp_echo_ignore_all |
| /root | 系统管理员的用户主目录 |
| /sbin | s 是 Super User 的意思,存放系统管理员使用的系统管理程序 |
| /selinux |
这个是 Redhat/CentOS 所特有的目录,selinux 是一个安全机制,类似于 Windows 的防火墙。 但是这套机制比较复杂,这个目录就是存放 selinux 相关的文件的 |
| /srv | 该目录是存放一些服务启动之后需要提取的数据 |
| /sys |
/sys 这是 Linux 2.6 内核的一个很大变化。 该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs。sysfs 文件系统集成了下面 3 种文件系统的信息: 针对进程的 proc 文件系统、 针对设备的 devfs 文件系统 以及针对伪终端的 devpts 文件系统。 该文件系统是内核设备树的一个直观反映。当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建 |
| /tmp | 临时文件目录 |
| /usr |
这个目录非常重要。 用户的很多应用程序和文件都放在这个目录下,类似于 Windows 下的 Program Files 目录 |
| /usr/bin | 系统用户使用的应用程序 |
| /usr/sbin | 超级用户使用的比较高级的管理程序和系统守护程序 |
| /usr/src | 内核源代码默认的放置位置 |
| /var |
这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括日志文件 |
二、当前工作目录
- 每一个 Shell 或系统进程都有一个当前工作目录。
- 使用 pwd 命令可以显示当前的工作目录。
三、文件名称
- 文件的名称大小写敏感。
- 名称最多可以为255个字符。
- 除了正斜线"/"外,都是有效字符。
- 通过 touch 命令可以创建一个空白文件或者更新已有文件的时间。
- 以点号"."开头的文件是隐藏文件。
四、列出目录内容
ls 命令用来列出目录内容。相关参数如下:
$ ls -a 显示所有文件(包括隐藏文件)
$ ls -l 显示详细信息
$ ls -R 递归显示子目录
$ ls -ld 显示目录和链接信息
五、查看文件类型
通过 file 命令可以查看文件的类型。
六、绝对路径与相对路径
- 绝对路径:以正斜杠"/"开头,递归每级目录知道目标的路径。
- 相对路径:以当前目录为起点,到达目标的路径。受当前所在目录限制。
cd 命令可以用来切换目录。
$ cd . 切换到当前目录
$ cd .. 切换上一级目录
$ cd - 切换上一个工作目录
$ cd ~ 切换到当前用户目录
不管在任何目录下,直接 cd 回车,都会回到当前用户目录 /home/用户名 。
相关链接:大牛笔记 - Linux 目录结构
Linux 入门记录:二、Linux 文件系统基本结构的更多相关文章
- Linux入门基础(二):Linux磁盘及文件管理系统
磁盘管理 fdisk分区工具 只支持MBR分区 fdisk命令只有root用户能用 fdisk -l 列出所有安装磁盘及分区信息 fdisk /dev/sda (操作磁盘,按m可列出帮助界面,常用的操 ...
- Linux 入门记录:二十、Linux 包管理工具 YUM
一.YUM(Yellowdog Updater, Modified) 1. YUM 简介 RPM 软件包形式管理软件虽然方便,但是需要手动解决软件包的依赖问题.很多时候安装一个软件首先需要安装 1 个 ...
- Linux学习之二-Linux系统的目录结构
Linux学习之二-Linux系统的目录结构 在Linux的根目录下,有很多的目录,但是需要记住,对于Linux而言,一切皆文件.因此此处的目录也是文件.用ls / 命令就能看到根目录下的各类不同的目 ...
- Oracle数据库基础入门《二》Oracle内存结构
Oracle数据库基础入门<二>Oracle内存结构 Oracle 的内存由系统全局区(System Global Area,简称 SGA)和程序全局区(Program Global Ar ...
- Linux 入门记录:八、Linux 文件系统
一.文件系统 操作系统通过文件系统管理文件及数据,磁盘或分区需要创建文件系统之后,才能被操作系统所用,创建文件系统的过程又称之为格式化.没有文件系统的设备又称之为裸设备(raw),某些环境会需要裸设备 ...
- Linux 入门记录:六、Linux 硬件相关概念(硬盘、磁盘、磁道、柱面、磁头、扇区、分区、MBR、GPT)
一.硬盘 硬盘的功能相当简单但很重要,它负责记录系统所需要的各种数据.硬盘记录数据有两个方面,一个是硬件方面的存储原理和结构,另外一方面则是软件方面的数据和文件系统.硬盘的主要行为就是数据的存放和取出 ...
- Linux 入门记录:十八、Linux 系统启动流程 + 单用户修改 root 密码 + GRUB 加密
一.系统启动流程 一般来说,Linux 系统的启动流程是这样的: 1. 开机之后,位于计算机主板 ROM 芯片上的 BIOS 被最先读取,在进行硬件和内存的校验以及 CPU 的自检没有异常后, BIO ...
- 大数据Hadoop入门教程 | (二)Linux
使用finalShell可以提供文件目录图形化 完整Linux命令整理参考大佬博客:Linux常见文件管理命令 - Mr_Walker - 博客园 Linux文件系统基础知识 Linux文件系统概念 ...
- Linux 入门记录:十六、Linux 多命令协作:管道及重定向
一.多命令协作 在 Linux 系统当中,大多数命令都很简单,很少出现复杂功能的命令,每个命令往往只实现一个或多个很简单的功能.通过将不同功能的命令组合一起使用,可以实现某个复杂功能的. Linux ...
- Linux入门基础(一):Linux基本操作
命令行BASH基本操作 Shell 用户不能直接操作内核,所以用户操作通过shell传递给内核 shell分为两种 : GUI 图形界面 (linux一般是GNOME) CLI 命令行界面 (linu ...
随机推荐
- SpringBoot2.0(二) 配置文件多环境
在SpringBoot中,多环节的配置文件名基于application-{profile}.properties的格式,其中{profile}对应环境标识,比如: application-daily. ...
- FZU 1492 地震预测(链表)
实际上把数组排序一遍加入链表中,再记录好数组原来的数在链表中的位置.我们只需要维护链表的删除操作就可以了. # include <cstdio> # include <cstring ...
- BZOJ 1415 聪聪和可可(期望DP)
我们可以用n次BFS预处理出 to[][]数组,to[i][j]表示聪聪从i点到j点第一步会走哪个点. 那么对于聪聪在i点,可可在j点,聪聪先走,定义dp[i][j]表示步数期望. 那么显然有dp[i ...
- OracleHelp以及其简单应用
我自己写的简单的OracleHelp <?xml version="1.0" encoding="utf-8" ?> <configurati ...
- P3065 [USACO12DEC]第一!First!
题目描述 Bessie has been playing with strings again. She found that by changing the order of the alphabe ...
- BZOJ5157 & 洛谷3970:[TJOI2014]上升子序列——题解
https://www.lydsy.com/JudgeOnline/problem.php?id=5157 https://www.luogu.org/problemnew/show/P3970 给定 ...
- 重载(Overload)和重写(Override)的区别。重载的方法能否根据返回类型进行区分?
方法的重载和重写都是实现多态的方式,区别在于前者实现的是编译时的多态性,而后者实现的是运行时的多态性.重载发生在一个类中,同名的方法如果有不同的参数列表(参数类型不同.参数个数不同或者二者都不同)则视 ...
- Android LocalBroadcastManager解析
阿里巴巴Android开发手册[强制]避免使用隐式 Intent 广播敏感信息,信息可能被其他注册了对应BroadcastReceiver 的 App 接收.说明:通过 Context#sendBro ...
- Django请求原理(二)
1,Web服务器(中间件)收到一个http请求 2,Django在URLconf里查找对应的视图(View)函数来处理http请求 3,视图函数调用相应的数据模型来存取数据.调用相应的模板向用户展示页 ...
- 题解【luogu1073 最优贸易】
Solution 考虑原图是 DAG 时怎么做. 拓扑排序 + dp ,令 dp[i] 表示 \(1\) 到 \(i\) 的路径上最小的卖出价格.转移方程就是对每一个可以到达这个点的 dp 取个 mi ...