我可以执行ls -l CD*
并查看以下输出。
CDTEST userA RW RW R
我以 userA 身份登录。但如果我这样做,ls -l
文件就不会出现。如果我这样做, vi CDTEST
它会尝试创建一个名为CDTEST
.如果我执行mv
或rm
收到消息,则未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 CDTEST
或no file found
发出命令mv
或时发生错误时会创建新文件的原因rm
。
您可能正在发出vi
,mv
或rm
来自 的命令pwd
。