L

[labuladong学习笔记] Linux文件系统

RoLingG 其他 2024-03-23

Linux文件系统

Linux系统根目录往下的各路径分支结构:

img

  • /bin 目录的 binBinary 的缩写,存放着可执行文件或可执行文件的链接(类似快捷方式),Linux中常见的命令基本都在这里面。(例如 catcp 等命令)
  • 此外,/bin 目录中的文件都是可执行的二进制文件。
  • /sbin 目录与 /bin 目录相似,是 System Binary 的缩写,这里存放着对系统配置进行操作的命令。普通用户可以通过这里面的命令查看系统的状态。当然,想要更改系统的相关配置,则需要使用sudo提高命令的等级,或者切换到 root 模式也是可以使用命令更改系统相关配置的。(例如 ipconfig 等命令)
  • /boot 目录里面是系统启动需要的文件。

    • 例如 grup 文件夹,这是常见的开机引导程序,所以最好不要乱动里面的文件。
  • /dev 目录的 devdevice 的缩写,从目录名字来理解就是管理设备的目录,所以里面存的都是设备文件,在 Linux 中,所有的东西都是以文件的形式存在的,包括硬件设备。

    • 例如Linux基础里必教的硬盘分区,一般来说都会有sd_的硬盘,那么这个硬盘文件就会在同目录下有 sd_1 sd_2 ... 的硬盘分区文件。还有鼠标、键盘等硬件设备都能在这目录里面找到。
  • /etc这里面放的都是程序的配置信息,例如在 Linux 安装常用的包管理工具 apt ,我们在/etc/apt里也就能找到我们在 Linux 中做过的配置。如果想要修改一些系统程序的配置,基本都是到 etc 目录下寻找。
  • /lib目录的lib 是 Library 的缩写,类似于 Windows 系统中存放 dll 文件的库,包含 binsbin中可执行文件的依赖。
  • /media这里会有一个以你用户名命名的文件夹,里面是自动挂载的设备,比如 U 盘,移动硬盘,网络设备等。例如我查了 U 盘在 Linux 系统里使用,我的用户名是 RoLingG ,那么Linux就会自动把我的u盘挂载到 /media/RoLingG 这个目录下,我的 U 盘内容都在这个目录下可以找到。
  • /mnt这也是和设备挂载相关的一个文件夹,一般是空文件夹。 media 文件夹是系统自动挂载设备的地方,这里是你手动挂载设备的地方。

    • 比如说,刚才我们在 dev 中看到了一大堆设备,你想打开某些设备看看里面的内容,就可以通过命令把设备挂载到 /mnt 目录进行操作。
    • 不过一般来说,现在的操作系统已经很聪明了,像挂载设备的操作几乎都不用你手动做,都被自动挂载到 /media 目录了。
  • /optopt 是 Option 的缩写,这个文件夹的使用比较随意,一般来说我们自己在浏览器上下载的软件,安装在这里比较好。当然,包管理工具下载的软件也可能被存放在这里。
  • /procprocprocess 的缩写,这里存放的是全部正在运行程序的状态信息。

    • 你会发现 /proc 里面有一大堆数字命名的文件夹,这个数字其实是 Process IDPID),文件夹里又有很多文件(如果我们要看进程中程序的状态,就可以找进程对应的 PID 在这个目录下进行查看它的状态信息)。
    • 前面说过,Linux 中一切都以文件形式储存,类似 /dev,这里的文件也不是真正的文件,而是程序和内核交流的一些信息。比如说我们可以查看当前操作系统的版本,或者查看 CPU 的状态。
    • 如果你需要调试应用程序,proc 目录中的信息也许会帮上忙。
  • /root 就是 root 用户的家目录,普通用户无授权不可进入目录。
  • /run/sys 是用来存储某些程序的运行时信息和系统需要的一些信息。

    • 需要注意的是,这两个位置的数据都存储在内存中,所以一旦重启,/run/sys 目录的信息就会丢失,所以不要试图在这里存放任何文件。
  • /srv 是用来存放服务数据的,个人用户里面基本是空的,但是如果是服务器,这里面就可以存放服务资源。
  • /tmptmptmporary 的缩写,顾名思义这个目录下存放的就是临时文件。

    • 临时文件可能起到很重要的作用。比如经常听说某同学的 Word 文档崩溃了,好不容易写的东西全没了,Linux 的很多文本编辑器都会在 /tmp 放一份当前文本的 copy 作为临时文件,如果你的编辑器意外崩溃,还有机会在 /tmp 找一找临时文件抢救一下。
    • 当然,/tmp 目录下的文件在系统重启之后会自动被清空,如果没有被清空,说明系统删除某些文件失败,也许需要你手动删除一下。
  • /usrUniversal System Resource 的缩写,这里存放的是一些非系统必须的资源,比如用户安装的应用程序。

    • /usr/usr/local 目录中又含有 binsbin 目录,也是存放可执行文件(命令),但和根目录的 binsbin 不同的是,这里大都是用户使用的工具,而非系统必须使用的,所以没有系统文件警戒性这么高,可以捣鼓。
    • 值得一提的是,如果使用 Linux 桌面版,有时候在桌面找不到应用程序的快捷方式,就需要在 /usr/share/applications 中手动配置桌面图标文件。
  • /varvarvariable 的缩写。这个目录在以前的作用和现在好像不太一样,现在主要用于存储log日志信息,比如系统崩溃的信息、系统异常的信息都在这里会记录下来。

    • 注意一下:日志文件不会自动删除,也就是说随着系统使用时间的增长,你的 var 目录占用的磁盘空间会越来越大,也许需要适时清理一下。
  • /home 是普通用户的家目录,在桌面版的 Linux 系统中,用户的家目录会有下载、视频、音乐、桌面等文件夹这些普通文件夹。有普通文件分级也就意味着还有更高级的文件,这里我们要重要讲的就是 . 开头命名的隐藏文件。

    • .cache 文件夹存储应用缓存数据,.config 文件夹存储了一部分应用程序的配置,比如说我的 Chrome 浏览器配置就是那里面。但是还有一部分应用程序并不把配置储存在 .config 文件夹,而是自己创建一个隐藏文件夹,存放自己的配置文件等等信息。
    • .local 文件夹,有点像 /usr/local,里面也有 bin 文件夹,也是存放可执行文件的。但是需要注意的是,存在这里的文件,只有该用户才能使用
该学习笔记来源于: labuladong的算法笔记 第四章、通用计算机技术 的第一篇。
网址为:https://labuladong.online/algo/other-skills/linux-file-system/#%E6%9C%80%E5%90%8E%E6%80%BB%E7%BB%93

本网站尊重作者版权权益,如果原作者有意见,本站会立刻清除并下架改文章。

PREV
[Golang基础语法] 协程与通道
NEXT
[labuladong学习笔记] Linux中的进程与线程

评论(0)

发布评论