使用 vi 未显示文件,但使用命令 ls -l CD* 可见文件

使用 vi 未显示文件,但使用命令 ls -l CD* 可见文件

我可以执行ls -l CD*并查看以下输出。

CDTEST userA RW RW R

我以 userA 身份登录。但如果我这样做,ls -l文件就不会出现。如果我这样做, vi CDTEST它会尝试创建一个名为CDTEST.如果我执行mvrm收到消息,则未CDTEST找到该名称的文件。

答案1

听起来你有一些匹配的目录CD*。当您运行时,ls -l CD*您将看到该目录的内容,其中包括文件CDTEST.

例子

假设我有这个目录结构。

$ tree .
.
`-- CD1
    `-- CDTEST

1 directory, 1 file

如果我从同一位置运行以下命令:

$ ls -l CD*
total 0
-rw-rw-r--. 1 saml saml 0 Mar 25 21:41 CDTEST

-d如果将开关添加到 ,您可以获得实际目录的列表ls

$ ls -ld CD*
drwxrwxr-x. 2 saml saml 4096 Mar 25 21:45 CD1

当您运行命令时,它们是相对于包含 的目录CD1,该目录没有名为 的文件CDTEST。您还可以检查当前目录中的内容,如下所示:

$ ls -l

或者您可以使用grep如下方式过滤它:

$ ls -l | grep CD
drwxrwxr-x. 2 saml saml 4096 Mar 25 21:45 CD1

笔记:注意到开头CD1有一个吗?d这告诉你这是一个目录。

答案2

据我了解,CD测试文件似乎位于文件夹内。当你发出命令时,

ls -l CD*

上面的命令实际上显示了一个文件CD测试在当前工作目录中不存在的文件夹内。所以,如果你这样做,ls -l它不会显示CD测试文件夹内的文件。这就是当您执行此操作vi CDTESTno file found发出命令mv或时发生错误时会创建新文件的原因rm

您可能正在发出vi,mvrm来自 的命令pwd

相关内容