鸟哥的私房菜基础篇--第二部分 读书笔记

本文深入讲解Linux文件系统的各个层面,包括文件权限、目录结构、挂载操作、文件隐藏属性及文件连接等内容,并介绍了一些常用的文件管理和操作命令。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     Linux里面,每个文件都有User,Group,Other三个身份权限。

     su 可以用于切换用户,后面不加命令时为切换到root    

     Linux的文件属性:
         -ls list的意思。显示文件名和相关属性。一般会显示7项。
         从左到右如下:
         -rw-r--r-- 1 root root 1024 sep 4 19:00 hello.txt
          文件权限 连接数 文件所有者 所属用户组 文件大小 最后修改日期 文件名

         其中文件权限是最复杂的部分。一共有10个字符。
         第一个表示这个文件是目录,文件或者链接文件等:
              d代表目录;-代表是文件;l代表是连接(不是链接)文件(类似与快捷方式的东西);b代表是设备文件里面的可供应的接口设备;
              c代表设备文件里面的串行端口设备,如键盘鼠标等一次性读取设备。
         接下来的九个字符,以每三个为一组‘rwx’的组合,代表可读,可写,可执行三种权限。三个组分别是          所有者的权限;同用户组的权限;其他的权限。

         chgrp 改变所在用户组
         chown 改变文件所有者
         chmod 改变文件权限 :r 4;w 2; x 1.利用数字修改 当然可以直接用符号改变
         例如: chmod 771 test.txt 或 chmod ug=rwx,o=x test.txt

          目录的权限
         目录的权限与文件的稍有不同:
         r代表具有读取该目录结构列表的权限,即查询该目录下的文件名,而且仅仅只是查询文件名
         w代表你具有更改该目录结构列表的权限:新建新的文件和目录;删除文件与目录(不管该文件的     权限如何);重命名;转移位置。总之,就是与该目录下面的文件名变动有关。
         x代表的是用户能否进入该目录,成为工作目录。即是切换cd到该目录下。

     FHS linux目录配置标准。规范每个特定的目录下应该要放置什么样子的数据。
     / :root根目录,与开机系统有关。
     /usr :unix software resource 与软件安装执行有关
     /var :与系统运行过程有关

     有5个必须与根目录不能分开:
     /etc 配置文件
     /bin 重要执行文件,单用户维护模式下还能被执行的指令
     /dev 设备文件
     /lib 执行文件所需的函数库与内核所需的模块
     /sbin 重要的系统执行文件 如开机,修复,还原系统所需的指令

     根目录的上一层 . .和根目录自己 . 是同一个目录
         mkdir 创建一个目录 :-m 添加权限,-p递归创建目录
         pwd :print working directory :打印当前目录
         rmdir :删除目录,只能删除空的
         cp :复制
         rm : 删除
         mv:移动

     打开文件的相关指令:cat,tac,nl.more.less.head,tail.od.
     man就是调用less 来显示说明文件的内容的。
     touch指令用于:创建一个空个的文件 或者 将某个文件日期修改为目前日期(mtime和atime)

     umask 文件默认权限,四个数字,第一个是特殊权限,后三个是普通权限,一般看后三个。
     这些数字分别表示要去掉的权限。如2就是去掉w,这里涉及文件和目录的默认权限。
     文件的默认权限为666 -rw-rw-rw umask为022则表示 现在的权限应该为 -rw-r--r--
     目录的默认权限为777 同理。
     要设置umask的话直接设置输入 umask 022

     文件隐藏属性:chattr +a表示只能新增数据,+i表示完全不能改动文件。lsattr显示隐藏属性。

     SUID,SGID,SBIT略繁琐 以后再看。

     查看文件类型 : file指令
     查找执行文件 : which which是通过PATH目录下的路径去查找相应的可执行文件名。
     查找文件名:     whereis 或者 locate 都是通过查找系统中的数据库文件 速度较快
     其中locate寻找的是/var/lib/mlocate 所以查找的内容可能和实际硬盘有误差,可以使用updatedb来更新数据库文件。
     find指令则是直接查找硬盘,而且可以使用更复杂的参数,还能嵌套使用额外的命令。


     super block 记录文件系统的整体信息。
     inode 记录文件的属性,一个文件占用一个inode
     block 实际记录文件的地方,一个文件可占用多个block
     把super block当成一个登记本,记录这户人家的整体信息,有多少间房,有多少人,房间使用量还有其他相关信息。
     把inode当成类似于户口的每一页,记录每个人的属性,所住的房间号
     把block当成房间号,即人实际住的地方,去找人的地方。一个人可能有两个block及以上。
     把文件当成人。
     所以查找文件(人)时,就去找inode(户口),通过里面inode的block(房间)号,去找到文件。

     经常使用的磁盘碎片管理就是因为文件写入的多个block太过离散了,需要把他们重新汇合在一起,这样读取比较容易。
     文件名并不是记录在文件的inode中,而是记录在目录的block中,因此才有了文件的增删与该文件所在目录的w权限有关。

     将文件系统与目录树结合的操作我们称为挂载。文件系统要能够链接到目录树才能被我们使用。挂载点一定是目录,该目录为进入该文件系统的入口。

