用户:管理Linux系统而存在的。
用户一般分为用户名和用户ID(Identify)
相当于我们的名字和身份证,名字和学号。
用户名方便管理员使用,用户ID是唯一区别一个用户(计算机只识别ID)
user UID
Linux里所有的用户和进程都要有用户对应。
文件存在必须对应用户
进程运行必须应用用户
Linux用户分三类:
1、超级管理员 root
权限堪称皇帝。UID为0,换句话UID为0的都有皇帝对应的权限。
[root@oldboyedu ~]# id root
uid=0(root) gid=0(root) groups=0(root)
[root@oldboyedu ~]# id
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[root@oldboyedu ~]# whoami
Root
2、虚拟用户(傀儡)
实际存在的用户,但是又不允许它登录。
价值何在?
满足文件或进程运行属主的要求。但是又不会带来管理风险。
UID 1-499
3、普通用户
实际存在的用户,又允许它登录。管理员身份创建的,帮助管理员管理系统的。
大臣、臣民一起管理。
权限仅仅限制家目录,在一些系统级目录可以读不可以写,不可以进入/root目录。
UID C7 1000起步 C6 500起步
[root@oldboyedu ~]# useradd oldgirl
Linux里每个用户都必须要有一个组织,这个组织就叫做用户组
用户组也是给人看,用户组也有唯一标识,Group ID 简称GID
默认情况创建用户,并没有创建用户组啊,它会自动创建一个
和用户名相同的用户组以及相同的GID。
[root@oldboyedu ~]# id oldgirl
uid=1001(oldgirl) gid=1001(oldgirl) groups=1001(oldgirl)
用户和用户组的对应关系
1、1对1
2、1对多个用户组
3、多个用户对应一个用户组
4、多对多
[root@oldboyedu ~]# useradd test
[root@oldboyedu ~]# id test
uid=1002(test) gid=1002(test) groups=1002(test)
[root@oldboyedu ~]# groupadd sa
[root@oldboyedu ~]# su - test
[test@oldboyedu ~]$ touch test.txt
[test@oldboyedu ~]$ ls -l
total 0
-rw-rw-r--. 1 test test 0 Oct 1 10:20 test.txt
![](https://img.haomeiwen.com/i16833129/9430f59e97e4a017.png)
789列:文件的最后修改时间
文件时间有三种:
修改时间:modify,文件内容被改过之后的时间。
访问时间:access,文件内容被访问过的时间。
变化时间:change,文件属性发生改变的时间。
ls参数:
-t modify,文件内容被改过之后的时间。
-c change,文件属性发生改变的时间。
-a access,文件内容被访问过的时间。
第一列:
表现形式是数字33631841叫做文件的索引节点(Index Node)
类似人的身份证,索引节点是文件在系统中的唯一标识。
找一个文件最终都要通过索引节点才能找到
索引节点的概念出在ext文件系统中(ext2 ext4 ext3).
索引节点是硬盘上的一块存储空间。大小256字节或512字节。
索引节点里存放是数据是文件的属性(大小、时间、用户和组、权限等)都
在索引节点里,唯独不包含文件名(文件名在上级目录的block里)。
磁盘要想使用,先分区,格式化(创建文件系统)。
格式化创建文件系统时,就会生成大量的inode和block。
inode作用存储文件的属性信息,同时存放指向文件实体(block)的指针(类似软链接)
block作用是存放文件内容的(大片)。
Block叫做磁盘块,是用来存放实际数据的实体单元(ext文件系统一般最大为4KB),即用来真正存放数据,例如:照片、视频等普通文件数据,单个大的文件需要占用多个Block块来存储,
特别小的单个文件如果不能占满整个Block块,剩余的空间也无法在利用。
一个Block最多只能存一个文件的内容,一个block 4K,放了0.1K文件,剩3.9K浪费了。
[root@oldboyedu /]# df -h看block数量
[root@oldboyedu /]# df -i看inode数量
磁盘满原因有两种:
1、inode满了。
2、block满了。
提示:
no space left on device报错,没有空间在设备上了。
磁盘满了。
[root@oldboyedu /]# cd /app/logs/
[root@oldboyedu /app/logs]# touch {1..100}.txt
touch: cannot touch‘6.txt’: No space left on device
touch: cannot touch‘7.txt’: No space left on device
检查步骤:
步骤1:df -h
步骤2: df -i看是不是inode满了
为什么inode会满?
小文件太多
初始化时候block数量远大于inode数量。
网友评论