AIX 下没有类似rename的命令,对于文件的重命名的实现,用mv aa.dat aa.txt
aa.dat oldname
aa.txt newname
--------------------------------------------------------------------------------------------------------------------
要将文件和目录从一个目录移动到另一个目录,或重命名一个文件或目录,使用 mv 命令。
如果将一个文件或目录移动到新的目录而不指定新的名字,则其保留原来的名字。
注意: 如果不指定 -i 标志,mv 命令可能会覆盖许多已存在的文件。-i 标志会在覆盖文件之前提示确认。而 -f 标志则不会提示确认。如果一起指定了 -f 和 -i 两个标志,则后一个指定的标志优先。
以下是如何使用 mv 命令的示例:
1.要将文件移动到另一个目录并给它一个新名字,请输入:
# mv intro manual/chap1
按下 Enter 键。
该命令将 intro 文件移动到 manual/chap1 目录。名字 intro 从当前目录被除去,同样的文件在 manual 目录中以 chap1 的名字出现。
2.要将文件移动到另一个目录,且不改变名字,请输入:
# mv chap3 manual
按下 Enter 键。
该命令将 chap3 移动到 manual/chap3。
用 mv 命令重命名文件
可以使用 mv 命令改变文件的名字而不将其移动到另一目录。
3.要重命名文件,请输入:
# mv appendix apndx.a
按下 Enter 键。
该命令将 appendix 文件重命名为 apndx.a。如果名为 apndx.a 的文件已存在,则旧的内容被 appendix 文件的内容替换。
-------------------------------------------
About mv
用途
移动文件。
语法
将文件移动到维护原始文件名的目录
mv [ -E{force|ignore|warn} ] [ -i | -f ] SourceFileTargetFile
移动并重命名文件或目录
mv -E{force|ignore|warn} ] [ -i | -f ] SourceFile... TargetDirectory
描述
提示:mv 命令可以覆盖许多现有文件,除非指定 -i 标志。-i 标志提示您在覆盖文件前先确认。如果 -f 和 -i 标志进行组合指定,则最后指定的标志占优。
mv 命令把文件和目录从一个目录移动到另一个,或者重命名文件或目录。如果把文件或目录移动到一个新的目录,保留基本文件名。当移动文件时,与其它文件的所有链接都保持不动,除非当您将其移动到不同的文件系统时。当把目录移动到现有目录时,目录及其内容添加到现有目录下。
当使用 mv 命令来重命名文件或目录时,TargetDirectory 参数可以指定新的文件名或新的目录路径名。
如果移动文件将覆盖没有写权限设置的现有文件,并且如果标准输入是工作站,mv 命令显示文件权限代码并且从标准输入中读取一行。如果该行以 y 或者语言环境中 y 的等价字符开始,mv 命令就移动文件。如果响应是除了 y 以外的其它任何字母,mv 命令对该文件不做任何事而是继续下一个指定的文件。如果 TargetFile 与 ACL 关联,则显示的文件许可权代码可能无法完全表示访问许可权。当 SourceFile 的父目录是可写的并且有粘性位设置,以下的一个或多个条件为真:
- 用户必须拥有文件。
- 用户必须拥有目录。
- 用户必须是特权用户。
- 文件对用户必须是可写的。
可以使用 mv 命令在相同的文件系统或文件系统之间移动文件。不管是在一个文件系统中工作,还是跨文件系统工作,mv 命令把文件拷贝到目标处并删除原文件。mv 命令在新文件中保存最新数据修改的时间、最新访问时间、用户标识、组标识和原始文件的文件方式。对于符号链路,mv 命令仅保存该链路本身的所有者和组。
如果不能保存所有者和组标识,mv 命令清除目标中的 S_ISUID 和 S_ISGID 位。如果不能清除这些位,即使退出代码无效,mv 命令把诊断消息打印到标准错误中。
如果命令过早地终止,mv 命令或者修改源文件或者修改目的路径。
注:mv 命令支持把 --(短划线,短划线)参数当作定界符,表示标志的结束。
标志
提示:mv 命令可以覆盖许多现有文件,除非指定了 -i 标志。-i 标志提示您在覆盖文件前先确认。如果 -f 和 -i 标志进行组合指定,则最后指定的标志占优。
-E | -E 选项需要下列参数之一。如果省略 -E 选项,warn 是缺省行为。
|
-f | 在覆盖现有文件之前不提示。 |
-i | 移动文件或目录到现有的路径名称之前进行提示,通过后跟问号显示文件名。如果您以 y 或语言环境中 y 的相等物开始的一行应答,移动就继续。其它任何应答都阻止移动发生。 |
示例
- 要重命名文件,输入:
mv appendix apndx.a
该命令把 appendix 重命名为 apndx.a。如果命名为 apndx.a 的文件已存在,它的旧内容将由 appendix 的内容替换。
- 要移动目录,输入:
mv book manual
如果 manual 存在,该命令把 book 下的所有文件和目录都移动到命名为 manual 的目录。否则,目录 book 重命名为 manual。
- 要把文件移动到另一个目录下并且给它新的名称,输入:
mv intro manual/chap1
该命令把 intro 移动到 manual/chap1。把名称 intro 从当前目录下除去,且相同的文件在目录 manual 中作为 chap1 出现。
- 要把文件移动到另一个目录,保持相同的名称,输入:
mv chap3 manual
该命令把 chap3 移动到 manual/chap3。
注:例 1 和例 3 命名了两个文件,例 2 命名了两个现有目录,而例 4 命名了一个文件和一个目录。
- 要把多个文件移动到另一个目录,输入:
mv chap4 jim/chap5 /home/manual
该命令把 chap4 文件移动到 /home/manual/chap4 文件目录,并且把 jim/chap5 文件移动到 /home/manual/chap5 文件。
- 要使用带模式匹配字符的 mv 命令,输入:
mv manual/* 。
该命令把 manual 目录中的全部文件都移动到当前目录中。(period),保留它们在 manual 中的名称。此移动也清空 manual。必须在星号和周期之间输入空格。
注:模式匹配字符仅扩展现有文件的名称。例如,如果文件 manual/chap1 不存在,命令 mv intro man*/chap1 不起作用。
退出状态
0 | 所有输入文件移动成功。 |
>0 | 发生错误。 |
文件
/usr/bin/mv | 包含 mv 命令。 |
相关信息
chmod 命令、ln 命令、rm 命令。
rename 子例程。
《AIX 5L V5.2 系统用户指南:操作系统与设备》中的『文件概述』。
《AIX 5L V5.2 系统用户指南:操作系统与设备》中的『目录概述』。
《AIX 5L V5.2 系统用户指南:操作系统与设备》中的『输入输出重定向概述』。