[英]Use of mv comand in Linux
我有一堆具有不同擴展名的文件:
.png .fa .sh
它們位於名為“文件”的目錄中。
我想移動每一個
.png to images directory
.fa to fasta directory
.sh to upper directory Golden_Asian.git/
移動 .png 和 .fa 文件效果很好,但是對於.sh
文件,當我這樣做時
mv files/*.sh Golden_Asian.git
它只是使鍵入 POSIX shell 腳本,ASCII 文本可執行,名稱
Golden_Asian.git
原始文件的名稱是
script.sh
所以我應該得到類似的結果
Golden_Asian.git/script.sh
我做錯了什么還是正確的結果?
“files”目錄中的原始文件已經消失,所以我很確定文件已轉移到正確的目錄,但不明白為什么更改了名稱。
如果只有一個.sh
文件,並且當前目錄中沒有名為Golden_Asian.git
的目錄,則這是正確的結果。 您執行了mv files/script.sh Golden_Asian.git
,因此它將文件從原始名稱移動到您指定的名稱。 如果當前目錄中已經有一個文件Golden_Asian.git
,它將被新文件破壞(替換)。 如果當前目錄中有一個名為Golden_Asian.git
的文件夾,那么在命令之后您將有一個文件Golden_Asian.git/script.sh
。 這不是你得到的,所以當你執行命令時,推斷你在當前目錄中沒有名為Golden_Asian.git
的文件夾是合法的。
如果您指定:
mv *.sh Golden_Asian.git/
那么它就需要該目錄存在,結果將是一個文件Golden_Asian.git/script.sh
。 如果您有多個.sh
文件,那么您需要Golden_Asian.git
目錄存在。 你說的是“上層目錄”; 你打算寫:
mv *.sh ../Golden_Asian.git
如果父目錄中有一個名為Golden_Asian.git
的目錄,那么腳本將被移到那里。 如果沒有目錄,則該文件將被上移一級並重命名。 同樣,尾隨/
可以防止混淆。
請注意,將文件移動到 GIT 目錄(尤其是裸存儲庫)可能不是一個好主意。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.