こんにちは。 CDについて混乱しています。どうすればいいですか?

こんにちは。 CDについて混乱しています。どうすればいいですか?

Linux端末にcd --と入力しましたが、私が認識していないディレクトリに移動しました。 CD - どこに行きますか?ルートディレクトリですか?

答え1

引数が指定されていない場合のデフォルトの動作は、cd変数が提供するディレクトリに移動することです$HOME。これはPOSIXによって実施された:

ディレクトリオペランドが指定されておらず、HOME環境変数が空であるか定義されていない場合、デフォルトの動作は実装によって定義され、追加の手順を実行しないでください。

--それはまた、POSIX機能多くのツールでは、これを使用してオプションの終わりを示します。これは-、たとえば、次のように始まる名前で作業する場合に便利です。たとえば、このディレクトリには次のディレクトリがあります-a

$ ls
-a

これを実行しようとすると、次のような結果がcat得られます。

$ cat -a
cat: invalid option -- 'a'
Try 'cat --help' for more information.

--これが入ってくるところです:

$ cat -- -a
These are the contents of file -a!

したがって、あなたの例では、引数の終わりを示すためにcd実行に従うことです。これは引数なしで実行されると解釈されます。その結果、まるで一人で走るかのように自分の領域に入るようになり、すでにその中にいるなら何も変わらないように見えます。 $grep foo -a--cd$HOMEcd$HOME


後者はより明確なエラーを提供するので、実際に代わりにcd --実行したと仮定します。cd--

$ cd--
bash: cd--: command not found

独自のスクリプトや機能がない場合、cd--私たちは何が起こっているのかわかりませんが、わかりません。

答え2

次のコマンドを使用してディレクトリを変更できる必要があります。cd /path/

役に立つオンラインディスカッションを見つけました。https://askubuntu.com/questions/711390/what-does-cd-do-i-used-it-and-im-now-stuck-in-a-directory

答え3

CDはディレクトリを変更します。ディレクトリを終了するには、次のように入力してcd ..Enterを押します。

ただ入力した場合は、cd --ディレクトリをまったく変更しなかったでしょう。

これが役に立つことを願っています。

関連情報