我有一个关于在 ubuntu 11.04 中使用终端的问题。我已经安装了 wine 和 steam 以及通过 steam 安装了 civ III。根据 wine 论坛上的说明,为了玩 civ,需要在 wine 文件夹内移动一些字体文件,我已经这样做了,但它还告知要做以下操作:
then open a console and browse to:
.wine/dosdevices/c:/Program Files/Steam/steamapps/common/sid meier's civilization iii complete/Conquests/
and type the following command:
sudo chown root LSANS.*
当我打开终端时,我能够将目录更改为 .wine/dosdevices/c,但当我尝试更改为下一个“program files”时,我收到终端未找到消息。我输入 ls 命令并列出“program files”,为什么我无法更改为目录“program files”
以下是我在终端中执行的实际步骤
mike@ubuntu:~$ cd .wine
mike@ubuntu:~/.wine$ cd dosdevices
mike@ubuntu:~/.wine/dosdevices$ cd c:
mike@ubuntu:~/.wine/dosdevices/c:$ ls
Program Files users windows
mike@ubuntu:~/.wine/dosdevices/c:$ cd program files
bash: cd: program: No such file or directory
mike@ubuntu:~/.wine/dosdevices/c:$
我也尝试过大写
答案1
shell 中的参数使用空格分隔。这意味着,每当您运行命令并尝试将文件或目录作为包含空格的参数传递时,bash 都会假定这是两个单独的参数。有很多方法可以指定这一点。您可以使用所谓的转义字符表示空格是参数的一部分。为此,只需\
在文件名中的空格前插入
cd Program\ Files
或者你可以使用引号来表示它是一个参数
cd "Program Files"
但是,如果你使用 Tab 补全功能,通常就不需要输入全部内容
cd P<TAB>
如果有多个以 P 开头的文件,请添加另一个字母并再次按 Tab 键即可完成。
答案2
您需要引用任何包含空格的目录/文件名,否则会造成混淆。试试这个:
cd "Program Files"
另外,您可以使用制表符完成,因此您也可以尝试:
cd "Progr<press TAB>
并且它应该能帮你填补余下的部分。
答案3
作为附加组件,如果您想访问“Program Files (x86)”,请使用撇号表示特殊字符,如下所示:
cd Program\ Files\ '('x86')'
答案4
首先我想说的是,我喜欢命令行界面 (CLI),它上面有大量的免费资源。当您深入目录并根据您遇到的问题...您需要输入“cd“Program Files”,然后点击回车。您需要确保拼写正确,因为 CLI 看到的文件与您输入的文件完全一样。File1 与 file1 不同。
有人提到了 (TAB) 键,这非常棒,特别是当您要输入大量信息作为文件名等时。下次您在终端中并挖掘出隐藏的 wine 文件夹时,请尝试输入 cd dos(然后按 TAB)。很可能它会自动填写您的 dosdevices 部分,从而节省您的宝贵时间。
对我来说,一本有价值的 CLI 书籍是 William E. Shotts, Jr. 撰写的《Linux 命令行》,你可以下载本书免费!