1. cp #
cp 命令主要用于复制目录或者普通文档(为方便表达,本文中所说的 “文件” 均为普通文档。)。
语法
cp [options] source dest
参数说明
- -a:通常用于复制目录,保留链接和文件属性,并复制目录下的所有内容。相当于 dpr 三个参数的组合;
- -d:复制时保留链接(类似于windows系统中的快捷方式);
- -f:覆盖已经存在的目标文件(没有提示);
- -i:也是覆盖已经存在的目标文件,但是会给出提示,提示用户是否确认要覆盖,用户输入 y 指令的时候,目标文件将被覆盖,否则操作会撤销;
- -l:不复制文件,只是生成链接文件(即快捷方式);
- -p:该参数的作用是,除复制文件的内容外,还把修改时间和访问权限也复制到新文件中;
- -r:若给出的源文件是一个目录文件,则将复制该目录下所有的子目录和文件。
例子
将目录 test/ 下的所有文件复制到新目录 test2下:
$ cp –r test/ test2
注意:用户使用 cp 命令复制目录时,必须使用参数 -r 或者 -R ,以将目录下的子目录和文件也同步复制。
2. mv #
mv 命令用于移动文件,将文件或目录移动到其它位置,如果是源地址和目标地址相同,则会将文件改名。
语法
mv [options] source dest
参数说明
- -b: 当目标文件或目录存在时,在执行覆盖前,会为其创建一个备份;
- -f: 如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件;
- -i: 与 -f 参数功能类似,只是在将文件覆盖之前会给出提示,让用户确认,输入 y 表示直接覆盖,输入 n 表示取消该操作;
- -n: 不要覆盖任何已存在的文件或目录,对于已经存在的文件,则会直接跳过;
- -u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。
mv 命令在使用的时候,对于目的文件和源文件,区分是文件还是目录,执行结果是不一样的,例如:
mv source_file(文件) dest_file(文件)
执行结果为:将源文件名 source_file 改为目标文件名 dest_file。
mv source_file(文件) dest_directory(目录)
执行结果为:将文件 source_file 移动到目标目录 dest_directory 中。
mv source_directory(目录) dest_directory(目录)
执行结果为:若目录名 dest_directory 已存在,将 source_directory 移动到目录名 dest_directory 中;
若目录名 dest_directory 不存在则 source_directory 改名为目录名 dest_directory
mv source_directory(目录) dest_file(文件)
执行结果:报错。
例子
1) 将文件 file1 改名为 file2:
$ mv file1 file2
2) 将 test 目录放入 test2 目录中。注意,如果 test2目录不存在,则该命令将 test改名为 logs。
$ mv test/ test2
3) 将 /opt/logs下的所有文件和目录移到当前目录下,命令行为:
$ mv /opt/logs/* .