当前位置: 首页 > news >正文

linux的文件系统及文件类型

目录

一、Linux支持的文件系统

二、linux的文件类型

2.1、普通文件

2.2、目录文件

2.3、链接文件

2.4、字符设备文件:

2.5、块设备文件

2.6、套接字文件

2.7、管道文件

三、linux的文件属性

3.1、关于权限部分

四、Linux的文件结构

五、用户主目录

5.1、工作目录

5.2、路径

5.2.1绝对路径

5.2.2相对路径


一、Linux支持的文件系统

  • 文件系统的概念:无文件系统的情况下,存储器的所有位置和数据都由主程序管理。有文件系统的 情况下,存储器由文件系统管理,主程序(操作系统)只与文件系统对接,不负责存储器底层逻 辑。
  • 通用型:
    • FAT/FAT32 :DOS系统和早期Windows用的文件系统,简单功能弱,且文件最大4G),但是兼 容性高,常用于启动盘,也用于UEFI启动分区 linux下统称vfat
  • Linux系:
    • 原生设计的文件系统,包括ext2、ext3、ext4
    • NFS,网络文件系统
  • windows系:
    • exFAT :Windows为FAT设计的后续版本,增加了一些现代功能,一般用于移动闪存盘(U盘)
    • NTFS:桌面Windows的默认文件系统
    • SMB:网络文件系统
  • 非系统类的文件系统:
    • ISO9660 :光盘镜像使用的文件系统

非ext系的文件系统,需要使用 mount 命令,手动挂载

类比解释: 存储器就是一个仓库,用户可以自己决定仓库存放物品,但是全靠记忆,容易出错,而且换一个人来 就不知道具体内容

文件系统就相当于一个专门的仓库管理员,管理员负责仓库的出入记录、物品分类和整理,并提供列表和记录, 用户无论查看还是存取物品,只需要向仓库管理员提供要求即可。

硬盘格式化的过程就相当于清空仓库并重新招聘一名管理员,格式化过程中选择不同的文件系统就相当于不同的 仓库布局以及管理员。高级的管理员能管理更大的仓库,支持更多的存取方式,也更能保管好仓库。

二、linux的文件类型

  • 使用 ls -al 显示文件夹内的文件
    • ls = list 列出文件
    • -a 列出所有文件
    • -l 列出详细信息(long-term)
  • Linux默认是大小写敏感的文件系统

2.1、普通文件

  • - 开头的普通文件,可以是文本文件,也可以是音频视频之类的文件

2.2、目录文件

  • d 开头的目录(directory)文件,也就是文件夹的概念

2.3、链接文件

  • l 开头的链接(link)文件,类似快捷方式的概念

2.4、字符设备文件:

  • c 开头的字符设备文件,字符(char)设备
  • 对于字符类cd设备, 它的收发(或者说读写)是一个个的字符,或者说字节
  • 键盘 /dev/input/event[n] 鼠标 /dev/input/mouse[n] 终端: /dev/console
  • 一个专用的空设备 /dev/null 用于重定向到不需要的地方. 抛弃数据

2.5、块设备文件

b 开头的块设备(block)设备

  • 对于块设备, 他的读写最小单位是一片连续的字节,速度更快,但是不灵活
  • 硬盘命名方式
    • IDE: hd[a-z] , 硬盘本身
    • SCSI/SATA: sd[a-z] , 表示硬盘本身
    • NVMe: nvme[0-9] , nvme硬盘
  • 分区:
    • IDE: hd[a-z][0-9] , 表示硬盘下的分区
    • SCSI/SATA: sd[a-z][0-9] . 表示对应硬盘下的分区
    • NVMe: nvme[0-9]n[0-9] , 表示nvme硬盘下的分区

2.6、套接字文件

s 开头 socket 套接字

2.7、管道文件

网络设备 f 开头, FIFO管道

三、linux的文件属性

ls命令默认只是纯粹列出文件, 常用是加了 al 两个参数方便查看, 其中加了 -a 参数表示all, 会列出隐藏 文件,-l参数表示 long format ,表示详细信息, 所以 ls -al 指的是 列出所有文件的详细信息

详细信息如下

示例说明
-文件类型,见上述
rw-属主权限(所有者权限)
rw-属组权限(用户组权限)
r--其它用户权限
1硬链接个数(默认一般为1)
student属组(所有者)
student属组(用户组)
0大小(默认按字节计算)
3月4   19:01最后修改时间
file文件名

3.1、关于权限部分

权限部分分成三组,, 每组有三个权限类型 分别为读权限r(read), 写权限w(write), 执行权限x(excution) 权限对目录跟非目录是不一样的

当对应位置为对应字母, 表示有对应权限, 如果是-, 则表示无权限

如图中所示为用户student可读可写不可执行, 用户组student可读可写不可执行, 其他用户值可以读 权限可以使用数字简写, 叫绝对权限法:

以二进制表示权限, 每组从0~7不等, 方便操作和沟通

1     r-x  rw-    -x

2    101  110 001

3     5       6      1

用户和组可以使用字母简写 u: 文件属主(user) g同组用户(group) o 其他用户(others) a全部用户(all) 用户名和组名的问题 在linux中, 每个用户都必定属于一个或多个组, 一般是在安装系统的时候会要求填写一个用户, 与 Windows一致

