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
在您的~/.inputrc
或bind 'set show-all-if-ambiguous on'
在您的~/.bashrc
(或其他方法,例如将键绑定到menu-complete
)中。