一、树状目录结构

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

这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括日志文件

二、当前工作目录

  1. 每一个 Shell 或系统进程都有一个当前工作目录。
  2. 使用 pwd 命令可以显示当前的工作目录。

三、文件名称

  1. 文件的名称大小写敏感。
  2. 名称最多可以为255个字符。
  3. 除了正斜线"/"外,都是有效字符。
  4. 通过 touch 命令可以创建一个空白文件或者更新已有文件的时间。
  5. 以点号"."开头的文件是隐藏文件。

四、列出目录内容

ls 命令用来列出目录内容。相关参数如下:

$ ls -a  显示所有文件(包括隐藏文件)
$ ls -l 显示详细信息
$ ls -R 递归显示子目录
$ ls -ld 显示目录和链接信息

  

五、查看文件类型

通过 file 命令可以查看文件的类型。

六、绝对路径与相对路径

  1. 绝对路径:以正斜杠"/"开头,递归每级目录知道目标的路径。
  2. 相对路径:以当前目录为起点,到达目标的路径。受当前所在目录限制。

cd 命令可以用来切换目录。

$ cd .   切换到当前目录
$ cd .. 切换上一级目录
$ cd - 切换上一个工作目录
$ cd ~ 切换到当前用户目录

不管在任何目录下,直接 cd 回车,都会回到当前用户目录 /home/用户名 。

相关链接:大牛笔记 - Linux 目录结构

Linux 入门记录:二、Linux 文件系统基本结构的更多相关文章

  1. Linux入门基础(二):Linux磁盘及文件管理系统

    磁盘管理 fdisk分区工具 只支持MBR分区 fdisk命令只有root用户能用 fdisk -l 列出所有安装磁盘及分区信息 fdisk /dev/sda (操作磁盘,按m可列出帮助界面,常用的操 ...

  2. Linux 入门记录:二十、Linux 包管理工具 YUM

    一.YUM(Yellowdog Updater, Modified) 1. YUM 简介 RPM 软件包形式管理软件虽然方便,但是需要手动解决软件包的依赖问题.很多时候安装一个软件首先需要安装 1 个 ...

  3. Linux学习之二-Linux系统的目录结构

    Linux学习之二-Linux系统的目录结构 在Linux的根目录下,有很多的目录,但是需要记住,对于Linux而言,一切皆文件.因此此处的目录也是文件.用ls / 命令就能看到根目录下的各类不同的目 ...

  4. Oracle数据库基础入门《二》Oracle内存结构

    Oracle数据库基础入门<二>Oracle内存结构 Oracle 的内存由系统全局区(System Global Area,简称 SGA)和程序全局区(Program Global Ar ...

  5. Linux 入门记录:八、Linux 文件系统

    一.文件系统 操作系统通过文件系统管理文件及数据,磁盘或分区需要创建文件系统之后,才能被操作系统所用,创建文件系统的过程又称之为格式化.没有文件系统的设备又称之为裸设备(raw),某些环境会需要裸设备 ...

  6. Linux 入门记录:六、Linux 硬件相关概念(硬盘、磁盘、磁道、柱面、磁头、扇区、分区、MBR、GPT)

    一.硬盘 硬盘的功能相当简单但很重要,它负责记录系统所需要的各种数据.硬盘记录数据有两个方面,一个是硬件方面的存储原理和结构,另外一方面则是软件方面的数据和文件系统.硬盘的主要行为就是数据的存放和取出 ...

  7. Linux 入门记录:十八、Linux 系统启动流程 + 单用户修改 root 密码 + GRUB 加密

    一.系统启动流程 一般来说,Linux 系统的启动流程是这样的: 1. 开机之后,位于计算机主板 ROM 芯片上的 BIOS 被最先读取,在进行硬件和内存的校验以及 CPU 的自检没有异常后, BIO ...

  8. 大数据Hadoop入门教程 | (二)Linux

    使用finalShell可以提供文件目录图形化 完整Linux命令整理参考大佬博客:Linux常见文件管理命令 - Mr_Walker - 博客园 Linux文件系统基础知识 Linux文件系统概念 ...

  9. Linux 入门记录:十六、Linux 多命令协作:管道及重定向

    一.多命令协作 在 Linux 系统当中,大多数命令都很简单,很少出现复杂功能的命令,每个命令往往只实现一个或多个很简单的功能.通过将不同功能的命令组合一起使用,可以实现某个复杂功能的. Linux ...

  10. Linux入门基础(一):Linux基本操作

    命令行BASH基本操作 Shell 用户不能直接操作内核,所以用户操作通过shell传递给内核 shell分为两种 : GUI 图形界面 (linux一般是GNOME) CLI 命令行界面 (linu ...

随机推荐

  1. poj3164-Command Network

    给出平面上一些点,和连接它们的带权有向边,求把所有点连起来的最小总权值. 分析 由于这里边是有向的(unidirectional),所以这是经典的最小树形图问题,可以说是最小树形图的模板题. 代码 这 ...

  2. BZOJ4237 稻草人(分治+树状数组+单调栈)

    如果要询问的某个纵坐标为inf的点左边是否有点能与其构成所要求的矩形,只要用个单调栈就可以了.可以想到用分治来制造单调性. 按横坐标排序,每次考虑跨过分治中心的矩形.考虑右边的每个点能与左边的哪些点构 ...

  3. Andorid API Package ---> android.app

    包名: android.app                                     Added in API level 1       URL:http://developer. ...

  4. [洛谷P1714]切蛋糕

    题目大意:给你n个整数,求出其中长度不超过m的最大字段和. 题解:单调队列维护前缀和最小值,然后用当前值减去当前有效最小值即可 C++ Code: #include<cstdio> usi ...

  5. [六省联考2017]分手是祝愿 期望DP

    表示每次看见期望的题就很懵逼... 但是这题感觉还是值得一做,有可借鉴之处 要是下面这段文字格式不一样的话(虽然好像的确不一样,我也不知道为什么,是直接从代码里面复制出来的,因为我一般都是习惯在代码里 ...

  6. BZOJ3670 & 洛谷2375 & UOJ5:[NOI2014]动物园——题解

    https://www.lydsy.com/JudgeOnline/problem.php?id=3670 https://www.luogu.org/problemnew/show/P2375#su ...

  7. 洛谷3805:【模板】manacher算法——题解

    https://www.luogu.org/problemnew/show/P3805 给出一个只由小写英文字符a,b,c...y,z组成的字符串S,求S中最长回文串的长度. 字符串长度为n 板子题, ...

  8. Vue报错

    Node Sass could not find a binding for your current environment: OS X 64-bit with Node.js 8.x Found ...

  9. 51nod 1274 最长递增路径(DP)

    一开始自己想了一种跑的巨慢..写了题解的做法又跑的巨快..一脸懵逼 显然要求边权递增就不可能经过重复的边了,那么设f[i]为第i条边出发能走多远就好了,这是我一开始的写法,可能dfs冗余状态较多,跑的 ...

  10. eclipse里配置Android ndk环境,用eclipse编译.so文件

    做Android NDK开发时,c代码需要用ndk-build来进行编译,而java代码则需要用Android sdk编译. 编译c代码有两种方法: 一.写好c代码后,然后用cygwin搭建ndk-b ...