C语言实现linux命令cat

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3
 4 int main(int argc, char *argv[])
 5 {
 6     if(argc == 2)//将文件中的打印到标准输出
 7     {
 8         FILE *fp;
 9         if( !(fp = fopen( argv[1], "r" )) )
10         {
11             fprintf(stderr,"cannot open file %s.",argv[1]);
12             exit(-1);
13         }
14         int c;
15         while( (c = fgetc(fp) ) != EOF )
16         {
17             fputc(c,stdout);
18         }
19         fclose(fp);
20     }
21     else if( argc == 3)
22     {
23         FILE *src ;
24         FILE *dest;
25         if( !( src = fopen( argv[1], "r" ) ) )
26         {
27             fprintf(stderr, "%s: cannot open file %s\n", argv[0],argv[1]);
28             exit(-1);
29         }
30         if( !( dest = fopen( argv[2], "w+" ) ) )
31         {
32             fprintf(stderr, "%s: cannot open file %s\n", argv[0],argv[1]);
33             exit(-1);
34         }
35         int c;
36         while( (c = fgetc(src))!=EOF)
37         {
38             fputc(c,dest);
39         }
40         fclose(src);
41         fclose(dest);
42     }
43     return 0;
44 }
时间: 2024-12-25 09:23:28

C语言实现linux命令cat的相关文章

Python:模拟linux命令cat

模拟linux的cat命令,打印从命令行输入的文件名 #!/usr/bin/python #Filename:cat.py helpString = '''This program prints files to the standard output. Any number of files can be specified. Options include: --version : Prints the version number --help : Display this help'''

每天一个linux命令-cat

Linux中的cat命令我们通常用于连接文件或标准输入并打印,或者将几个文件拼接起来标准输入并打印,常常会与重定向符号配合使用. 命令格式 cat [option]... [file]... 命令功能 一次显示整个文件内容: cat filename 从键盘创建一个文件: cat > newfile ,只能创建新文件使用,不能编辑已有文件 将几个文件合并成一个文件: cat file1 file2 > file3 命令参数 -A或--show-all  等效于-vET -b或--number-

linux命令——cat

cat命令主要是用于查看文件内容,一般是文本文件内容的文件,在渗透测试中,主要是用于查看相关配置文件.密码文件等,用法主要是: cat 文件名 [email protected]:~/linuxcmd# cat test2.txt test1 test2 test3 [email protected]:~/linuxcmd# 为了调试方便,可以使用-n选项进行显示行号! [email protected]:~/linuxcmd# cat -n test2.txt      1  test1   

Linux 命令 - cat: 合并文件至标准输出

命令格式 cat [OPTION]... [FILE]... 命令参数 -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-nonpri

linux 命令 —-— cat

命令格式:       cat [选项] 文件 命令功能: 一次显示整个文件.从键盘创建一个新文件.将几个文件合并成一个文件 常用选项: -b  对输出的非空行进行编号 -E  在每行结束出显示$符号 -n  对输出的所有行进行编号,从1开始 常用范例: 例一:查看file文件内容 命令:  cat file 例二:查看file文件时显示行号 命令:  cat -n file 例三:同时显示file1和file2两个文件,并显示行编号 命令:  cat -n file1 file2 例四:使用c

linux命令--cat

cat作用:1.输出文本内容到屏幕   2.输出文本内容到另外一个文件 参数说明: -n:对所有行进行编号 -b:不对空白行编号 -s:连续多行空白行显示为单行 举例说明: --------------------------------------------------- 查看1.txt文本内容 [[email protected] tools]# cat 1.txt  c  d  e  f  g -----------------------------------------------

每天学一个linux命令——cat[用于连接文件并打印到标准输出设备上]

语法格式:cat [-AbeEnstTuv] [--help] [--version] fileName 参数说明:-n 或 --number:由 1 开始对所有输出的行数编号.-b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号.-s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行.-v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外.-E 或 --show-ends :

linux 命令c语言代码实现

自己学习<APUE>时写的linux下一些命令(大概40个左右)实现,仅当学习使用,这些命令包括cat cp echo head ls paste rmdir tail umask who chattr cut expand join mkdir pwd sed tee uniq chgrp date find last mkfifo reboot sort wc chmod df ln mv rename split touch which chown du grep lsattr od r

Linux命令之dot - 绘制DOT语言脚本描述的图形

本文链接:http://codingstandards.iteye.com/blog/840055 用途说明 Graphviz (Graph Visualization Software的缩写)是一个由AT&T实验室启动的开源工具包,用于绘制DOT语言脚本描述的图形.它也提供了供其它软件使用的库. Graphviz是一个自由软件,其授权为Common Public License.其Mac版本曾经获得2004年的苹果设计奖.Graphviz包括很多命令行工具,dot命令是一个用来将生成的图形转换