day12 文件属性inode等

Day 12


作者:翟玉龙

归档:课堂笔记

2019/03/15

快捷键:

Ctrl  + 1    标题1

Ctrl  + 2    标题2

Ctrl  + 3    标题3

Ctrl  + 4    实例

Ctrl  + 5    程序代码

Ctrl  + 6    正文

格式说明:

蓝色字体:注释

黄色背景:重要

绿色背景:注意

老男孩教育教学核心思想6重:重目标、重思路、重方法、重实践、重习惯、重总结

学无止境,老男孩教育成就你人生的起点!

联系方式:

网站运维QQ交流群:

Linux 385168604架构师390642196

Python 29215534大数据421358633

官方网站:

http://www.oldboyedu.com 

目录

学无止境,老男孩教育成就你人生的起点!... 1

第1章Linux属性知识... 1

1.1用户... 1

1.2用户组... 2

1.3文件权限... 2

1.4 789列... 3

第2章 什么是索引节点(Inode)... 5

2.1索引节点... 5

2.2特点... 5






[if !supportLists]第1章 [endif]Linux 属性知识

[if !supportLists]1.1 [endif]用户

管理Linux系统而存在的,用户一般分为用户名和用户ID。

相当于我们的名字和身份证号,名字和学号。

用户名是为了方便管理员使用,用户ID 是唯一区别一个用户(计算机只识别ID)

   User  用户名    UID  用户ID

Linux里所有的用户和进程都要有用户对应。

文件存在必须对应用户

进程运行必须应用用户

Linux用户分三类:

       1.超级管理员  root   

权限堪称皇帝  UUID为0   换句话说,UID为0的都有皇帝对应的权限

      不要修改ID为0变管理员


 2.虚拟用户(傀儡)

      实际存在的用户,但是又不允许它登录。

     价值何在?  他能够满足文件或者进程运行属主的要求,但是又不会带来管理风险。

     UID  1-499

3.普通用户(大臣)

     实际存在的用户,但是又允许他登录,他是管理员身份创建的,帮助管理员管理系统的。

           大臣,等一起管理

     权限仅仅限制家目录,在一些系统及目录可以读但是不可以写,不可以进入/root目录

           UID 1000-60000

创建普通用户:

Useradd xxxxxx


[if !vml]

[endif]

[if !supportLists]1.2 [endif]用户组

Linux里每个用户都必须要有一个组织,这个组织就叫做用户组

用户组也是给人看,用户组也有唯一标识,Group ID 简称GID

默认情况创建用户,并没有创建用户组啊,他会自动创建一个和用户名相同的用户组以及相同的UID

用户和用户组的对应关系:

1.1对1

2.1对多个用户组

3.多个用户对应一个用户组

4.多对多

[root@zyl666 10:28:10   ~]# useradd test

[root@zyl666 10:52:36   ~]# id test

uid=1001(test) gid=1001(test) groups=1001(test)

[root@zyl666 10:52:40   ~]# groupadd sa

[root@zyl666 10:53:14   ~]# su - test

[test@zyl666 10:53:25   ~]$ touch test.txt

[test@zyl666 10:53:41   ~]$ ls -l

total 0

-rw-rw-r-- 1 test test 0 Mar 15 10:53 test.txt

[if !supportLists]1.3 [endif]文件权限

严格的权限,Linux安全权限严格。


  rwx-r—r—

 9个字符

r    read可读取         4

w   write 可写         2

[if !supportLists]-       [endif] 无权限               0

x   execut 可执行       1

字符分组:三个字符是一组。

d       rwx              r-x                r-x           .

     用户的权限     用户组权限         其他权限

[if !vml]

[endif]

[if !supportLists]1.4[endif] 789列

   文件最后的修改时间

文件时间有三种

修改时间:modify    文件内容被修改过之后的时间

访问时间:access     文件内容被访问过的时间

变化时间:change    文件属性发生改变的时间

默认显示修改时间

Stat 查看文件属性

-c   获取指定文件属性的一部分

[root@oldboyedu /data]# echo oldboy>>test.txt

[root@oldboyedu /data]# stat test.txt

File: ‘test.txt’

Size: 14        Blocks: 8          IO Block: 4096   regular file

Device: 803h/2051dInode: 33656257    Links: 1

Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)

Context: unconfined_u:object_r:default_t:s0

Access: 2020-10-01 11:07:28.953508888 +0800

Modify: 2020-10-01 11:07:53.119507988 +0800

Change: 2020-10-01 11:07:53.119507988 +0800

Birth: -

[root@oldboyedu /data]# cat test.txt

oldboy

oldboy

[root@oldboyedu /data]# cat test.txt

oldboy

oldboy

[root@oldboyedu /data]# stat test.txt

File: ‘test.txt’

Size: 14        Blocks: 8          IO Block: 4096   regular file

Device: 803h/2051dInode: 33656257    Links: 1

Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)

Context: unconfined_u:object_r:default_t:s0

Access: 2020-10-01 11:08:32.147506535 +0800

Modify: 2020-10-01 11:07:53.119507988 +0800

Change: 2020-10-01 11:07:53.119507988 +0800

Birth: -

[root@oldboyedu /data]# chmod +x test.txt

[root@oldboyedu /data]# stat test.txt

File: ‘test.txt’

Size: 14        Blocks: 8          IO Block: 4096   regular file

Device: 803h/2051dInode: 33656257    Links: 1

Access: (0755/-rwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)

Context: unconfined_u:object_r:default_t:s0

Access: 2020-10-01 11:08:32.147506535 +0800

Modify: 2020-10-01 11:07:53.119507988 +0800

Change: 2020-10-01 11:08:57.442505593 +0800

Birth: -


[if !supportLists]第2章 [endif]    什么是索引节点(Inode)

[if !supportLists]2.1[endif] 索引节点

33672340  drwx------   2 rootroot  6 Mar 14 16:24vmware-root_6741-3845492958

第一列的数字叫做文件的索引节点。类似身份证

索引节点是文件在系统中的唯一标识

我们要找一个文件最终都要通过索引节点才能找到

节点的概念出在ext文件系统中(ext2 ext 4 ext3)

节点是硬盘上的一块存储空间。大小256字节或512字节。

 节点里存放的数据是文件的属性(大小,访问时间,用户和组,权限等等)

索引节点里唯独不包含文件名。(文件名在上级目录的block里)

磁盘要想使用,需要先分区,格式化(创建文件系统)

格式化创建文件系统的时候就会就会生成大量的inode和block

Inode作用:存储文件属性信息,同时存放指向文件实体(block)的指针(类似于软链接)

Block作用:存放文件内容的。

[if !vml]

[endif]

[if !supportLists]2.2 [endif]特点

[if !vml]

[endif]

Block的特点

Block叫做磁盘块,是用来存放实际数据的实体单元(ext文件系统一般最大为4KB),即用来真正存放数据,例如:照片、视频等普通文件数据,单个大的文件需要占用多个Block块来存储,特别小的单个文件如果不能占满整个Block块,剩余的空间也无法在利用。

   从读取速度来说,block大了好。一个block最多只能存放一个文件的内容。加入一个block 4k容量。放了0.1K文件,剩下3.9K浪费

如果运行中提示

No space left on device 报错  没有空间存放数据

检查步骤

1 df -h看是不是block满了

2 df -i看是不是inode满了

3



为什么inode会满?

小文件太多了

初始化的时候block数量会远大于inode数量(一个文件一个inode,但可能会占10万个block)


-US�0�W���

你可能感兴趣的:(day12 文件属性inode等)