Linux系统下如何将多个文件分别移动至对应指定子目录
目录移动操作实现方法
首先结合给出的目录结构明确路径关系:当前结构下dirA、dirB各自下属都有一个未命名的subdir子目录,根据需求描述的移动目标差异,分两种实际场景执行操作:
场景1:目标子目录是dirA、dirB各自下属的现有subdir
也就是需求里提到的subdir1对应dirA下的subdir、subdir2对应dirB下的subdir,操作时先通过cd命令进入顶层的dir目录,执行两条mv命令即可:
- 移动dirA下的file1到对应目标:
mv dirA/file1 dirA/subdir/ - 移动dirB下的file2到对应目标:
mv dirB/file2 dirB/subdir/
如果担心目标目录下已有同名文件被直接覆盖,可以给mv添加-i参数,执行命令时遇到重名场景会弹出交互提示,确认后才会完成覆盖,示例:mv -i dirA/file1 dirA/subdir/
场景2:目标subdir1、subdir2是顶层dir目录下的独立新建目录
如果现有结构里没有对应编号的两个子目录,需要先创建目录再执行移动操作,同样在顶层dir目录下执行:
- 先创建两个目标目录:
mkdir subdir1 subdir2 - 执行移动操作:
- 移动file1:
mv dirA/file1 subdir1/ - 移动file2:
mv dirB/file2 subdir2/
- 移动file1:
注意:如果当前工作目录不在顶层
dir路径下,所有命令需要补全dir作为路径前缀,比如在和dir同级的路径下操作,命令就要写成mv dir/dirA/file1 dir/dirA/subdir/,避免因为路径不对报“目标不存在”的错误。
内容的提问来源于stack exchange,提问作者083N
相关产品推荐
相关产品推荐

