--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