无法访问的目录

无法访问的目录

mkdir在编辑之前,我将 git 克隆到目录“/source”中。它没有显示在其父目录中,但是当我运行命令时ls,输出缩进如下:

    database  static  superlists  virtualenv

代替:

database  static  superlists  virtualenv

当我运行该tree命令时,结构如下所示:

.
├──  
│   └── source
│       ├── functional_tests
│       │   └── __pycache__
│           └── __pycache__
├── database
├── static
├── superlists
│   ├── functional_tests
│   │   └── __pycache__
│   ├── lists

看到差距了吗?它应该在 .以及数据库、静态、超级列表等。

cd也无法从其父目录进入源代码。

我做错了什么,我该如何解决?

这是在 ubuntu 14.04 lts 服务器上。

这样做的挑战之一是难以描述它,这使得搜索变得困难。

编辑:最简单的解释是正确的,我创建了一个名为“”的目录。我使用反斜杠键将其删除以转义。

答案1

您已成功创建一个以空格(或多个)作为名称的目录。

重命名它:

mv " "* I_see_you

如果它不是一个简单的空间,您可以尝试将任何非图形字符替换为X

$ # (having moved everything else away to a safe place...)
$ for d in *; do test -d "$d" && echo mv "$d" "$( tr -c '[:graph:]' 'X' <<<"$d" )"; done

删除echo以实际执行mv.

答案2

您似乎有一个目录,其名称完全由不可打印的空格字符组成。

您可以使用通配符来匹配它:

mv -i [^A-Za-z0-9_]* renamed

这会提示您移动名称不以字母、数字或下划线开头的所有文件。可能只有那个文件。

或者,如果您的 shell 设置为迭代完成,请键入mv Space然后按Tab直到在命令行中插入正确的文件。在 bash 中,这不是默认设置,您需要set show-all-if-ambiguous on在您的~/.inputrcbind 'set show-all-if-ambiguous on'在您的~/.bashrc(或其他方法,例如将键绑定到menu-complete)中。

相关内容