LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 740|回复: 6

mv可以给文件更名吗

[复制链接]
发表于 2009-1-21 16:09:25 | 显示全部楼层 |阅读模式
HOWTO上一句话,请大家看看:
there is no DOS-like RENAME; that is, mv *.xxx *.yyy won't work. A REN-like command is available on ftp://metalab.unc.edu/pub/Linux/utils/file;

谢谢
发表于 2009-1-21 16:13:44 | 显示全部楼层
mv or dos-like move

在理论上根本不是rename 的意义
但物理上,在部分分区结构上,同一个分区的移动只需要修改它的目录结构或分区表,而不是移动(读出内容写到新位置),比如在fat ntfs ext

换句话说,同一个目录的移动跟rename 在这些分区上物理操作是一样的
回复 支持 反对

使用道具 举报

发表于 2009-1-21 16:30:55 | 显示全部楼层
这句话的主要意思是 mv 命令不像 DOS 下的 REN,支持通配符,尤记得我以前在用 DOS 的时候常用这个,比如,ren *.c *.cpp,甚至后期一点用 Windows 还打开一个 cmd 就為了这个功能
而 linux 下 mv 是外部命令,不直接支持通配符,通配符的展开是 shell 完成的
完成这个功能就必须加点 shell script 的技巧
GUI 下可以用 XFCE (Thunar)里带的 bulk renamer,支持正则匹配
回复 支持 反对

使用道具 举报

发表于 2009-1-21 16:41:59 | 显示全部楼层
单个文件更名可以用mv,但是有*的则不行.
你例子里的功能可以用  rename .xxx .yyy *.xxx 实现
回复 支持 反对

使用道具 举报

发表于 2009-1-21 19:31:45 | 显示全部楼层
Post by waterloo2005;1940379
HOWTO上一句话,请大家看看:
there is no DOS-like RENAME; that is, mv *.xxx *.yyy won't work. A REN-like command is available on ftp://metalab.unc.edu/pub/Linux/utils/file;
谢谢


这里就是说 mv 不支持通配符而已。而DOS rename 支持通配符。

从含义来讲 mv 跟 dos rename 是一样的。
回复 支持 反对

使用道具 举报

发表于 2009-1-21 21:38:18 | 显示全部楼层
一直用mv改名,没怎么用过其他的。
回复 支持 反对

使用道具 举报

发表于 2009-1-21 22:30:54 | 显示全部楼层
原来是 why won't work
我还以为是 在说区别。。当时就扫了一下
linux也有 raname 命令。。从来没用过。。脸红脸红。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表