./home/Desktopは不正確で、./Desktopはなぜ正しいのですか?

./home/Desktopは不正確で、./Desktopはなぜ正しいのですか?

昨日からLinuxを学び始めました。私の本やGoogleで答えることができない質問があります。殻の中にある./ことの違いは何ですか?/

私がこの質問をするのは、コマンドを実行すると./home/yogesh/Desktop/Books次のエラーが発生するためです。

bash: ./home/yogesh/Desktop : No such file or directory

しかし、ポイントを削除すると

/home/yogesh/Desktop/Books : Is a directory

または実行すると/Desktop返されます。

/Desktop : No such file or directory

/しかし、私が得る前にポイントを追加すると

./Desktop: is a directory

./これらとそしての違いは何ですか/

答え1

Unixでは(Windowsと同様に)/fooファイルまたはディレクトリの場所です(絶対、ルートから始まります)/./foo相対位置(現在のディレクトリ基準)の代わりにfoo

/Desktopまたは、コマンドを入力して./Desktop実行できないデスクトップを実行するようにシェルに指示することもできます。

/Desktop存在しないため、エラーメッセージが表示されます。

しかし、./Desktop絶対的な位置は/Home/YOURNAME/Desktop存在します。ただし、実行可能ファイルではなくディレクトリです...実行したいコマンドのプレフィックス(通常cdまたはls)を忘れた可能性があります。

答え2

説明例:

/(スラッシュ) はファイルシステムルートのルートを意味します。そのため、/home/yogesh/Desktop/Booksルートから始めて確認homehome確認yogeshなどを行います。これを絶対パスといいます。

.(ドット)は、現在のディレクトリから始まるという意味です。したがって、現在のディレクトリがあり、/home/yogeshを選択した場合は./Desktopそこにあります。これを相対パスといいます。

答え3

Unix および Unix 系では、.現在のディレクトリを表します。たとえば、現在のディレクトリの内容がls .一覧表示されます。lsしたがって、これを./Desktopコマンドとして使用すると、Desktop現在のディレクトリの下でそのディレクトリが見つかります。これにより、これはディレクトリなので、コマンドではないため実行できないというエラーメッセージが表示されます。

/ファイルシステムのルートです。C:\Windowsでも同様です。を実行すると、/DesktopシステムはDesktopそのディレクトリ内でその名前のディレクトリを探します/。存在しないと教えてくれます。

たとえば、私がいる場所に/home/yogesh移動するには、/home/yogesh/Desktop相対パス(現在のディレクトリベース)を使用してまたはをcd ./Desktop実行するcd Desktopか、絶対パスを使用してを実行できますcd /home/yogesh/Desktop

答え4

最初のものは相対的な位置にしてはいけません。

相対位置は現在位置より短い。絶対位置は、Linuxの最初のディレクトリの場所であるroot /で始まります。 /var にない場合に使用できます。

cd /var/www

/var/www は絶対位置です。 /varにある場合は、次のものを使用できます。

cd ./www

または

cd www

短くチョークで書いてください。

William Shotsの無料電子ブックをお勧めします。

電子書籍リンクは次のとおりです。

Linux コマンドライン作成者: William Shots

関連情報