linux 文件移动的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux 文件移动的问题相关的知识,希望对你有一定的参考价值。
一个月前下载了些文件放在a目录,今天又下载了些放在b目录(和a同级),但有些文件有复重。
a b 目录 下有若干级子目录和文件,且a,b的子目录有些同名。
现我需将b目录下所有的文件移动到a目录中,必且有重复的则覆盖。
我的操作是
$cd b
$mv * ../a
得到的提示是
mv: cannot move `ftp' to a subdirectory of itself, `../a/ftp'
因为ftp目录在执行命令前在a 和 b目录中都存在。
这个问题应该怎样解决呢?
linux文件移到、复制、删除
文件移到:可以使用文件移动命令mv,命令格式:mv [-fiv] source destination
参数说明:
-f:force,强制直接移动而不询问
-i:若目标文件(destination)已经存在,就会询问是否覆盖
-u:若目标文件已经存在,且源文件比较新,才会更新
如将/test1目录下的file1复制到/test3 目录,并将文件名改为file2,可输入以下命令:
mv /test1/file1 /test3/file2
文件复制命令cp
命令格式:cp [-adfilprsu] 源文件(source) 目标文件(destination)
cp [option] source1 source2 source3 ... directory
参数说明:
-a:是指archive的意思,也说是指复制所有的目录
-d:若源文件为连接文件(link file),则复制连接文件属性而非文件本身
-f:强制(force),若有重复或其它疑问时,不会询问用户,而强制复制
-i:若目标文件(destination)已存在,在覆盖时会先询问是否真的操作
-l:建立硬连接(hard link)的连接文件,而非复制文件本身
-p:与文件的属性一起复制,而非使用默认属性
-r:递归复制,用于目录的复制操作
-s:复制成符号连接文件(symbolic link),即“快捷方式”文件
-u:若目标文件比源文件旧,更新目标文件
如将/test1目录下的file1复制到/test3目录,并将文件名改为file2,可输入以下命令:
cp /test1/file1 /test3/file2
文件删除命令rm
命令格式:rm [fir] 文件或目录
参数说明:
-f:强制删除
-i:交互模式,在删除前询问用户是否操作
-r:递归删除,常用在目录的删除
如删除/test目录下的file1文件,可以输入以下命令:
rm -i /test/file1
mv -f * ../a 基本上加了f选项啥都能解决
功能说明:移动或更名现有的文件或目录。
语 法:mv [-bfiuv][--help][--version][-S <附加字尾>][-V <方法>][源文件或目录][目标文件或目录]
补充说明:mv可移动文件或目录,或是更改文件或目录的名称。
参 数:
-b或--backup 若需覆盖文件,则覆盖前先行备份。
-f或--force 若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文 件或目录。
-i或--interactive 覆盖前先行询问用户。
-S<附加字尾>或
--suffix=<附加字尾> 与-b参数一并使用,可指定备份文件的所要附加的字尾。
-u或--update 在移动或更改文件名时,若目标文件已存在,且其文件日期比源文件新,则不覆盖目标文件。
-v或--verbose 执行时显示详细的信息。
-V=<方法>或
--version-control=<方法> 与-b参数一并使用,可指定备份的方法。
--help 显示帮助。
--version 显示版本信息。本回答被提问者采纳 参考技术B 你可以试下 mv -i * ../a
参数:-i 若目的地已有同名档案,则先询问是否覆盖旧档。
关于linux下移动文件的问题
系统的整体框架如下:
一个服务A负责接收前端设备上传的数据,然后处理成xml文件。通过ftp自动上传到另外一个服务上去。
一个服务B负责接收前一个服务上传上来的xml,解析、入库、移动xml文件到正式目录下。
环境:linux、服务器外接了一个存储设备。
现在出现的问题是,A能上传、B能解析、入库。但是移动xml文件的时候,会是不是的出现文件移动不走的问题。
针对于此,我特地写了一个文件监控服务,每个10分钟扫描一下B服务的临时文件夹,发现有残留文件的话,自动的将之写入到正式目录下,完成此操作后,再删除掉源文件。
但是今天出现了一个问题,日志提示文件已经移走了,源文件也被删除了,但是正式目录下却没有文件。我用的是FileInputStream和FileOutputStream来读源文件和写目标文件,按理说几天提示已经移走了,就说明FileOutputStream没有报错,文件写入成功了,要不然日志里肯定会报错的。
不知道这种情况各位高人是否也碰到过?求解。
现在这个问题很奇怪,大部分时间都是正常的。只是偶尔会出现文件移动不走。但是日志里又提示移动成功了,不报错...
追答说明问题出在,【打印日志语句的代码】前面的代码里~
参考技术B 学习中……打扰!以上是关于linux 文件移动的问题的主要内容,如果未能解决你的问题,请参考以下文章