この質問にはすでに回答があります :シェルコマンドのディレクトリ名の後のスラッシュ(/)
(2つの回答)
3年前に閉じられました。
Linux
(2つの回答)
3年前に閉じられました。
重複の可能性:
Linuxが複数のパス区切り文字(/ home //// username /// file)を処理する方法
Linuxで使用するほとんどのコマンドは、末尾のスラッシュ/
を含めても、まったく同じように動作します。 ディレクトリ名の末尾の文字かどうか。
例:
ls /home/cklein
ls /home/cklein/
cp foo bar
cp foo/ bar/
この末尾のスラッシュはいつ問題になりますか?末尾のスラッシュの意味は何ですか?
承認された回答:
良い例の1つは、ファイルをディレクトリに移動することです。
mv some_file foo
対
mv some_file foo/
foo
の場合 存在しない場合、最初の名前はsome_file
に変更されます foo
へ 、意図したfoo/some_file
ではなく; 2番目は文句を言うでしょう、それはあなたが望むものです。
foo
の場合 存在しますが、ディレクトリではありません。最初のコードはfoo
を破壊する可能性があります。 ファイル;繰り返しますが、2番目は文句を言います。
cp
同様の問題が発生します。
SunOSのいくつかの古いバージョンに取り組んで、私は/.
を追加する習慣を身につけました。 、システムが実際に末尾の/
を無視したため ファイル名;例:/etc/motd/
エラーではなくファイルを参照します。それ以降のバージョンのSunOS/Solarisにはその問題はないようです。