?
通配符 |
 |
? 通配符表示“任何单个的字符”。尽管 ? 通配符不如 * 使用得频繁,但仍然很有用。例如,如果只希望列出以 myfile 开头且以其他单个字符结尾的文件,请键入:
$ lsf myfile? myfile2 myfile3 |
? 通配符精确匹配一个字符。由于 myfile 末尾没有字符,所以并未显示在此列表中。
将
* 通配符与 mv、cp 和 rm 一起使用 |
 |
如果希望将多个文件从一个目录移动或复制到另一个目录,通配符通常会很有用。例如,假定当前目录下有两个目录,分别称为 new 和 old,这两个目录包含以下文件:
$ lsf new myfile myfile2 lsf old myfile3 myfile4 |
要将目录 new 下的所有文件移动到目录 old,请键入:
$ mv new/* old
$ lsf new 目录 new 下不再存在这些文件。
lsf old
myfile myfile2 myfile3 myfile4 它们位于目录 old 下。
使用 cp 命令可以执行类似的操作。例如,要将 old 下的所有文件复制到 new,请键入:
同样,可以将通配符与 rm 命令一起使用。例如,要删除目录 new 下的所有文件,请键入:
有关 * 和 ? 的常用功能,请参阅 《regexp》(5)
联机帮助页。对于与个别 shell 相关的其他功能:如果使用 POSIX Shell,请参阅 《sh-posix》(1)
联机帮助页;如果使用 C shell,请参阅 《csh》(1)
联机帮助页。