通配符 | 含义 |
---|---|
* | 匹配任意字符 |
? | 匹配任意单个字符 |
[ |
匹配 |
[! |
匹配不属于[ |
[[: |
匹配作为指定 |
字符类 | 含义 |
---|---|
[:alnum:] | 匹配任意字母数字字符 |
[:alpha:] | 匹配任意字母字符 |
[:digit:] | 匹配任意数字 |
[:lower:] | 匹配任意小写字母 |
[:upper:] | 匹配任意大写字母 |
范例 | 匹配 |
---|---|
* | 所有文件 |
g* | 所有以g开头的文件 |
b*.txt | 所有以b开头,且以.txt结尾的文件 |
Data??? | 所有以Data开头,后面跟三个字符的所有文件 |
[abc]* | 所有以a或b或c开头的文件 |
BACKUP.[0-9][0-9][0-9] | 所有以BACKUP.开头并跟着三个数字的文件 |
[[:upper:]]* | 所有以一个大写字母开头的文件 |
[![:digit:]]* | 所有以非数字开头的文件 |
*[[:lower:]123] | 所有以一个小写字母或1或2或3结尾的文件 |
选项 | 长选项 | 含义 |
---|---|---|
-a | --archive | 复制文件和目录及其所有属性,包括所有权和权限。 通常情况下,副本采用执行复制的用户的默认属性。 |
-i | --interactive | 覆盖现有文件之前,提示用户进行确认。 |
-r | --recursive | 递归复制目录及其内容。 复制目录时需要此选项(或-a选项)。 |
-u | --update | 将文件从一个目录复制到另一个目录时,只复制目标目录中不存在或比现有相应文件更新的文件。 |
-v | --verbose | 在执行复制时显示信息性消息。 |
命令 | 结果 |
---|---|
cp file1 file2 | 复制file1到file2。 如果file2存在,则它会被file1覆盖。 如果file2不存在,则会被创建。 |
cp -i file1 file2 | 与上面命令相同,不同之处在于,如果file2存在,则在覆盖它之前会提示用户。 |
cp file1 file2 dir1 | 将file1和file2复制到dir1目录中。 dir1目录必须已经存在。 |
cp dir1/* dir2 | 使用通配符,将dir1中所有文件复制到dir2中。 dir2目录必须已经存在。 |
cp -r dir1 dir2 | 将dir1目录中所有文件(包括子目录及子目录中所有文件)都复制到dir2中。 如果dir2不存在,则会自动创建它。 |
选项 | 长选项 | 含义 |
---|---|---|
-i | --interactive | 删除指定文件之前提示用户确认。 |
-r | --recursive | 递归删除目录。 这意味着,如果要删除的目录有子目录,也要删除它们。 要删除目录,必须指定此选项。 |
-f | --force | 忽略不存在的文件,不要提示。 这会覆盖-i选项。 |
-v | --verbose | 执行删除操作时显示信息性消息。 |