下面来说明一些常用通配符
* 匹配 0 或多个字符 a*b a与b之间可以有任意长度的任意字符, 也可以一个也没有, 如aabcb, axyzb, a012b, ab。
? 匹配任意一个字符 a?b a与b之间必须也只能有一个字符, 可以是任意字符, 如aab, abb, acb, a0b。
[list] 匹配 list 中的任意单一字符 a[xyz]b a与b之间必须也只能有一个字符, 但只能是 x 或 y 或 z, 如: axb, ayb, azb。
[!list] 匹配 除list 中的任意单一字符 a[!0-9]b a与b之间必须也只能有一个字符, 但不能是阿拉伯数字, 如axb, aab, a-b。
[c1-c2] 匹配 c1-c2 中的任意单一字符 如:[0-9] [a-z] a[0-9]b 0与9之间必须也只能有一个字符 如a0b, a1b... a9b。
{string1,string2,...} 匹配 sring1 或 string2 (或更多)其一字符串 a{abc,xyz,123}b a与b之间只能是abc或xyz或123这三个字符串之一。
需要说明的是:通配符看起来有点象正则表达式语句,但是它与正则表达式不同的,不能相互混淆。把通配符理解为shell 特殊代号字符就可。而且涉及的只有,*,? [] ,{} 这几种。
下面来说明一些常用的命令
文件查看和连接命令cat:
cat <选项> [file].....
例如我有文本文件idiot,在当前目录下,在终端输入 cat idiot,就会显示文本文件中的内容
-n 或 --number 由 1 开始对所有输出的行数编号
-b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号
-s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
-v 或 --show-nonprinting
cat -b file1 file2,会将file2的内容在file1的内容之后输出。(依然有行号)
分屏显示命令more:
more <选项>[file].....
+/ 在每个档案显示前搜寻该字串(pattern),没有则不显示
+<num> 从第num行开始显示
-d 在每屏的底部显示更友好的提示信息
-l 不处理 Ctrl+l (换页符)。如果没有给出这个选项,则more命令在显示了
-f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)
-p 显示下一屏之前先清屏
-c 作用同- p基本一样。不同的是先显示内容再清除其他旧资料
-s 文件中连续的空白行压缩成一个空白行显示
-u 不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同)
按页显示命令less:
less<选项>[file].......
-i 忽略搜索时的大小写
-s 显示连续空行为一行
- 显示列数
-p
复制命令cp:
cp<选项>[source][dest]或者cp<选项>[source].....[directory]
-f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
-r 递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录或符号链接,则一律视为普通文件处理
-a 或 --archive 此参数的效果和同时指定"-dpR"参数相同
-i 或 --interactive 覆盖文件之前先询问用户
删除命令rm:
rm<选项>[file].....
移动或重命名mv:
mv<选项>[source][dest]或者mv<选项>[source].....[directory]
创建目录命令mkdir:
mkdir<-p>[dirName].....
-p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录;
例如:mkdir -p file1/file2,就能先创建file1文件夹再在其中创建file2文件夹了
删除空目录命令rmdir:
rmdir<-p>[dirName].....