【问题标题】:Linux Bash: Move multiple different files into same directoryLinux Bash:将多个不同的文件移动到同一个目录中
【发布时间】:2017-05-07 17:17:50
【问题描述】:

作为一个相当新手的 Linux 用户,我似乎无法找到如何做到这一点。 我正在尝试将一个目录中的所有唯一文件移动到另一个目录中。 示例:

$ ls
vehicle car.txt bicycle.txt airplane.html train.docx (more files)

我想要车内的 car.txt、bike.txt、飞机.html 和 train.docx。

现在我通过单独移动文件来做到这一点:

$ mv car.txt vehicle
$ mv bicycle.txt vehicle
...

我怎样才能在一行中做到这一点?

【问题讨论】:

  • 请询问您的系统管理员或通过Super User 询问。 Stack Overflow 是一个面向专业和爱好者程序员的问答网站。
  • @Cyrus:你把谁和什么混为一谈。 StackOverflow不是“专业和狂热的程序员”网站,它是一个在相关主题中询问有关编程问题的网站,尽管你提到的那种程序员可能有很多代表。
  • @Richard:来源:stackoverflow.com/tour
  • @Cyrus:我也不同意那里的措辞,事实上,任何会排除那些不按照你建议的方式自我认同的人的措辞。 “针对专业和狂热的程序员”的措辞,尤其是与“询问您的系统管理员”相结合的措辞是不屑一顾的。它说“在这里不受欢迎”,而不是“你的问题更适合另一个论坛”。

标签: linux bash mv


【解决方案1】:

你可以的

mv car.txt bicycle.txt vehicle/

(请注意,上面的/ 是不必要的,我包含它只是为了确保vehicle 是一个目录。)

您可以按如下方式进行测试:

cd               #Move to home directory
mkdir temp       #Make a temporary directory
touch a b c d    #Make test (empty) files ('touch' also updates the modification date of an existing file to the current time)
ls               #Verify everything is there
mv a b c d temp/ #Move files into temp
ls               #See? They are gone.
ls temp/         #Oh, there they are!
rm -rf temp/     #DESTROY (Be very, very careful with this command)

【讨论】:

  • 这就是票!谢谢理查德!一步一步学习。
  • 很高兴为您提供帮助,@Kronus。如果这是对您问题的最佳答案,或者您认为您的问题得到了满意的回答,请点击上/下投票箭头附近的大复选标记以接受答案。
【解决方案2】:

移动所有 .txt 文件的简写命令

您可以尝试使用通配符。在下面的代码中,* 将匹配所有名称以.txt.docx 结尾的文件,并将它们移动到车辆文件夹中。

mv *.txt *.docx vehicle/ 

如果要将特定文件移动到目录

mv car.txt bicycle.txt vehicle/

编辑: 如评论中所述,如果您手动移动文件,我建议使用mv -i ...,它会在目标文件已存在的情况下向您发出警告,让您选择不覆盖它。其他“文件销毁器”命令(如 cp 和 rm)也有 -i 选项

【讨论】:

  • 我知道这一点,因此添加了“(更多文件)”。虽然我不够明确。谢谢分享!
  • @kronus 如果您认为我的回答是您问题的最准确解决方案,您可以接受我的回答作为您问题的解决方案。仅将问题的作者记为接受答案。
  • @Kronus:如果您手动移动文件,我建议使用 'mv -i ...' 如果目标文件已经存在,它会警告您,让您选择不覆盖它.其他“文件销毁器”命令(如 cp 和 rm)也有 -i 选项。在您的 .bashrc 文件中为它们设置别名真是太好了。
  • @codeforester 感谢您分享此信息。它对新手并且不知道命令的进出的人很有用:)。
【解决方案3】:

mv linux 中的命令允许我们将多个文件移动到另一个目录中。您所要做的就是写下您要移动的每个文件的名称,并用space 分隔。

以下命令将帮助您:

mv car.txt bicycle.txt airplane.html train.docx vehicle

mv car.txt bicycle.txt airplane.html train.docx vehicle/

它们都可以工作。

【讨论】:

    【解决方案4】:

    您可以使用 mv 命令将多个文件移动到特定目录。 在您的场景中,它可以通过,

    mv car.txt bicycle.txt airplane.html train.docx vehicle/
    

    您必须注意的一点是,最后一个条目是目标,其余所有内容,除了 mv 是源。

    另一种情况是我们的目录中不存在目的地,那么我们必须选择绝对路径代替车辆/。

    注意:绝对路径总是从 / 开始,也就是说我们是从根目录开始遍历的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多