mv 命令批量移动文件夹

本文介绍了如何利用Linux下的mv命令结合通配符批量移动包含特定字符串的文件夹,简化重复操作并提高效率。

这是第一次使用markdown编辑器写blog

虽然不是很熟练,但是用起来还是感觉不错。

MV命令

mv 源 目标

ls如下,要将包含day的文件夹移动到c_basis,一个一个的mv就太low了

van@ubuntu:~/itcast$ ls
10day0401  12day0403  3day0321  5day0323         6day0324  8day0327  c_basis   contents.txt  vitrain
11day0402  13day0405  4day0320  6.1day0325_Review  7day0326  9day0329  c_higher myprojects

如下:mv day c_basis 匹配任意包含day的文件夹

van@ubuntu:~/itcast$ mv *day*  c_basis
10day0401  12day0403  3day0321  5day0323         6day0324  8day0327  c_basis   contents.txt  vitrain
11day0402  13day0405  4day0320  6.1day0325_Review  7day0326  9day0329  c_higher myprojects

回顾一下还有哪些神器可以用的:

字符含义实例
*匹配 0 或多个字符a*b a与b之间可以有任意长度的任意字符, 也可以一个也没有, 如aabcb, axyzb, a012b, ab。
?匹配任意一个字符a?b a与b之间必须也只能有一个字符, 可以是任意字符, 如aab, abb, acb, a0b。
[list]匹配 list 中的任意单一字符a[xyz]b a与b之间必须也只能有一个字符, 但只能是 x 或 y 或 z, 如: axb, ayb, azb。
[!list]匹配 除list 中的任意单一字符a[!0-9]b a与b之间必须也只能有一个字符, 但不能是阿拉伯数字, 如axb, aab, a-b。
[c1-c2]匹配 c1-c2 中的任意单一字符 如:[0-9] [a-z]a[0-9]b 0与9之间必须也只能有一个字符 如a0b, a1b… a9b。
{string1,string2,…}匹配 sring1 或 string2 (或更多)其一字符串a{abc,xyz,123}b a与b之间只能是abc或xyz或123这三个字符串之一。

注意:通配符与正则表达式使用场合不一样,不可以混淆

链接中有更详细的介绍

http://www.cnblogs.com/chengmo/archive/2010/10/17/1853344.html

在Linux系统中,可使用`mv`命令或结合`find`命令批量移动文件夹及其内部文件。 ### 使用`mv`命令 `mv`命令可直接将一个或多个文件夹及其内部文件从源目录移动到目标目录。基本命令格式如下: ```bash mv <source_directory> <destination_directory> ``` - `<source_directory>`:源目录,即要移动文件夹所在的目录。 - `<destination_directory>`:目标目录,即要将文件夹移动到的目录。 例如,要将`/home/user/source_folder`移动到`/home/user/destination_folder`,可使用以下命令: ```bash mv /home/user/source_folder /home/user/destination_folder ``` 若要同时移动多个文件夹,可在命令中列出多个源文件夹,以空格分隔。例如: ```bash mv /home/user/folder1 /home/user/folder2 /home/user/destination_folder ``` ### 使用`find`和`mv`命令结合 若要根据特定条件筛选文件夹移动,可结合`find`和`mv`命令。基本命令格式如下: ```bash find <source_directory> -type d -name "<folder_pattern>" -exec mv {} <destination_directory> \; ``` - `<source_directory>`:源目录,即要查找文件夹的目录。 - `<folder_pattern>`:要移动文件夹的通配符模式,例如`*_backup`。 - `<destination_directory>`:目标目录,即要将文件夹移动到的目录。 例如,要将`/home/user`目录下所有以`_backup`结尾的文件夹移动到`/home/user/backup_storage`目录,可使用以下命令: ```bash find /home/user -type d -name "*_backup" -exec mv {} /home/user/backup_storage \; ``` 需要注意,若目标目录中已有同名文件夹,`mv`命令会根据具体情况进行覆盖或合并操作。若要避免覆盖,可在`mv`命令中使用`-i`选项,这将提示是否要覆盖同名文件夹
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值