ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Linux使用经验——mv命令

Linux使用经验——mv命令 mv是 Linux/Unix 系统中核心的文件/目录操作命令全称move核心功能是移动或重命名文件/目录本质都是修改文件系统的目录项无需复制文件数据除非跨文件系统效率极高。一、基本语法mv[选项]源文件/目录 目标文件/目录二、核心用法1. 重命名文件/目录同一目录下如果目标位置和源位置是同一目录且目标名称不存在则mv表现为「重命名」。# 重命名文件将 file.txt 改为 newfile.txtmvfile.txt newfile.txt# 重命名目录将 dir1 改为 dir2mvdir1 dir22. 移动文件/目录不同目录如果目标是已存在的目录则mv会将源文件/目录移动到该目录下保留原名称。# 移动单个文件到 /tmp 目录mvfile.txt /tmp# 移动多个文件到 ~/docs 目录mvfile1.txt file2.jpg ~/docs# 移动目录 dir1 到 /opt 目录mvdir1 /opt3. 移动并同时重命名将文件/目录移动到目标目录的同时修改名称# 将 file.txt 移动到 /tmp 并改名为 test.txtmvfile.txt /tmp/test.txt# 将 dir1 移动到 /opt 并改名为 newdirmvdir1 /opt/newdir三、常用选项选项作用示例-iinteractive交互式操作目标已存在时提示是否覆盖mv -i file.txt /tmp-fforce强制覆盖目标已存在时直接覆盖无提示mv -f file.txt /tmp-nno-clobber不覆盖目标已存在时跳过优先于-i/-fmv -n file.txt /tmp-uupdate仅当源文件比目标新或目标不存在时才移动/覆盖mv -u new_file.txt /tmp-vverbose显示详细操作过程便于排查mv -v dir1 /opt-bbackup覆盖前为目标文件创建备份后缀 ~mv -b file.txt /tmp四、实用示例1. 批量移动同类型文件# 将当前目录下所有 .log 文件移动到 /var/log/myapp 目录mv*.log /var/log/myapp2. 避免误覆盖优先用-i或-n# 交互式移动覆盖前确认推荐日常使用mv-iimportant.txt /backup# 绝对不覆盖防止误删目标文件mv-nimportant.txt /backup3. 移动隐藏文件以 . 开头的文件# 移动当前目录下所有隐藏文件到 ~/hidden 目录mv.* ~/hidden# 注意. 和 .. 会被匹配可过滤mv .[!.]* ~/hidden4. 跨文件系统移动如果源和目标在不同文件系统如从/dev/sda1到/dev/sdb1mv会先复制文件再删除源文件等同于cp rm此时效率较低可先用rsync再删源文件。五、注意事项权限要求执行mv需要源文件/目录的读/写权限以及源目录、目标目录的执行权限x覆盖风险默认情况下无-i/-n目标文件存在会直接覆盖无提示生产环境建议加-i目录移动移动目录时无需加-r区别于cpmv天然支持目录操作符号链接mv移动符号链接时仅修改链接本身不会影响链接指向的文件。六、常见问题排查报错Permission denied检查源/目标目录的权限或用sudo提升权限报错No such file or directory确认源路径/目标路径拼写正确目标目录需存在除非是重命名移动大文件后空间未释放可能跨文件系统移动源文件未删除需手动检查并删除。
返回列表