如何使用pipe道将'ls -l'的输出发送到cp命令?

我想将ls -l命令的输出复制到一个文件中,声明为“xyz”。 我知道我必须采取ls -l的输出,然后用pipe道将它发送到cp命令,即ls -l的输出将被用作cp命令的input

$ls-l -rw-r--r-- 1 1030082 oinstall 167 Mar 27 10:36 \ -rw-r--r-- 1 1030082 oinstall 167 Mar 27 10:36 a1 -rw-r--r-- 1 1030082 oinstall 103 Mar 27 12:40 a2 -rw-r--r-- 1 1030082 oinstall 30 Mar 27 12:43 a3 -rw-r--r-- 1 1030082 oinstall 21 Mar 27 13:47 a4 drwxr-xr-x 3 1030082 oinstall 4096 Mar 27 16:54 dir1 -rw-r--r-- 1 1030082 oinstall 94 Mar 27 13:53 unix -rw-r--r-- 1 1030082 oinstall 105 Mar 27 10:33 xyz 

输出到文件“test.txt”:

 ls -l > text.txt 

管道总称:

  • >将输出保存到文件。

  • >>将输出附加到文件。

  • <从文件读取输入。

  • 2>重定向错误消息。

  • | 将一个程序的输出作为输入发送到另一个程序。

如果您要将在目录列表中获得的文件复制到其他目录中,则会如下所示

 for i in $(ls -al | awk ' { print $9} ' ); do cp -rf $i $destination ; done; 

如果你简单的想把ls -al的输出复制到某个文件中,那就这样做

 ls -al > file