linux cat >> 命令
什么意思?
顺便问一个
ssh 主机名 cat file1 >> file2
这句话什么意思? 展开
cat 命令用于连接文件并打印到标准输出设备上。cat是concatenate的简写,类似于dos下面的type命令,使用权限为所有使用者。
cat file1 >> file2的意思是把 file1 的文档内容输入file2 这个文档里。
扩展资料:
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 : 在每行结束处显示 $。
-T 或 --show-tabs: 将 TAB 字符显示为 ^I。
-A, --show-all:等价于 -vET。
-e:等价于"-vE"选项;
-t:等价于"-vT"选项;
比如:
把 textfile1 的文档内容加上行号后输入 textfile2 这个文档里:
cat -n textfile1 > textfile2
参考资料:cat(linux命令)-百度百科
将file1中的内容追加到file2中,即将file1内容合并到file2中,并不覆盖file2原来已有内容。
ssh 主机名
是通过ssh协议远程登陆 主机名 机器
远程到主机执行命令,在这个主机上把file1的内容输出追加到file2的末尾
$ cat f1.c >> f1.c
会造成死循环 ,瞬间会造成巨大的文件 , 不要误导人了 呵呵
lz 要想明白这个 一定要了解<的到底是干什么的
对于你的命令 cat f1.c > f1.c 表示
cat 命令以 f1.c 文件作为 stdin,同时以 f1.c 文件作为 stdout
一般的 ,linux中的文件都有一个标记叫做EOF ,End of File ,此标记表示为文本结束符 ,这样一来 f1.c的文件尾部就是EOF , 执行最后一步的重定向时 就将EOF重定向到了 f1.c ,这样 直接将一个EOF重定向到文件的时候表示将文件清空
其实你的命令等效于
$ cat < EOF > f1.c
>EOF
对于stdin来讲 它是忠实的呈现来源的各个字节的
这个例子没什么实用价值 也就是让人了解 >的功能以及特点, 逻辑上来讲 从一个文件读入在重新输出到文件本身有什么意思呢.