假设我在我的“下载”文件夹中,并且有100个文件我想移动到“我的视频”文件夹,而无需写下所有文件名。
#1 楼
打开终端并执行以下命令:mv -v ~/Downloads/* ~/Videos/
它将所有文件和文件夹从“下载”文件夹移动到“视频”文件夹。
要移动所有文件,但不移动文件夹:
如果您有兴趣将所有文件(而不是文件夹)从“下载”文件夹移动到“视频”文件夹,请使用此命令
find ~/Downloads/ -type f -print0 | xargs -0 mv -t ~/Videos
要仅从“下载”文件夹移动文件,而不从子文件夹移动:
如果要从“下载”文件夹移动所有文件,而不要移动其中的任何文件在“下载”文件夹中的文件夹中,请使用以下命令:
find ~/Downloads/ -maxdepth 1 -type f -print0 | xargs -0 mv -t ~/Videos
此处,
-maxdepth
选项指定应尝试执行的深度查找,1
表示仅在find命令中指定的目录。您也可以尝试使用2
,3
进行测试。 有关详细说明,请参见Ubuntu查找手册页
评论
您可以单独使用mv将整个目录移动到另一个文件夹:mv文件夹〜/ Documents
–JohnMerlino
2014年8月9日在22:42
仅供参考,我相信您的第一个命令(“ mv -v〜/ Downloads / *〜/ Videos /”)不会移动点文件。
– Mark Doliner
2014年12月23日下午6:11
是的,它不会移动.files
–安瓦尔
2014年12月24日18:11
Nb。您的-print0 | xargs -0 mv -t〜/视频可以使用-exec mv -t〜/ Videos \ {\} \ + :-)更有效地完成
– artfulrobot
2015年6月9日在13:46
mv -v〜/ Downloads / *〜/ Videos /不适用于隐藏文件
– FreeLightman
18年3月18日在15:20
#2 楼
mv ~/Downloads/* ~/Videos
它将所有文件(包括子文件夹)移动到您想要的目录
mv
中。如果要cp
(复制)或rm
(删除),则需要-r
(递归)选项以包括子文件夹。 评论
我的mv命令没有-R选项(Ubuntu 14.04)。
– Mark Doliner
2014年12月23日下午6:10
@MarkDoliner,是的,MV不需要递归选项来包含子文件夹。也可以将其用于重命名。
– AliN
2015年1月25日23:26
我不需要*。没有使用星星也发生了同样的事情。
– MycrofD
17 Mar 22 '17 at 13:28
文件夹名称前缀中的〜/并不总是有效(不适用于bash和git atleast)
–Krish Munot
17年6月6日23:00
如果源目录为空,则此解决方案将产生错误。
–皮埃尔·蒂博(Pierre Thibault)
18年7月26日在13:04
#3 楼
对于简单的情况:mv ~/Downloads/* ~/Videos
如果您也要移动点(隐藏)文件,请设置dotglob shell选项。
shopt -s dotglob
mv ~/Downloads/* ~/Videos
这将保留shell选项集。
要一次使用dotglob,请在子shell中运行命令:
(shopt -s dotglob; mv ~/Downloads/* ~/Videos)
评论
给自己的说明:最后一个选项(shopt -s dotglob; mv〜/ Downloads / *〜/ Videos)仅移动(剪切)内容(包括隐藏文件)。在这种情况下,原始文件夹和目标文件夹都必须已经存在。最后,原始目录变为空。
– Pathros
19-4-26在3:25
这应该是公认的答案
– Megar
19年5月10日在9:26
#4 楼
可以通过使用rsync
来实现,例如:rsync -vau --remove-source-files src/ dst/
其中:
-v
,--verbose
:增加详细程度。-a
,--archive
:存档模式;等于-rlptgoD
(否-H
,-A
,-X
)。-u
,--update
:跳过接收方上较新的文件。--remove-source-files
这告诉rsync
从发送方删除文件(意味着非目录)。 如果您具有root特权,请在
sudo
前面加上前缀以覆盖潜在的权限问题。评论
警告!如上所述的--delete-after选项无法按您期望的方式工作。成功复制后,它不会删除源文件...它会删除目的地中的所有剩余文件/其他文件。 (如@kenorb所指出的...但是我没有足够仔细地阅读!DOH)
–杰伊·马尔姆(Jay Marm)
18年8月10日在4:06
#5 楼
要将包含或不包含内容的目录移动到新名称,就像使用mv
命令重命名文件的方式一样:mv -T dir1 dir2
其中:
-T
将目标视为普通文件dir1
是目录的原始名称dir2
是目录的新名称目录NB:
dir2
不必存在。作为一个菜鸟,我希望这可以节省很多时间,在此之前,我会创建一个包含以下内容的目录新名称,然后将目录的内容移动到之前创建的目录。
用于子目录
当许多文件已保存在的子文件夹中时,此命令很有用目标目录,即
Downloads/mp4
。在此示例中,运行mv -T Downloads/mp4 Videos
将导致删除mp4
子文件夹,并将其中包含的所有文件移动到“视频”文件夹。评论
+1是因为经过测试,可以在Xubuntu 14.04中正常工作。我在此答案中添加了一个示例,以显示此命令将导致删除dir1。除了这种预防措施,该答案还指出了一些日常使用的好处。
–user37165
2015年12月9日在8:45
“将包含或不包含内容的目录移动到新名称”如何将目录...移动到名称?这是没有意义的。 “ -T将目标视为普通文件”目标如何成为文件?你是指目录吗?
–莫妮卡·赫德内克(Monica Heddneck)
17年4月29日在23:55
就像将文件重命名为新名称一样,就像使用mv fileA fileB一样,但是在这种情况下,-T标志将目标/目录视为文件并重命名。
– Feyisayo Sonubi
17年4月30日在22:10
为我工作:)
–Naveen Kumar V
19年3月12日在20:14
这应该是公认的答案。
– hmcclungiii
20 Mar 15 '20在8:44
#6 楼
使用mv -v ~/rootfolder/branch/* ~/rootfolder
我希望这会有所帮助。因为我同样痛苦,浪费了很多时间来纠正错误。
#7 楼
mv source_path/* destination_path/
在这里,您必须在源路径后提出斜杠和
*
,以便它将文件包含在source_path而不是完整的源目录中。示例:
mv /home/username/test/* /home/username/test2/
以上命令将源目录中的所有文件(除非它们被隐藏)移动到目标目录。
#8 楼
转到命令行,并使用
cd folderNamehere
进入要将其移至的目录。键入
pwd
。 然后将要打印的目录也打印出来。
然后使用
cd folderNamehere
转到所有文件所在的目录现在要移动所有文件,键入
mv *.* typeAnswerFromStep2here
会将所有文件从该目录移动到另一个目录。
评论
没有任何扩展名的文件将不匹配。例如,如果文件夹中包含以下文件:foo.txt,bar。和酒吧都酒吧。和酒吧将不会被移动。使用*代替*。*就可以了。但是在两种情况下,都不会移动诸如.foobar之类的隐藏文件。
–丹
2013年9月12日14:20
#9 楼
尝试find ~/Desktop -type f -iname "*.mp4" -exec mv {} ~/Videos \;
-type
使用-type参数,您可以指定类型file。在此语句上是平均值文件。如果使用-d这意味着目录。
-iname:
查找文件的最常见,最明显的方法是使用其-name参数。如果不确定其是否区分大小写,则可以使用-iname参数
mv {}
,最后指定目标目录,然后使用mv {}参数
将文件移动到该目录
#10 楼
只是想再添加一个答案。如果您已经在要移出文件的文件夹中,则可以执行以下操作:mv * ~/Videos
评论
该答案是该现有答案的重复:askubuntu.com/a/387727
–卡雷尔
20-2-29在4:03
@karel该答案旨在涵盖以下情况:“如果您已经在文件夹中,则要移出文件”,因此显示的命令与此答案中的命令不同。不管有人认为提供一个答案来解决此问题是否有用,该答案并非该答案的重复。
– Eliah Kagan
20-2-29在14:26
在耶利米书13:23中说豹子不能改变它的位置。
–卡雷尔
20 Mar 1 '20 at 0:38
感谢您的备份@Eliah Kagan
–约翰·索利(John Solly)
20 Mar 1 '20 at 5:30
#11 楼
此命令应执行以下操作:sudo find ~/Downloads -mindepth 1 -prune -exec mv '{}' ~/Videos \;
它移动所有可见和隐藏文件,并且即使源目录为空也不会引发不必要的错误。
评论
您在询问有关移动文件的问题,但是有人向您展示了如何不仅移动文件而且还移动文件夹。可以吗?@HontváriLevente一年前给出了一个答案,它似乎是迄今为止最好,最简洁,最简单的方法,并且可以正常工作。那么,它是如何获得3票的(与目前顶部的262票相比)?