在 Linux 中使用 mv 命令
Use of mv comand in Linux
我有一堆文件
有不同的扩展名:
.png .fa .sh
它们位于名为 'files' 的目录中。
我想移动每个
.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
存在。你说"upper directory";你打算写:
mv *.sh ../Golden_Asian.git
如果父目录中有一个名为 Golden_Asian.git
的目录,那么脚本就会被移到那里。如果没有目录,该文件将被上移一个级别并重命名。同样,尾随 /
可以避免混淆。
请注意,将文件移动到 GIT 目录(尤其是 bare repository)可能不是一个好主意。
我有一堆文件 有不同的扩展名:
.png .fa .sh
它们位于名为 'files' 的目录中。
我想移动每个
.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
存在。你说"upper directory";你打算写:
mv *.sh ../Golden_Asian.git
如果父目录中有一个名为 Golden_Asian.git
的目录,那么脚本就会被移到那里。如果没有目录,该文件将被上移一个级别并重命名。同样,尾随 /
可以避免混淆。
请注意,将文件移动到 GIT 目录(尤其是 bare repository)可能不是一个好主意。