Linux 每日一令】Ep.7:mv —— 乾坤大挪移与“改名部” 🚚
在 Linux 的世界里,如果说 cp 是克隆,那么 mv (move) 就是搬家。有趣的是,Linux 并没有专门的“重命名”命令,改名这件事,也是由 mv 兼职的。
一旦使用 mv,文件会从原路径消失,出现在新的目的地。📦
🧐 它是做什么的?
mv 是 Move(移动)的缩写。它有两个核心使命:移动文件位置、修改文件名称。
🚀 基础用法
1. 搬家(移动文件):
将文件移动到另一个文件夹:
bash
mv photo.jpg ~/Pictures/
请谨慎使用此类代码。
2. 变脸(重命名):
在同一个目录下移动,并给它起个新名字:
bash
mv old_name.txt new_name.txt
请谨慎使用此类代码。
此时,旧文件消失,新文件诞生。 🎭
⚠️ 常见报错与解决方案
如果你试图移动一个文件夹:
bash
mv my_folder/ backup/
请谨慎使用此类代码。
注意: 与 rm 或 cp 不同,mv 移动文件夹时不需要加 -r 参数。它天生就能带着整个文件夹及其子成员一起搬家。如果你发现报错,通常是因为权限不足(Permission denied),这时需要请出 sudo。🛠️
🛠️ 必知参数(实用等级:极高)
1. -n (No-clobber) —— 不准覆盖 🙅♂️
如果目标路径已经有一个同名文件,加上 -n 后,mv 发现重名会直接放弃,保护目标文件不被冲掉。
2. -v (Verbose) —— 进度播报 📢
当你移动大量文件或整个大目录时,加上 -v,终端会详细告诉你谁搬到了哪里:
bash
mv -v *.mp4 /mnt/videos/
请谨慎使用此类代码。
3. -b (Backup) —— 自动备份 📑
这是一个非常贴心的参数。如果发生覆盖,它会先给目标位置的旧文件点个“备份”再覆盖,防止手冲。
💣 进阶骚操作:批量入库 ⚡
想把当前目录下所有的 .log 文件一股脑塞进日志文件夹?
bash
mv *.log /var/log/backup/
请谨慎使用此类代码。
配合通配符 *,mv 就是最高效的整理师。
🛡️ 保命技巧:-i 🛡️
由于 mv 的覆盖是默认发生的且不可逆,强烈建议在处理重要数据时使用交互模式:
bash
mv -i secret.doc ~/public_folder/
请谨慎使用此类代码。
系统会礼貌地询问:overwrite '~/public_folder/secret.doc'? 确认无误后再输入 y。
📝 总结 📋
mv 文件 路径:移动文件。mv 旧名 新名:重命名文件。无需
-r:移动目录直接搬。覆盖风险:目标同名会直接被吃掉,建议常备
-i。
重要提示:自动化脚本中,尽量使用 mv -n 来规避意外覆盖风险! 🛑
下集预告:
Ep.8:touch —— 凭空造物的“指尖魔法” ✨