Linux下的命令有很多,其中有一个命令,我一直使用都存在问题,那就是cp命令了。每次使用该命令,都提示cp:omitting directiory错误。最后百度了一下才明白,原来cp命令复制目录的时候需要带命令参数的。难怪我一使用cp命令就报错。下面说一下该命令的一些使用技巧:
1. cp命令语法
cp [options] <source file or directory> <target file or directory> 或 cp [options] source1 source2 ... directory
前面的语法为单个文件或目录拷贝,后者是多个文件拷贝到最后的目录。options参数包括:
- a 保留链接和文件属性,递归拷贝目录,相当于下面的d、p、r三个选项组合。
- d 拷贝时保留链接。
- f 删除已经存在目标文件而不提示。
- i 覆盖目标文件前将给出确认提示,属交互式拷贝。
- p 复制源文件内容后,还将把其修改时间和访问权限也复制到新文件中。
- r 若源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。当然,目标文件必须为一个目录名。
- l 不作拷贝,只是链接文件。
-s 复制成符号连结文件 (symbolic link),亦即『快捷方式』档案;
-u 若 destination 比 source 旧才更新 destination。
2. 使用范例
我开始使用命令是cp file ./direc 这个命令可以正常使用,不过后面使用cp direc ./direct2时,报cp: omitting directory。
目录到目录的复制使用cp -r direc direc2;如果将目录下所有文件包括文件夹都复制到direc2目录下,可以使用命令cp -r direc/* direc2来实现。
文件到文件的复制(同一目录下操作,相当与备份并改名)cp -i file1 file2 或 cp file1 file2
目前,我还有这样低级的错误,说明我命令还是不熟啊,哎,以后要多学习一下linux命令了。