LINUX里面的cat命令和cp命令有啥不同点?求说明

感觉cat a.txt > b.txt 和cp a.txt b.txt这两句效果一样的。这两句有什么不同么,或者说这cat和cp这两个命令有什么本质区别么?

这两句效果不完全一样。
cat命令用于读取文件(普通文件或设备文件)的内容并进行输出。第一条命令是通过输出重定向将cat的输出保存到b.txt,造成了a.txt的内容复制到了b.txt当中。通常情况下,可以通过cat查看文件中的内容,这是cp做不到的。
相对于cat命令,cp命令是进行文件及其内容的复制,且复制过程中不进行打印,所以它没法查看文件内容。
cp命令在复制文件的过程中,可以控制目标文件的掩码、类别等信息,这是cat做不到的。比如,cp命令可以维持源文件的所有者和掩码,可以复制文件夹,链接等,这都是cat做不到的。
对于普通的文本而言,lz说的这两种用法没有什么明显的区别。
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-05-03
本质区别就是重定向的是由shell解释和执行的, b.txt并不被cat 视为一个参数。而cp 后的a.txt b.txt都是cp的参数,cp 将a.txt中的内容读出,写入b.txt。
重定向是要通过一个临时文件来实现的。
第2个回答  2012-05-03
cat a.txt > b.txt这句话的意思是:显示a.txt文件里的内容然后导入到b.txt;而cp a.txt b.txt意思是:将a.txt的名字修改为吧b.txt
相似回答