linux命令:显示所有文件的内容

时间:2015-08-13 20:11:05

标签: linux find ls xargs

我尝试了以下两个cmd来显示当前目录下所有文件的内容。我想知道为什么一个有用,另一个没有。

ls | xargs cat # does not work, No such file or directory

find . | xargs cat # works

cat只是一个示例,它可以是任何以文件名作为参数的cmd。

---------------------------------更新------------- --------------------

以下是我个人电脑的观察结果。

$ echo 1 > test1.txt
$ echo 2 > test2.txt
$ echo 3 > test3.txt

$ ls
test1.txt  test2.txt  test3.txt

$ ls *.txt | xargs cat
cat: test1.txt: No such file or directory
cat: test2.txt: No such file or directory
cat: test3.txt: No such file or directory

$ find .  -name '*.txt' | xargs cat
2
1
3

1 个答案:

答案 0 :(得分:0)

对于可能会看到此问题的其他人,我们在评论中发现了这个问题。郝的问题是,ls是一个别名,导致xargs管道出现问题。

使用'type ls',他们看到它有别名,并使用'\ ls'删除别名解决了问题。