Linux命令mv
mv
: mv默认覆盖同名文件,如果有同名文件,在mv时相当于删除原来的文件!
可使用--suffix
参数,定义当目标文件名称相同时,在原来的文件名后加后缀。
mv --suffix <suffix> <source_file> <target_file>
例如:
# 源文件路径:
ls ${source_dir}/your_source_file.txt
# 移动到目标路径:
ls ${target_dir}/your_file.txt # exist file
# 但在目录 ${target_dir}下有同名文件your_file.txt
# 直接移动,则覆盖原来的文件:your_file.txt
mv ${source_dir}/your_source_file.txt ${target_dir}/your_file.txt
# 若想保留原来的文件可使用--suffix参数,将原来同名文件加后缀
mv --suffix .your_suf ${source_dir}/your_source_file.txt ${target_dir}/your_file.txt
# 这时,原来的your_file.txt则变为: ${target_dir}/your_file.txt.your_suf, 目标文件名不变。
注意
:最好不要定义后缀名为’.bak’之类常用的,因为可能已经有.bak之类的备份文件,这样就是把原来的.bak文件覆盖了。
定好后缀名,在~/.bashrc
文件中使用alias
将mv --suffix <your_suffix>
作为默认的mv
。加入~/.bashrc文件:
alias mv='mv --suffix .xxxmv_bk'
cp
同理:
alias cp='cp --suffix .xxxcp_bk'