找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 94|回复: 17

询问一条LINUX命令,是关于文件/文件夹移动的

[复制链接]

43

主题

280

回帖

701

积分

高级会员

积分
701
发表于 2015-10-19 09:57:03 | 显示全部楼层 |阅读模式
如题,我想把某目录下所有的HTML文件(包含子目录中的HTML文件),全部移动到另一个目录上,应该如何实施这条命令?CENTOS系统
回复

使用道具 举报

5

主题

118

回帖

253

积分

中级会员

积分
253
发表于 2015-10-19 10:02:40 | 显示全部楼层
ref to
[ol]
  • 1. http://unix.stackexchange.com/questions/1555/how-can-i-move-files-by-type-recursively-from-a-directory-and-its-sub-directorie
  • 2. https://bbs.archlinux.org/viewtopic.php?id=109581[/ol]复制代码
  • 回复

    使用道具 举报

    555

    主题

    2284

    回帖

    6245

    积分

    论坛元老

    积分
    6245
    发表于 2015-10-19 10:05:38 | 显示全部楼层
    mv /to/old/path/* /to/new/path 好像是这样
    回复

    使用道具 举报

    8

    主题

    368

    回帖

    768

    积分

    高级会员

    积分
    768
    发表于 2015-10-19 10:07:26 | 显示全部楼层
    关键你要不要保留原始目录结构。如果不要,那比较简单
    [ol]
  • find /your/source/path -name "*.html" -type f | while read line; do mv "$line" /your/target/path/; done[/ol]复制代码
  • 回复

    使用道具 举报

    43

    主题

    280

    回帖

    701

    积分

    高级会员

    积分
    701
     楼主| 发表于 2015-10-19 10:08:10 | 显示全部楼层

    HXS 发表于 2015-10-19 10:05

    mv /to/old/path/* /to/new/path 好像是这样

    这个命令不包含子文件夹的东西,查过MV的HELP,列出来的语法没有包含子目录。晕倒
    回复

    使用道具 举报

    143

    主题

    1万

    回帖

    2万

    积分

    论坛元老

    积分
    20657
    发表于 2015-10-19 10:05:00 | 显示全部楼层
    因为移动可能因为各种原因,或者,命令行出错之类,总之,人为操作总会出现错误。
    我一般都是用 cp -r 复制,确认没问题后,再行删除原件。
    或者,干脆打个包,移过去再解压。
    回复

    使用道具 举报

    555

    主题

    2284

    回帖

    6245

    积分

    论坛元老

    积分
    6245
    发表于 2015-10-19 10:09:19 | 显示全部楼层

    ultramancliub 发表于 2015-10-19 10:08

    这个命令不包含子文件夹的东西,查过MV的HELP,列出来的语法没有包含子目录。晕倒 ...

    你确定?
    我wget wordpress包安装WP都是这么移动的
    回复

    使用道具 举报

    43

    主题

    280

    回帖

    701

    积分

    高级会员

    积分
    701
     楼主| 发表于 2015-10-19 10:09:45 | 显示全部楼层

    HXS 发表于 2015-10-19 10:09

    你确定?
    我wget wordpress包安装WP都是这么移动的

    是这样的,我不需要保留子目录结构,仅仅是子目录中的HTML文件。我是这个意思,可能刚才没有说清楚。
    MV命令确实可以完整的保留子目录结构移动。
    回复

    使用道具 举报

    8

    主题

    368

    回帖

    768

    积分

    高级会员

    积分
    768
    发表于 2015-10-19 10:08:00 | 显示全部楼层
    要保留目录结构就用,rsync
    回复

    使用道具 举报

    487

    主题

    6150

    回帖

    1万

    积分

    论坛元老

    积分
    13821
    发表于 2015-10-19 10:12:36 | 显示全部楼层

    小夜 发表于 2015-10-19 10:09

    因为移动可能因为各种原因,或者,命令行出错之类,总之,人为操作总会出现错误。
    我一般都是用 cp -r 复制 ...

    明白了,谢谢小夜提醒 本帖最后由 62900015 于 2015-10-19 10:37 编辑

    find输出到文件然后结合tar打包过去解压就行了,不用什么mv

    [ol]
  • find /目录 -iname *.html >> /xxx/xxx/find.txt [/ol]复制代码//注意如果需要匹配大小写使用-name参数,iname是不匹配大小写。

    [ol]
  • tar -zcvf xxxx.tar.gz $(cat /xxx/xxx/find.txt)[/ol]复制代码//tar根据find的查找结果自动打包。

    我的错,我这只完成了打包部分,但是发现tar的-C参数不是这么用的,简单点的方法,用上面的命令打包以后拖到windows,然后ctrl+f *.html 然后ctrl+a 剪贴出去打包就好了

  • 回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|Discuz! X

    GMT+8, 2025-1-31 14:48 , Processed in 0.022276 second(s), 4 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表