No Bash, seu shell, o \ (barra invertida) denota um caractere de escape. Isso deve ser usado nos casos em que você deseja escapar caracteres , como espaços, citações e outros caracteres significativos para a sintaxe do shell, mas deseja que ele seja propagado como dados para o comando que está sendo executado. Por ter este como o último caractere na linha, você está escapando da nova linha e o Bash está esperando por mais informações (várias linhas).
/ é apenas uma barra (ou seja, separador de diretório ). Com apenas / , isso significa a raiz, portanto, por exemplo, ls / lista o conteúdo da raiz. Ao alterar o diretório de trabalho para / , o indicador no seu shell também muda de ~ (abreviação de home directory, por exemplo, /home/gert/ ) para o diretório em que você está ( / ).
Demo
$ 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
Ah, não, foi minha intenção criar um arquivo com o nome a filename with spaces . Então, aqui nós usamos o \ para escapar dos espaços. Isso impede que o shell forneça quatro argumentos para touch , mas forneça um único com os espaços incluídos.
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
Claro que, usando aspas ( touch "a filename with spaces" ), pode-se conseguir a mesma coisa.
Ele também é usado para declarar caracteres especiais, como novas linhas:
$ echo -e "bla\nnewline" # \n means a newline character
bla
newline
Precisamos da opção -e aqui para echo , porque, como a página de manual coloca: -e enable interpretation of backslash escapes .