我似乎无法rm -r
进入cd
一个明显存在的目录,但我得到了错误No such file or directory
。发生了什么?相关命令如下。我应该强制这样做吗?我也想知道为什么会发生这种情况。
root@jaxsin:/var/www/camwright/core/components/databackup/dumps# ls -al
total 24
drwxr-xr-x 2 root root 4096 Aug 30 11:19 modx_camwright_2013_08_30__1377875941
drwxr-xr-x 2 root root 4096 Aug 30 11:20 modx_camwright_2013_08_30__1377876001
drwxr-xr-x 2 root root 4096 Aug 30 11:21 modx_camwright_2013_08_30__1377876062
drwxr-xr-x 5 www-data www-data 4096 Aug 30 11:21 .
drwxr-xr-x 7 www-data www-data 4096 Aug 30 10:45 ..
-rw-r--r-- 1 www-data www-data 21 Aug 30 10:45 readme.txt
root@jaxsin:/var/www/camwright/core/components/databackup/dumps# cd modx_camwright_2013_08_30__1377875941/
-su: cd: modx_camwright_2013_08_30__1377875941/: No such file or directory
root@jaxsin:/var/www/camwright/core/components/databackup/dumps# rm -r modx_camwright_2013_08_30__1377875941/
rm: cannot remove `modx_camwright_2013_08_30__1377875941/': No such file or directory
答案1
目录modx_camwright
名称似乎以空格开头。如果你仔细观察,你会发现该字母m
出现在该行的右侧,比其他条目的名称更靠前。此外,它们列在以 开头的条目之前.
,这表明它们不以任何字母开头。(毕竟,readme.txt
是“按字母顺序排列的”后和.
目录..
。)
ls
或者它可能是显示为空格的其他一些奇怪的字符。
因此,不要调用目录modx_camwright_2013_08_30__1377875941
,而是调用:
' modx_camwright_2013_08_30__1377875941'
要cd
执行此操作,请运行:
cd ' modx_camwright_2013_08_30__1377875941'
要删除它及其所有内容,请运行:
rm -r ' modx_camwright_2013_08_30__1377875941'
如果这些命令不起作用,那么开头的字符可能不是空格。(很可能是空格——大多数其他空白字符都显示为?
s ls
。)
您可以使用?
来匹配单个字符。因此,您可以尝试通过以下名称调用此目录:
?modx_camwright_2013_08_30__1377875941
(不要使用引号。)
或者如果它是多个字符,您可以使用*
,它匹配零个或多个字符:
*modx_camwright_2013_08_30__1377875941
(也不要使用引号。)
最有可能的是,只需引用名称并在开头添加一个空格(如上所述)即可。