More命令
more命令一般用于分页显示文件的内容,more会显示文件第一屏的内容,在屏幕的底部,more用反白字体显示文件的百分比,这时如果按空格键,文件下一屏内容会显示出来,如果按回车键,显示的则是下一行,如果输入“ q ”,则是结束显示。
more命令的几种用法
第一种:
$ more filename
显示文件filename的内容。
第二种:
$ command | more
将command命令的输出分页显示。
第三种:
$ more < filename
从标准输入获取要分页显示的内容,而这时more的标准输入被重定向到文件filename。
more命令的工作流程
+-----------> 显示24行
| +------> 输入操作,打印信息
| | 可以输入回车键、空格键、q键
| +------> 输入回车键,打印一行
+ ---------> 如果空格键,打印24行
如果是q键 ---> 退出
more命令的编写---版本1
1 #include <stdio.h> 2 #include <stdlib.h> 3 4 #define PAGELEN 24 5 #define LINELEN 512 6 7 void do_more(FILE *); 8 int see_more(); 9 10 int main(int ac,char *av[]) 11 { 12 13 FILE *fp; 14 if(ac == 1) 15 do_more(stdin); 16 else 17 while(--ac) 18 if((fp = fopen(* ++av,"r")) != NULL) 19 { 20 do_more(fp); 21 fclose(fp); 22 } 23 else 24 exit(1); 25 26 return 0; 27 } 28 29 30 void do_more(FILE *fp) 31 { 32 char line[LINELEN]; 33 int num_of_lines = 0; 34 int see_more(),reply; 35 36 while(fgets(line, LINELEN,fp)) 37 { 38 if(num_of_lines == PAGELEN) 39 { 40 reply = see_more(); 41 42 if(reply == 0) 43 break; 44 45 num_of_lines -= reply; 46 } 47 if(fputs(line,stdout) == EOF) 48 exit(1); 49 50 num_of_lines++; 51 } 52 } 53 54 int see_more() 55 { 56 int c; 57 printf("