Cat Userlist
实验内容
- 写出Cat userlist的过程,要涉及到目录文件,i-node.
实验步骤
cat命令
-
cat命令是linux下的一个文本输出命令,通常是用于观看某个文件的内容的
-
cat主要有三大功能:
-
1.一次显示整个文件。$ cat filename
-
2.从键盘创建一个文件。$ cat > filename (只能创建新文件,不能编辑已有文件.)
-
3.将几个文件合并为一个文件: $cat file1 file2 > file
-
-
参数:
-
-n 或 --number 由 1 开始对所有输出的行数编号
-
-b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号
-
-s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
-
-v 或 --show-nonprinting
-
cat语法结构
- de>cat [选项] [文件]...de>
选项:
-
-A, --show-all 等价于 -vET
-
-b, --number-nonblank 对非空输出行编号
-
-e 等价于 -vE
-
-E, --show-ends 在每行结束处显示 $
-
-n, --number 对输出的所有行编号
-
-s, --squeeze-blank 不输出多行空行
-
-t 与 -vT 等价
-
-T, --show-tabs 将跳 字符显示为 ^I
-
-u (被忽略)
-
-v, --show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外
-
--help 显示此帮助信息并离开
应用———cat查看文件内容实例
-
1.基本情况:
-
de>[root@localhost ~]# cat /etc/profile 注:查看/etc/目录下的profile文件内容;
-
[root@localhost ~]# cat -b /etc/fstab 注:查看/etc/目录下的profile内容,并且对非空白行进行编号,行号从1开始;
-
[root@localhost ~]# cat -n /etc/profile 注:对/etc目录中的profile的所有的行(包括空白行)进行编号输出显示;
-
[root@localhost ~]# cat -E /etc/profile 注:查看/etc/下的profile内容,并且在每行的结尾处附加$符号;
-
-
2.de>cat 加参数-n 和nl工具差不多,文件内容输出的同时,都会在每行前面加上行号;
-
de>[root@localhost ~]# cat -n /etc/profile
-
[root@localhost ~]# nl /etc/profilede>
-
-
3.cat 可以同时显示多个文件的内容,比如我们可以在一个cat命令上同时显示两个文件的内容;
- de>[root@localhost ~]# cat /etc/fstab /etc/profilede>
-
4.cat 对于内容极大的文件来说,可以通过管道|传送到more 工具,然后一页一页的查看;
- de>[root@localhost ~]# cat /etc/fstab /etc/profile | morede>
实验截图
i-node节点与链接
1.前提须知
-
Linux将磁盘块分成了3部分--超级块、i-node节点表、数据区
-
超级块用来存储文件系统本身的信息。
-
i-node节点表存放i-node节点,它存储了文件属性、所有者、权限等元数据信息。
-
数据区分块存储文件数据,它是不连续存储的,一个文件的内容可能散落在数据区内部。
-
2.三部分具体内容
- 超级块
它是文件系统的第一个块。这个块存放文件系统结构信息,如每个区的大小,还记录这个磁盘块未使用空间信息。
- i-node节点表
每个文件的属性信息存放在这个表中,以i-node号为索引,所有i-node大小相同,是一个i-node数组,每个文件在都对应着唯一一个i-node号,即一个唯一的i-node节点。但是某个i-node节点可能对应多个文件名,这个后面提到。只需要记住:表中每个节点按位置标识。
- 数据区
数据区存放文件实际内容。磁盘是按固定大小分块的,如果一个文件的大小超过了一个块的内容,那就为它分配多个块来存储。
3.创建文件的过程
文件有文件名、文件属性和文件内容。文件名存放在目录中,并与i-node号建立关联,文件属性存放在i-node中,文件内容存放在数据区。
因此,创建文件的四个主要操作如下:
-
存储文件属性:内核在i-node表中找一个空的i-node
-
存储文件数据:根据文件大小分配合适数量的空磁盘块,(Unix使用成组链接法管理空闲盘块)
-
记录分配情况:在第1步的i-node节点上记录了第2步分配的磁盘序列
-
添加文件名到目录:以<i-node_index, filename>的形式在目录中建立文件名和实际的物理块号的关联。
4.实验截图