在服务器上mv目录时采用正则表达式目标文件忘记写出现的错误解决方法

1、问题描述

今天在centos6上用mv操作目录时,“mv 源文件(采用正则表达式格式标记连续三个目录)” ,像这样输完之后,由于疏忽直接空格回车,而没有敲要移动的目标文件,回车之后发现要移动的三个文件,两个消失了,正则表达式最后匹配的那个目录还在。

2、解决思路

(1)怀疑文件被删除,但是当时所在的路径下用户没有删除权限,只是把要移动的文件所有用户和所有组改成了自己所使用的用户

(2)怀疑文件被移动位置,但是具体移动到哪个用户的家目录下或者哪个文件下边不确定,且不确定是否被改名

3、解决方法

因为我移动文件就是为了移到家目录下删除,而mv的时候两个目录消失,第三个通过正则表达式匹配到的文件还在,所以当时直接操作移到家目录下执行了删除操作,想到思路1入手的时候,先是根据目录find整个服务器上的文件,发现没有,所以就一直怀疑是被删除而不是移动位置。

 然后在虚拟机上创建了一个比较大的目录,如果删除的话会直接影响df -h出来的使用百分比,然后通过以下测试,发现在“mv 源目录(采用正则表达式匹配两个以上目录) ”执行之后,匹配到的前两个目录被移动到了第三个目录里边。

[root@localhost ~]# mkdir 2022-07-07_12387
[root@localhost ~]# mkdir 2022-07-06_23798
[root@localhost ~]# ll
total 8
drwxr-xr-x  2 root root    6 Jul  8 13:54 2022-07-06_23798
drwxr-xr-x  2 root root    6 Jul  8 13:54 2022-07-07_12387
drwxr-xr-x  3 root root   32 Jul  8 13:41 2022-07-08_89798
-rw-------. 1 root root 2761 Dec 21  2021 anaconda-ks.cfg
-rw-------. 1 root root 2041 Dec 21  2021 original-ks.cfg
drwxr-xr-x  2 root root   57 Jul  8 11:28 shell
drwxr-xr-x  2 root root  252 Mar 29 09:17 yum
[root@localhost ~]# mv 2022-07-0[6-8]* 
[root@localhost ~]# ll
total 8
drwxr-xr-x  5 root root   80 Jul  8 13:54 2022-07-08_89798
-rw-------. 1 root root 2761 Dec 21  2021 anaconda-ks.cfg
-rw-------. 1 root root 2041 Dec 21  2021 original-ks.cfg
drwxr-xr-x  2 root root   57 Jul  8 11:28 shell
drwxr-xr-x  2 root root  252 Mar 29 09:17 yum
[root@localhost ~]# cd 2022-07-08_89798/
[root@localhost 2022-07-08_89798]# ls
2022-07-06_23798  2022-07-06_9124109  2022-07-07_12387
[root@localhost 2022-07-08_89798]# ll
total 0
drwxr-xr-x 2 root root  6 Jul  8 13:54 2022-07-06_23798
drwxr-xr-x 5 root root 80 Jul  8 11:31 2022-07-06_9124109
drwxr-xr-x 2 root root  6 Jul  8 13:54 2022-07-07_12387

 4、总结mv忘敲目标路径的情况

情况一:“mv 源目录”,源目录是全名,没有正则表达式的匹配,此种情况忘记敲要移动的目标路径会直接报错。 

[root@localhost ~]# mv 2022-07-08_89798/ 
mv: missing destination file operand after ‘2022-07-08_89798/’
Try 'mv --help' for more information.

 情况二:“mv 源文件”,源文件为单个文件没有使用正则表达式匹配多个文件,此种情况忘记敲要移动的目标路径会直接报错。

[root@localhost ~]# mv 111 
mv: missing destination file operand after ‘111’
Try 'mv --help' for more information.

情况三:“mv 源文件”,源文件包括文件和目录格式,是被正则表达式匹配到的连续多个文件或目录,忘记敲目标路劲时,前边匹配到文件夹会被移动到最后一个文件夹里边/前边匹配到的文件会被写到最后一个文件里(覆盖写入会有提示是否确认)。

[root@localhost ~]# mv 1112-11[1-2]*
mv: overwrite ‘1112-112’? ^C

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

亲爱的老少女

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值