四、Linux的文件结构

  • Linux文件是树型结构, 所有文件最终都归属于 / 路径, 称为根目录
  •  / ,根目录, 所有文件的顶层, 可以但是不推荐放文件, 而是只放文件夹
  • /bin, 系统级的可执行程序(binary)
  • /boot, 引导文件目录 存放系统启动的文件
  • /sbin, 相对/bin没有那么核心
  • /lib和/lib64, 系统级的依赖库, 和其他程序会使用到的共享依赖库( library)
  • /etc: 配置文件, 包括系统本身的, 程序安装后一般也会在此存放
    • /etc/apt: 文件包管理器的配置目录
    • /etc/apt/sources.list 设置软件源, 一般在安装完系统后设置一次
    • /etc/bash.bashrc 或 .profile bash这个shell的配置文件
    • /etc/fstab: 文件系统挂载配置
    • /etc/init (initialization)初始化配置文件(一开机就会执行的程序或者文件)
    • /etc/init.d 系统启动的服务配置文件
    • 账号相关
      • /etc/passwd :用户配置

student     x        1000            1000                 ,,,                   /home/student              /bin/bash

用户名  (废弃) 用户id(uid)  所属组id(gid)    说明/注释          用户主目录                 使用的shell

linux习惯1000以下的id保留作为系统用户使用

root用户的id一定是0, 组id一定也是0

1000以上的留给普通用户使用

所以student的id会是1000

  • /etc/group : 用户组配置

student               x              1000 (student)

组名                 (废弃)         gid 组内成员(留空表示与组id一致的成员)

主组: 在用户配置文件passwd中归属的组被称为用户的主组

额外组: 在组配置文件group中额外添加的用户, 被称为额外组

  • /etc/ssh :远程管理配置文件
    • /etc/ssh/ssh_config : 远程管理客户端的配置
    • /etc/ssh/sshd_config: 远程管理服务器的配置, 为安全, 修改端口,禁止密码访问,使用key
  • /home, 普通用户公共目录, 每个用户会有一个子文件夹, 叫做用户主目录(相当于个人办公室) 
  • /root, 超级用户root的主目录(相当于总裁办公室)
  • /mnt, 和 /media 文件系统挂载点(mount/media)
  • /dev, (device)设备文件目录, 对某个设备文件的访问, 就是对莫具体设备的操作
  • /opt, 第三方应用程序的安装位置, 用户自行安装程序
  • /usr, 第三方 应用程序 的存放目录, 比如java
  • /var, (varible)动态文件, 典型的如日志文件
    • /var/log :存放经常变动的文件
  • /proc, (process)内核进程相关, 本质上就是内存映射

五、用户主目录

每个用户的独立目录, 对于普通用户, 位于 /home/[username] , 对于root用户, 位于 /root

用户登陆时默认进入的就是用户主目录, 可用 ~ 表示

在创建用户时创建

5.1、工作目录

用户登录之后必然处于目录的某一个位置, 即工作目录,

切换到哪个目录哪个目录就称为工作路径

工作目录可用 . 表示, 工作目录的父目录用 .. 表示

5.2、路径

一个目录到另一个文件的道路, 称为路径

文件在整个目录树的位置, 就是他的路径

有些特殊路径使用特殊符号表示

  • ~ 表示用户主目录, 即 /home/student
    • 如 ~/linux/gcc 实际会被替换成 /home/student/linux/gcc
  • . 表示当前目录
    • 如当前工作目录为 /var/log , 则 ./auth.log 表示 /var/log/auth.log
    • ./filename 作为路径使用时, 前面的 ./ 可以省略
  • . .表示父目录
    • 如当前工作目录为 /home/student , 则 ./zhangsan 表示 /home/zhangsan , ./ ./etc 表示 /etc
  • * 通配符, 用于表示0个或任意的多个字符
  • ? 通配符,表示一个任意字符

5.2.1绝对路径

/ 开头, 是从根目录到某个文件的路径,

这个路径无论用户当前处于何处, 都是不变的, 因此为绝对路径

5.2.2相对路径

以"."或".."开头的路径, 是从工作目录到某个文件的路径, 叫相对路径

根据用户当前处于目录的不同, 到另一个文件的路径写法也不同, 因此叫相对路径

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.dtcms.com/a/56438.html

相关文章:

  • 数据库管理-第300期 一个不痛不痒的BUG(20250307)
  • 强化学习(赵世钰版)-学习笔记(2.状态值与贝尔曼方程)
  • HarmonyOS 应用程序包结构 (编译态)
  • Spring AI Alibaba + Ollama:国产大模型DeepSeek LLM的低成本AI应用开发认知
  • 【CentOS】搭建Radius服务器
  • NTIRE比赛:技术前沿、国内企业表现与计算机视觉未来展望
  • Android AudioFlinger(二)——AndroidAudio Flinger的启动流程
  • 【Conda】Windows安装conda/Anaconda环境
  • c语言笔记 fgets
  • 引领变革!北京爱悦诗科技有限公司荣获“GAS消费电子科创奖-产品创新奖”!
  • 【人工智能学习之优化为什么会失败】
  • AI大模型概念知多少
  • leetcode日记(81)二叉树的中序遍历
  • Scala基础语法
  • 视频提取硬字幕,字幕擦除,字幕翻译工具推荐
  • 深入理解与配置 Nginx TCP 日志输出
  • 实训任务2.2 使用Wireshark捕获数据包并分析
  • 1. 树莓派上配置机器人环境(具身智能机器人套件)
  • 启动wsl里的Ubuntu24报错:当前计算机配置不支持 WSL2,HCS_E_HYPERV_NOT_INSTALLED
  • Qt调试功能使用方法
  • 【使用hexo模板创建个人博客网站】
  • 趣味学习法,助力消防设施操作员考试
  • Spring(五)容器-依赖注入的三种方式
  • C语言——位操作运算
  • electron + vue3 + vite 主进程到渲染进程的单向通信
  • Gravitino源码分析-SparkConnector 实现原理
  • HTML5的新特性有哪些?
  • 网络安全配置截图 网络安全i
  • 【AI赋能】AI工具图文创造指南:从主题到一键发布的完整指南
  • 动态ip和静态ip适用于哪个场景?有何区别