Symlink
試圖找到 –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
.我誤解了這個選項嗎?是否有任何範例說明如何使用此選項?
該命令
mv
有時可能會變得混亂。有兩個
mv
參數的命令有兩種選擇: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