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.实验截图