1

全部

在这里,我用星号发布我对文件的疑问,首先我创建一个文件

touch test* 

如果我检查ls -lrt它会显示test*当前的文件。然后我使用删除了该文件rm *。然后我创建了两个test1* test2*使用相同触摸命令的文件。如果我检查ls -lrt。它显示两个文件,即test1*test2*。我再次test*使用触摸命令创建,现在我检查ls -lrt。这次它不会显示文件test*。为什么该test*文件未列出?

感谢和问候

4

2 回答 2

5

因为 * 被您的 shell 用作通用字符,所以当您编写

touch test*

您的外壳会将其转换为

touch test1* test2*

如果要创建'test*',请使用简单的引号,它会抑制全局功能。

touch 'test*'
于 2012-09-29T10:24:32.760 回答
1

通常使用 touch 命令创建一个空文件。如果文件已经存在,它只会改变访问时间。

第一次使用 touch test* 时,没有测试文件,因此它将创建文件名为 test*

第二次使用 touch test* 时,为当前目录计时 test1* 和 test2* 文件,因此它将扩展为 test1* 和 test2* 。

在这种情况下,它只会更改两个文件的访问时间。

如果您想再创建一个时间 test* 文件,则意味着您可以使用双引号。

于 2012-09-29T10:44:12.940 回答