ubuntu端末の「cd \」コマンドと「cd /」コマンドの違いは何ですか?


10

を与えるcd \と、ディレクトリ内の>記号がにcd /変わる間に~記号が表示され/ます。

また、lsコマンドはのdev, root, usr場合のようにディレクトリを表示しますcd /

回答:


15

シェルのBashでは、\(バックスラッシュ)はエスケープ文字を示します。これは、スペース、引用符、その他のシェル構文にとって意味のある文字などの文字をエスケープしたいが、実行中のコマンドにデータとして伝播させたい場合に使用する必要があります。これを行の最後の文字にすることで、改行をエスケープし、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

ああ、名前が1つのファイルを作成するのが私の意図でしたa filename with spaces。そこで、ここでは\スペースをエスケープするためにを使用します。これにより、シェルがに4つの引数を提供するのを防ぎますが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


さらに明確にするために:OPの例では、cd \は行末(Returnキー)をエスケープします。これは、端末がコマンドの残りをまだ待っていることを意味します。プロンプト>は、それが待機中であることを示しています。通常のプロンプトでは現在のディレクトリが表示されるため、を/使用しcd /た後に表示されます。~それが示した理由は、あなたのホームディレクトリのための短い手である~代わりに/home/user
Paddy Landau 2013

1

バックスラッシュを入力すると、複数行でコマンドを入力できます。これは、接頭辞「>」が表すものです。


1

>前のコマンドが不完全であったため、プロンプトが、複数の入力にあなたを待っている兆候手段。これはだけでなく、何でも再現できcdます。入力するだけでwhateveryouwant\取得できます>

が表示されている部分~は、現在の作業ディレクトリを示しています。作業ディレクトリを変更するには、コマンドを使用しcdます。これは、ディレクトリ(フォルダー)を変更することを意味します。その場合はcd /、ディレクトリをに変更し/ます。するとcd /usr/bin、に変わり/usr/binます。

ls現在のディレクトリ/フォルダーにあるものを一覧表示するコマンドです。したがって、cd /(ディレクトリをに変更したことを意味する場合/)は、lsそこにあるすべてのファイルとフォルダを一覧表示します。その場合はcd /etc/、その後とls、それはである何のファイルやフォルダを一覧表示するだろう/etc/、など。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.