1-移动单个文件夹(类似于自动剪切和粘贴)
看看以下的例子:
(base) schen744@mgmt-4:~/code/sparseocc/data/nuScenes-Occupancy$ ls
nuScenes-Occupancy-v0.1 nuScenes-Occupancy-v0.1.7z
(base) schen744@mgmt-4:~/code/sparseocc/data/nuScenes-Occupancy$ pwd
/hpc2hdd/home/schen744/code/sparseocc/data/nuScenes-Occupancy
(base) schen744@mgmt-4:~/code/sparseocc/data/nuScenes-Occupancy$ mv /hpc2hdd/home/schen744/code/sparseocc/data/nuScenes-Occupancy/nuScenes-Occupancy-v0.1 /hpc2hdd/home/schen744/code/sparseocc/data/nuScenes-Occupancy-v0.1
(base) schen744@mgmt-4:~/code/sparseocc/data/nuScenes-Occupancy$ ls
nuScenes-Occupancy-v0.1.7z
(base) schen744@mgmt-4:~/code/sparseocc/data/nuScenes-Occupancy$ cd ..
(base) schen744@mgmt-4:~/code/sparseocc/data$ ls
depth_gt nuscenes nuScenes-Occupancy nuScenes-Occupancy-v0.1
(base) schen744@mgmt-4:~/code/sparseocc/data$
我们想把“nuScenes-Occupancy-v0.1”文件夹从“nuScenes-Occupancy”文件夹移出,即上移一层,我使用的是这个命令:
mv <需移动的目录所在地址> <目标目录所在地址>
例子中的具体命令是:
mv /hpc2hdd/home/schen744/code/sparseocc/data/nuScenes-Occupancy/nuScenes-Occupancy-v0.1 /hpc2hdd/home/schen744/code/sparseocc/data/nuScenes-Occupancy-v0.1
如何获得这么长一串的地址呢?可使用pwd命令:
pwd
如上面的例子,成功解决!
重命名解决目录重名:
- 如果源是一个文件,那么目标目录(父目录)中如果已经有一个同名的文件,那么它会被覆盖。如果不存在,则直接移动过去
- 在默认情况下,如果目标目录下已经存在一个同名项目(文件或目录),那么`mv`命令会尝试覆盖它,但也可能出现文件夹结构 混乱 / 嵌套 的情况
- 因此可以使用重命名方法:
# 安全移动目录的方法(避免嵌套) mv /path/to/source /path/to/temp_name # 先重命名 mv /path/to/temp_name /path/to/target # 再移动到目标位置
2-批量移动目录(文件夹)下的内容
- 所有内容:
mv <目录地址1/*> <目录地址2>
,或者直接使用mv <目录地址1/> <目录地址2>
,便可移动目录地址1
下的所有内容 - 所有带.txt后缀的内容:
mv <目录地址1/*.txt> <目录地址2>
,即可移走所有的TXT文档