任务详情:
Linux文件系统的三层抽象是什么? 写出Cat userlist的过程,要详述目录文件,i-node.数据块,要画图示意 假设块大小为4k, userlist的大小不小于10k,自己假设大小
Linux文件系统的三层抽象:
超级块,inode结点,数据区
- 超级块用来存储文件系统本身的信息
- i-node节点表存放i-node节点,存储文件属性、所有者、权限等元数据信息
- 数据区分块存储文件数据,它是不连续存储的,一个文件的内容可能散落在数据区内部
cat命令:Linux下的一个文本输出命令,通常用于观看某个文件的内容
- 功能:
1.一次显示整个文件$ cat filename
2.从键盘创建一个文件$ cat > filename
只能创建新文件,不能编辑已有文件
3.将几个文件合并为一个文件$cat file1 file2 > file
cat具体命令格式为:cat [-AbeEnstTuv] [--help] [--version] fileName
-
- 说明:把档案串连接后传到基本输出(屏幕或加 > fileName 到另一个档案)
-
- 参数:
-n 或 –number 由 1 开始对所有输出的行数编号
-b 或 –number-nonblank 和 -n 相似,只不过对于空白行不编号
-s 或 –squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
-v 或 –show-nonprinting
- inode
- 以root身份登录Linux后,执行“ls -al”(ls:list,显示文件的文件名与相关属性;-al:表示列出所有的文件详细的权限与属性(包含隐藏文件))
-
- 第一列:文件的类型与权限
第一个字母代表文件类型:d目录
-文件
l链接文件
b设备文件里的可供存储的接口设备
c表示设备文件里的串行端口设备,如键盘鼠标等一次性读取设备·
接下来三个一组,第一组为文件所有者(User)权限,第二组为同用户组(group)的权限,第三组为其他非本用户组(Others)的权限
- 第二列:有多少文件名连接到此节点(i-node)
每个文件都会将它的权限与属性记录到文件系统的i-node中,不过我们使用的目录树却是使用文件名来记录,因此每个文件名就会连接到一个i-node,这个属性记录的就是有多少不同的文件名连接到相同的一个i-node号码
-
第三列:所有者账号
-
第四列:文件所属用户组
-
第五列:容量大小,默认单位B
-
第六列:创建或最近修改日期
查看完整时间 ls -l --full-time
(乱码可以使用"LANG = en_US"来修改语言)
(修改系统配置文件“/etc/sysconfig/i 18n”,利用nano来修改该文件内容,使“LANG = en_US”使系统默认语言为英文)
- 第七列:文件名
假设块大小为4k, userlist的大小不小于10k,自己假设大小
-
- 参数: