Questions tagged «cat»

cat是标准Unix实用程序,用于连接文件或在标准输出上打印特定文件。

2
使用cat,dd,pv或其他过程复制CD / DVD更好吗?
背景 我正在将一些数据CD / DVD复制到ISO文件中,以便以后在驱动器中不需要它们时使用它们。 我在网上寻找程序,发现了很多东西: 使用的cat复制介质:http://www.yolinux.com/TUTORIALS/LinuxTutorialCDBurn.html cat /dev/sr0 > image.iso 使用dd这样做(显然使用最广泛):http : //www.linuxjournal.com/content/archiving-cds-iso-commandline dd if=/dev/cdrom bs=blocksize count=count of=/path/to/isoimage.iso 使用just pv来完成此任务:请参见man pv以获取更多信息,尽管以下是其摘录: Taking an image of a disk, skipping errors: pv -EE /dev/sda > disk-image.img Writing an image back to a disk: pv disk-image.img > /dev/sda Zeroing a disk: pv < …
22 linux  dd  cat  disk-image  pv 

2
较少的file1 file2 | 猫-为什么起作用?
当我使用时,less file1 file2两个文件都显示在“较少缓冲区查看器”中,但是less file1 file2 | cat打印了两个文件的内容并附加到stdout中。怎么不知道它是否应该显示“较少的缓冲区查看器”或为下一命令生成输出到stdout?什么机制用于执行此操作?
21 pipe  cat  less 

2
Ctrl + D结束终端线输入
如果我做 $ cat > file.txt 文本Ctrl- DCtrl-D 问题1:如果我不按回车,为什么我必须按Ctrl- D两次? 如果我做 $ cat > file.txt 帕彭普什Ctrl-Z [2]+ Stopped cat > file.txt $ cat file.txt $ cat > file.txt 帕班普什 Ctrl--Z [2]+ Stopped cat > file.txt $ cat file.txt pa bam pshhh 为什么第二次使用1行文件?

2
为什么此命令会创建一个很大的文件?
我今天正在尝试一些附加操作,并且出于好奇,运行了此命令(其中file1.txt为非空,而file2.txt为空): $ cat file1.txt >> file2.txt >> file1.txt 当我看到它花了一段时间后,按Ctrl+ C结束它。到那时,file1.txt的大小为数百MB。 切换文件名不会产生相同的效果。仅当文件按此顺序排列时,才会发生无限重定向。到底是什么原因造成的?



3
tee + cat:多次使用输出,然后合并结果
例如,如果我调用某个命令,则echo可以在中使用该命令的结果在其他多个命令中tee。例: echo "Hello world!" | tee >(command1) >(command2) >(command3) 使用cat我可以收集几个命令的结果。例: cat <(command1) <(command2) <(command3) 我希望能够同时做这两种事情,这样我就可以tee在其他输出(例如,echo我编写的输出)上调用这些命令,然后使用以下命令将所有结果收集到一个输出中cat。 保持结果为了这一点很重要,这意味着输出的线路command1,command2并且command3不应该纠缠在一起,但订购的命令是(因为它与发生cat)。 可能有比cat和更好的选择,tee但是到目前为止,这些是我所知道的。 我想避免使用临时文件,因为输入和输出的大小可能很大。 我该怎么办? PD:另一个问题是这种情况是循环发生的,这使得处理临时文件更加困难。这是我目前拥有的代码,适用于小型测试用例,但是当以我不理解的方式从auxfile读取和写入时,它会创建无限循环。 somefunction() { if [ $1 -eq 1 ] then echo "Hello world!" else somefunction $(( $1 - 1 )) > auxfile cat <(command1 < auxfile) \ <(command2 < auxfile) \ …
18 pipe  cat  tee  concurrency 

4
为什么猫x >> x循环?
以下bash命令进入无限循环: $ echo hi > x $ cat x >> x 我可以猜到它开始写到stdout之后会cat继续读取x。但是,令人困惑的是,我自己的cat测试实现表现出不同的行为: // mycat.c #include <stdio.h> int main(int argc, char **argv) { FILE *f = fopen(argv[1], "rb"); char buf[4096]; int num_read; while ((num_read = fread(buf, 1, 4096, f))) { fwrite(buf, 1, num_read, stdout); fflush(stdout); } return 0; } 如果我运行: $ …

3
为什么小于号不能代替bash中的cat?
我听说过“猫的无用使用”并找到了一些建议,但是以下内容在我的bash shell中什么都没有输出。 < filename 使用cat的效果与预期的一样。 cat filename 我正在使用Fedora Core 18和GNU bash,版本4.2.45(1)。 编辑:在管道前使用它也不起作用。 < filename | grep pattern 而使用cat的效果可预期。 cat filename | grep pattern EDIT2:澄清一下,我知道我可以使用它 grep pattern < filename 但我在这里阅读了/programming/11710552/useless-use-of-cat,我也可以在命令前使用它。但是,它不能在命令前运行。


1
使程序首先从管道读取,然后从键盘读取
考虑交互式程序interactive。我必须相当频繁地运行该程序,并且每次运行它时,前几个命令都是相同的。显然,不得不一遍又一遍地键入这些命令是很痛苦的。我已经在文件中收集了这些命令(用换行符分隔)cmd。现在,我可以cat cmd | interactive运行命令了。问题是,一旦cmd被完全读取,就会interactive收到EOF并退出。 我想做的是首先interactive从管道中读取(显然interactive < cmd也可以接受),并且在收到EOF时,改为从键盘开始读取。
17 command-line  pipe  cat  stdin 

2
使用echo和cat测试串行环回的意外结果
因此,我有一个标准的RS232串行端口,只需通过一条从Tx到Rx的导线即可将其环回。我通过运行测试环路echo和cat在两个独立的终端: cat /dev/ttyS1 echo "hi" > /dev/ttyS1 我的问题是输出。我希望看到一个“ hi”回到运行猫的终端,但是我得到了: hi [2 newlines] hi [4 newlines] hi [8 newlines] hi [16 newlines] hi [32 newlines] hi ...依次类推,直到I ctrl+ 为止c cat。 中断cat之后,如果我再次运行它,直到我第二次运行echo时,它才会输出“ hi”。 这正常吗?知道为什么我会看到这种行为吗? 编辑:换行符,我的意思是ASCII 0x0A。此输出中没有回车符。
17 cat  serial-port  echo 

3
从命名管道(cat或tail -f)连续读取
我已配置rsyslog为将某些日志事件记录到/dev/xconsole: *.*;cron.!=info;mail.!=info |/dev/xconsole /dev/xconsole是一个命名管道(fifo)。如果我想查看正在记录的内容,可以执行cat /dev/xconsole。令我惊讶的是,该命令cat /dev/xconsole在读取文件后没有完成,而是充当了tail -f。换句话说,这两个命令的行为相同: cat /dev/xconsole tail -f /dev/xconsole 有人可以解释为什么吗? 两者之间有什么区别吗?
16 pipe  cat  tail  fifo 

7
为什么echo和cat的执行时间会有这样的差异?
回答这个问题使我又问了一个问题: 我认为以下脚本可以做同样的事情,第二个脚本应该更快,因为第一个脚本cat需要一遍又一遍地打开文件,而第二个脚本仅可以打开文件一次然后回显一个变量: (请参阅更新部分以获取正确的代码。) 第一: #!/bin/sh for j in seq 10; do cat input done >> output 第二: #!/bin/sh i=`cat input` for j in seq 10; do echo $i done >> output 而输入约为50兆字节。 但是当我尝试第二个时,它太慢了,因为回显变量i是一个巨大的过程。第二个脚本也有一些问题,例如输出文件的大小比预期的要小。 我还检查了的手册页echo并cat进行比较: 回声-显示一行文本 cat-连接文件并在标准输出上打印 但是我没有区别。 所以: 为什么第二个脚本中的cat这么快而echo这么慢? 还是变量问题i?(因为在手册页中 echo据说它显示“一行文本”,所以我猜它仅针对短变量进行了优化,而不是针对非常长的变量进行了优化i。但是,这只是一个猜测。) 为什么使用时会出问题echo? 更新 我用seq 10而不是`seq 10`不正确。这是编辑的代码: 第一: #!/bin/sh for j …

3
如何读取破折号文件
我如何从终端读取破折号文件,而不是使用 ./ 例如阅读一个- file我们可以通过阅读 cat ./-file_name 问:有没有其他方法可以实现同一目标?
15 bash  cat 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.