linux里,没有盘符这个概念,我们用目录的形式进行管理,把每一个分区和某一个目录对应.

那么,我们对这个目录的操作就是对这个分区的操作,这样就实现了硬件管理手段和软件目录管理手段的统一,这个把分区和目录对应的过程就叫做挂载,也就是-mount.

挂载可以由用户随时中断和改变 . 详见linux挂载。

     ext3相较于ext2最大的区别在于日志文件系统。
     df : 列出文件系统的整体磁盘使用量。
     du:评估文件系统的磁盘使用量。(常用于评估目录所占容量。文件数目)

     在linux下面的连接文件有两种,一种是类似于win的快捷方式功能的文件,这种称为软连接;另一种是通过文件系统的inode连接来产生新的文件名,而不是产生新文件,这中称为硬连接。
     硬连接:每个文件会占用一个inode,所以要读取文件必须去访问inode,这个过程是 通过目录下记录的文件名来指向正确的inode号码。也就是说,其实文件名只与目录有关,而文件的内容呢,只与inode有关。所以硬连接就是 在某个目录下新建了一个文件名连接到了某个已经存在的inode号码。在用ls时,第二项的数目就是有多少文件名连接到该inode的意思。
     硬连接只是在目录下的block下写入一个文件名关联数据,不会增加inode也不会耗用block。而软连接要创建一个新的文件,自然就要耗用inode和block,其实整个文件的大小就和连接文件的文件名有关。

     一个空目录里面有什么?存在.  和.. 两个目录,所以当我们创建一个新的目录时,基本上会有/test /test/. /test/.. (/test 和 /test/.是一样的)三个目录存在。所以新的目录连接数为2,上层的目录连接数增加1.



1. 用户与身体信息管理模块 用户信息管理: 注册登录:支持手机号 / 邮箱注册,密码密存储,提供第三方快捷登录(模拟) 个人资料:记录基本信息(姓名、年龄、性别、身高、体重、职业) 健康目标:用户设置目标(如 “减重 5kg”“增肌”“维持健康”)及期望周期 身体状态跟踪: 体重记录:定期录入体重数据,生成体重变化曲线(折线图) 身体指标:记录 BMI(自动计算)、体脂率(可选)、基础代谢率(根据身高体重估算) 健康状况:用户可填写特殊情况(如糖尿病、过敏食物、素食偏好),系统据此调整推荐 2. 膳食记录与食物数据库模块 食物数据库: 基础信息:包含常见食物(如米饭、鸡蛋、牛肉)的名称、类别(主食 / 肉类 / 蔬菜等)、每份重量 营养成分:记录每 100g 食物的热量(kcal)、蛋白质、脂肪、碳水化合物、维生素、矿物质含量 数据库维护:管理员可添新食物、更新营养数据,支持按名称 / 类别检索 膳食记录功能: 快速记录:用户选择食物、输入食用量(克 / 份),系统自动计算摄入的营养成分 餐次分类:按早餐 / 午餐 / 晚餐 / 餐分类记录,支持上传餐食照片(可选) 批量操作:提供常见套餐模板(如 “三明治 + 牛奶”),一键添到记录 历史记录:按日期查看过往膳食记录,支持编辑 / 删除错误记录 3. 营养分析模块 每日营养摄入分析: 核心指标计算:统计当日摄入的总热量、蛋白质 / 脂肪 / 碳水化合物占比(按每日推荐量对比) 微量营养素分析:检查维生素(如维生素 C、钙、铁)的摄入是否达标 平衡评估:生成 “营养平衡度” 评分(0-100 分),指出摄入过剩或不足的营养素 趋势分析: 周 / 月营养趋势:用折线图展示近 7 天 / 30 天的热量、三大营养素摄入变化 对比分析:将实际摄入与推荐量对比(如 “蛋白质摄入仅达到推荐量的 70%”) 目标达成率:针对健
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值