簡體   English   中英

在 Linux 中使用 mv 命令

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM