--strip-trailing-slashesの例をご覧ください。

--strip-trailing-slashesの例をご覧ください。

--strip-trailing-slashesこのコマンドのオプションが混乱していると思いますmv

公式GNUマニュアルによると、このオプションは「ソース引数にスラッシュがあり、ディレクトリへのシンボリックリンクを指定するのに役立ちます」と述べています。だから私は次を試してみます。

$ mkdir a
$ ln -s a b 
$ mv --strip-trailing-slashes b/ c

私は得てmv: cannot move 'b' to 'c': Not a directory、名前をbに変更したかったc

私はこのオプションを誤って理解しましたか?このオプションの使用方法の例はありますか?

ベストアンサー1

コマンドはmv時々混乱することがあります。

mvコマンドには2つのオプションがあります二つパラメータ:

mv one two

一方、デフォルト設定は次のとおりです。文書 oneディレクトリを入力してくださいtwo

ディレクトリがtwo存在しない場合は、mv one two移動として解釈できます。文書 one到着文書 two(名前の変更).もちろん、ファイルがtwoすでに存在する場合は、そのファイルを上書きするか(または他のオプション)、プロンプトが表示されます。

--strip-trailing-slashこのオプションを使用すると、移動ロックを意味するようです。one 文書になる目次(名前変更ではありません)。

ディレクトリを使用している場合でも、ディレクトリの名前を変更するには、--strip-trailing-slashディレクトリが存在しないと宣言する必要があります。

mv -T one two

例:

$ mkdir one
$ ln -s one two
$ mv two/ yes
mv: cannot move 'two/' to 'yes': Not a directory

$ mv --strip-trailing-slash two/ yes
mv: cannot move 'two' to 'yes': Not a directory

$ mv -T --strip-trailing-slash two/ yes

$ ls -la
total 12
drwxr-xr-x 3 isaac isaac 4096 Jul 01 03:38 .
drwxr-xr-x 6 isaac isaac 4096 Jul 01 03:37 ..
drwxr-xr-x 2 isaac isaac 4096 Jul 01 03:38 one
lrwxrwxrwx 1 isaac isaac    3 Jul 01 03:38 yes -> one

おすすめ記事