给予时cd \,我将>符号cd /更改为~目录中的符号/。
同时ls命令显示我目录,如dev, root, usr在案件cd /。
给予时cd \,我将>符号cd /更改为~目录中的符号/。
同时ls命令显示我目录,如dev, root, usr在案件cd /。
Answers:
在您的shell Bash中,\(反斜杠)表示转义字符。如果要转义空格,引号和其他对Shell语法有意义的字符,但又希望将其作为数据传播到正在运行的命令,则应使用此方法。通过将此字符作为行中的最后一个字符,可以转义换行符,并且Bash正在等待进一步的输入(多行)。
/只是一个斜杠(表示目录分隔符)。仅仅/意味着根,因此例如ls /列出了根的内容。通过将工作目录更改为/,外壳程序中的指示符也将从~(例如,主目录的缩写/home/gert/)更改为您当时所在的目录(/)。
$ touch a filename with spaces
$ ls -l
total 0
-rw-rw-r-- 1 gert gert 0 Jul 1 02:33 a
-rw-rw-r-- 1 gert gert 0 Jul 1 02:33 filename
-rw-rw-r-- 1 gert gert 0 Jul 1 02:33 spaces
-rw-rw-r-- 1 gert gert 0 Jul 1 02:33 with
哦,是的,我打算创建一个名称为的文件a filename with spaces。因此,这里我们使用\来转义空格。这样可以防止外壳程序提供四个参数touch,而只提供一个包含空格的参数。
touch a\ filename\ with\ spaces
$ touch a\ filename\ with\ spaces
$ ls -al
total 24
drwxrwxr-x 2 gert gert 4096 Jul 1 02:35 .
drwxrwxr-x 55 gert gert 20480 Jul 1 02:33 ..
-rw-rw-r-- 1 gert gert 0 Jul 1 02:35 a filename with spaces
当然,使用引号(touch "a filename with spaces")可以达到相同目的。
它还用于声明特殊字符,例如换行符:
$ echo -e "bla\nnewline" # \n means a newline character
bla
newline
我们需要-e这里的选项echo,因为正如联机帮助页中所述:-e enable interpretation of backslash escapes。
该>符号表示提示正在等待您输入更多内容,因为前一个命令不完整。您可以用任何东西(不仅仅是)来重现它cd。只需键入whateveryouwant\,您就会得到>。
您看到的部分~表示当前工作目录。要更改工作目录,请使用命令cd,这意味着更改目录(文件夹)。因此,如果这样做cd /,它将目录更改为/。如果这样做cd /usr/bin,它将更改为/usr/bin,依此类推。
ls是列出当前目录/文件夹中内容的命令。因此,如果您这样做cd /(意味着您已将目录更改为/),ls则将列出其中的所有文件和文件夹。如果你这样做cd /etc/,然后ls,它会列出任何文件和在文件夹中/etc/,依此类推。
>显示它正在等待。通常的提示会显示当前目录,这就是为什么/在使用后会显示它cd /。该~短手为你的主目录,这就是为什么它显示~代替/home/user。