Linux文件系统概述

相信很多人和我一样,从接触计算机世界的时候碰到的第一台PC就是运行着Windows系统的计算机。用惯了Windows之后再接触Linux操作系统首先印象就是繁杂的命令行和看似复杂的文件系统。本人作为Linux新手写作本博客只作为参考,如有不当,敬请指正!

话不多说,先上图:
Linux文件系统目录
上图便是Linux文件系统目录,下面我一一介绍其作用 注:下文所配图均为Linux Centos7发行版截图!!!

  • /bin和/sbin
    bin-Binary顾名思义,二进制文件。存放着可执行文件或可执行文件的链接(可以理解为Win中的快捷方式)
    bin目录
    如图,可以看到我们经常输入的cat cd指令的可执行文件都存储在/bin目录中
    类似的,/sbin目录即System Binary,这里存放着对系统配置进行操作的指令,我们最经常用的ifconfig网卡状态查询指令就在这里,如果需要修改配置则需要sudo或root权限sbin目录

  • /boot
    这里存放着系统启动需要的文件,我们可以看到存放开机引导程序的grub文件夹。一般我们用不到也不应该随意更改其中的文件
    boot目录

  • /dev
    dev即device,这里存放设备文件。需要注意,和windows不同,在Linux中,所有东西都是以文件形式存在的,包括鼠标、键盘、耳机等硬件设备
    dev目录

  • /etc
    这个目录相信是大家经常使用的了,我们使用Linux系统一般作为服务器使用,当部署项目时经常要修改各种各样的配置文件。许多程序的配置文件就存放在这里。比如包管理工具yum,如果我们要更改镜像就在这里寻找yum的配置
    etc目录

  • /lib
    lib即Libary的缩写这个目录相信大家都不陌生,我们在windows下开发也经常看到这个目录,这里包含了bin和sbin目录中可执行文件的依赖,类似于Windows系统中的dll文件库,很多系统还会有lib64或者lib32它们都和lib差不多后面的数字对应你系统的位数,如我这里就是lib64lib目录

  • /media
    这里会有一个以你用户名命名的文件夹,里面是自动挂载的设备,比如U盘,移动硬盘,网络设备等。
    比如我在电脑上插入一个U盘,系统会把U盘自动给我挂载到/media/clown这个文件下(我的用户名是clown),打开这个文件夹就可以访问U盘里的内容
    虚拟机用户可能会发现这个文件是空的,因为这个文件夹会在你第一次插入自动挂载设备时自动创建,而我们打开虚拟机的时候一般不会插入U盘。

  • /mnt
    这个也是一个和设备挂载相关的文件夹,和上者的区别是media是自动挂载设备的地方,mnt是手动挂载设备的地方。由于现在的操作系统一般可以把大部分设备进行自动挂载,这个文件夹通常是空的。

  • /opt
    opt即option,这里存放我们在浏览器或者包管理工具下载的软件。

  • /proc
    proc即process,这里存放的是所有正在运行的程序的状态信息。打开文件夹我们会发现一堆用数字命名的文件夹,学过操作系统的同学应该知道,操作系统会给每个运行中的程序分配一个PID(Process ID)用来唯一标识每个进程。如果你需要调试程序应该在这里寻找有关信息。
    proc目录

  • /root
    这里是超级用户的根目录,普通用户需要授权才能访问

  • /run和/sys
    这两个目录用来存储程序的运行时信息和系统需要的一些信息。
    需要注意的是,这两个目录的数据都是存放在内存中的也就是说,电脑一旦重启,这两个目录下的信息就会丢失,所以不要在这里存放任何文件(有没有一种小时候去网吧的感觉QAQ)。

  • /srv
    srv即service,主要用来存储服务数据。对于虚拟机等桌面用途Linux系统,这里一半是空的,但是对于Linux服务器,web服务或者FTP文件服务的资源可以存放在这里。

  • /tmp
    tmp即temporary,存储一些程序的临时文件。
    不要小看此文件夹的作用,我们经常听到某同学写着写着Word文档崩溃了,写了一下午的东西全没了(快说那个同学是不是你自己),Linux的很多文本编译器都会在tmp中存储一份copy,如果你的编辑器意外崩溃,可以来这个目录下看看有没有临时文件可以抢救一下。
    注意这里的文件在系统重启之后会自动被清空,如果没有被清空,说明系统删除某些文件失败,也许需要你手动删除一下。

  • /usr
    usr是Universal System Resource,不是user,之前我一直以为这个是user真是傻了。。。
    这里存放的是一些非系统必须的资源,例如用户安装的应用程序,/usr和/usr/local目录中又含有bin和sbin目录,也是存放可执行文件(命令),但和根目录的bin和sbin不同的是,这里大都是用户使用的工具,而非系统必须使用的。
    这里有必要提一下,如果使用 Linux 桌面版,有时候在桌面找不到应用程序的快捷方式,就需要在/usr/share/applications中手动配置桌面图标文件
    usr/share/applications目录

  • /var
    var即variable,这个目录主要用来存储日志信息,程序崩溃、防火墙检测到异常等都会记录在这里。

  • /home
    home目录即普通用户的根目录如果你的系统配置有多个用户账户那你进入home目录就会看到以每个用户名称命名的多个文件夹,如下图所示home目录
    同样这里我要说一下,我们通过其中任意用户登录系统打开终端控制台其初始目录就是对应着这里的home目录,比如我用Cchen登录系统打开终端,我现在所在目录就是/home/Cchen目录下
    终端初始目录
    在桌面版的 Linux 系统中,用户的家目录会有下载、视频、音乐、桌面等文件夹,这些没啥可说的,我们说一些比较重要的隐藏文件夹(Linux 中名称以.开头就是隐藏文件)。
    其中.cache文件夹存储应用缓存数据,.config文件夹存储了一部分应用程序的配置,比如说我的 Chrome 浏览器配置就是那里面。但是还有一部分应用程序并不把配置储存在.config文件夹,而是自己创建一个隐藏文件夹,存放自己的配置文件等等信息,比如你可以看到 Intellij 的配置文件就不在.config中。
    最后说.local文件夹,有点像/usr/local,里面也有bin文件夹,也是存放可执行文件的。比如说我的 python pip 以及 pip 安装的一些工具,都存放在~/.local/bin目录中。但是,存在这里的文件,只有该用户才能使用。
    这就是为什么,有时候普通用户可以使用的命令,用 sudo 或者超级用户却被告知找不到该命令。因为有的命令是特定用户家目录里的,仅被添加到了该用户的PATH环境变量里,只有他可以直接用。你超级用户想用当然可以,但是得写全绝对路径才行。
    创作不易,点个赞可好~~~

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值