Linux 重命名一个'';Ubuntu中的文件
我使用rsync下载了一个文件,并意外地将其目标设置为“.”(我认为它是要下载到的目录)。因此,它下载了multi-gig文件,但将其命名为“.”Linux 重命名一个'';Ubuntu中的文件,linux,bash,ubuntu,Linux,Bash,Ubuntu,我使用rsync下载了一个文件,并意外地将其目标设置为“.”(我认为它是要下载到的目录)。因此,它下载了multi-gig文件,但将其命名为“.” drwxr-sr-x 2 root apache 4096 May 7 00:42 . drwxr-sr-x 7 me apache 4096 May 7 00:25 .. -rw-r--r-- 1 1006 1006 2008805206 Apr 5 04:49 . -rw------- 1 root
drwxr-sr-x 2 root apache 4096 May 7 00:42 .
drwxr-sr-x 7 me apache 4096 May 7 00:25 ..
-rw-r--r-- 1 1006 1006 2008805206 Apr 5 04:49 .
-rw------- 1 root apache 1675 May 7 00:25 somefile
-rw------- 1 root apache 392 May 7 00:26 anotherfile.txt
如何将2GB+'.'文件重命名为有意义的文件。我所做的一切似乎都不管用(我试过mv、重命名等),但他们都说
Device or resource busy
您可以使用此mv:
mv ./.[[:blank:]]* myfile
或者尝试以下查找:
find . -type f -maxdepth 1 -name '. *' -exec mv '{}' myfile \;
是的,这是一个超级用户的问题。但我在别处找到了解决办法,所以感谢大家的努力。我们可以通过以下方式实现这一点:
find-键入f |(让i=0;读取f时;执行mv“$f”$f“-$i;让i=$i+1;完成)
这不是最优雅的方式,可能也很不安全(因为没有撤销) 从它所在的目录中键入它
mv ./. newfile
更适合att superuser或类似版本,但一种方法是使用inode编号,使用
ls-i
或stat
获取它,然后可以使用find-inode-exec mv…移动/重命名它。
此问题与堆栈溢出无关。它更适合于。LOL你能写出准确的命令吗?您是如何做到的?它是ssh-i/path/to/pub/keyusername@server.com:folder/file.ext.说明:mv:target`myfile'不是目录
,对于第二个目录,执行良好,但不重命名。我必须删除-maxdepth 1
(目录中没有多少内容)您能告诉我:查找的输出吗-键入f-maxdepth 1-name'.*'-exec printf“\n”{}\
command您发布的答案将移动该目录中的每个文件,而不仅仅是这个文件。不起作用。