一、通配符 *shell
“ * ”表示通配,见下图,vim
当前目录下有5个 txt 文件。也有其余写法,结果也是不同,见下图,bash
以上就是 * ,和 * 有对比的字符是 ? 。见下图,3d
?表示一个任意的字符,数字和英文字母均可以。接着作对比,见下图,blog
还有一种用法是使用中括号,见下图,进程
还有花括号的用法,见下图,文档
与中括号不一样的是,花括号里面的字符须要用“,”号隔开。后台
二、输入输出重定向终端
> 表示输入输出重定向,举个例子,见下图,grep
查看 1.txt 和 2.txt 文件,里面没有内容,使用 vi 命令在里面写上一串数字。从上图中能够看出, cat 1.txt > 2.txt 这个命令表示将 1.txt 的内容重定向到 2.txt ,就是将 2.txt 的内容删除掉,将 1.txt 的内容重写到 2.txt 。
>> 表示追加内容,举个例子,见下图,
为了将 1.txt 和 2.txt 文件区别开,编辑更改一下 2.txt 里面的内容,而后输入命令 cat 1.txt >> 2.txt ,能够看到,1.txt 里的内容追加到 2.txt 上了。
2> 会把这个命令产生的错误信息,指定输入到一个文件里,表示错误的输出。举个例子,见下图,
运行一个有问题的命令 lsaaa ,提示未找到命令。这时候能够把这个错误信息定向到文件 a.txt 里去。而后用命令 cat a.txt 查看,里面的文件内容就是刚才的错误信息“-bash: lsaaa: 未找到命令”。上图中的 2>> 表示追加剧定向。
总结一下:
> 表示输出,输出到指定的文件
>> 表示追加剧定向
2> 表示错误的重定向
2>> 表示错误的追加剧定向
那么,咱们也能够把 > 和 2> 结合起来,写成 &> ,表示正确和错误的输出信息所有定向到一个文件里去。举个例子,见下图,
一样也支持追加,表示为 &>> ,见下图,
还有一种方法,把正确和错误的输出区分开,见下图,
表示正确的输出到 1.txt 文件,错误的输出到 a.txt 文件。这个之后写 shell 脚本的时候,用的比较多。
< 表示为输入重定向。举个例子,见下图,
wc -l 为查看文本文档行数的命令,< 输入重定向的左边必定是一条命令,右边是文件。上图第二条命令里面,尝试左边为文件的时候,出现报错。
输入重定向作个了解便可,通常工做中用不到。
管道符和做业控制
三、管道符
管道符以前介绍过,它表示把一个文件的输出内容传递给后面的命令。举个例子,见下图,
关于管道符,有不少命令是能够用的,就是把前面命令输出的结果,交给后面的命令。后面会常常用到。
四、做业控制
以前说过一个快捷键,ctrl + z ,表示暂停一个任务。见下图,
输入命令 vim 1.txt ,回车,进入文件 1.txt 编辑。这时候想暂时退出来作其余事情的话,就可使用 ctrl +z 命令来中止,这时候就能够退出来回到命令窗口,作其余的事情。那么 vim 这个命令其实还在后台,怎么再调出来呢?输入命令 fg ,回车,见下图,
又进入 vim 1.txt 这个页面里。fg 就是 front ground ,到前面来的意思。
后台的运行文件能够有多个,注意上图中的数字序号,命令 jobs 能够列出后台运行的任务信息。如今要把后台运行的任务调出来的话,命令 fg 后面就要加上 id 号,例如 fg 1 或是 fg 2 。若直接输入 fg 的话,默认是跳出最后执行的一个任务。
既然有 front ground ,也就有 back ground ,命令为 bg ,调到后台去。见下图,
将 vim a.txt 任务调到后台去,就变成上图红色框框的内容,至关于在后台运行。通常使用 vim 命令是达不到这种效果的,
如今运行命令 vmstat 1 ,这个命令后面会讲到,它会自带的显示系统的状态,并且是不停的显示。按住 ctrl + z ,就能够中止命令,而后输入 fg 命令,就能够把它调回来,接着按住 ctrl + z ,就能够中止命令,再输入 bg ,
就可让它在后台运行,在运行的过程当中,也能够运行其余命令,命令输入正确便可,即便被打断了也没有关系。见下图,
能够看到 vmstat 1 在运行中。接着见下图,
输入 fg ,能够进入 vim 1.txt ,进去以后,vmstat 1 还在一直运行,输入 :q! ,强制退出,而后输入 jobs ,能够看到,只有一个任务运行。
目前为止, vmstat 1 还在后台运行,把它调到前台,输入 fg 命令,回车,就进入前台执行命令。这时候,输入其余命令就无论用了。能够按住 ctrl + c ,直接结束命令。执行命令 jobs ,就能够看到没有任务了。
刚才说到一个观点,运行一条像 vmstat 1 这样的命令时,使用 bg 命令把它调到后台去,显示成运行中,仍是会运行的。可是这边 vim 的命令是不算的,由于中止一条 vim 命令,不论是在前台仍是后台,都是不会运行、中止的状态。
接着介绍一个命令 sleep ,sleep 1000 表示暂停1000秒,整个工做暂停运行,1000秒以后才会恢复。见下图,
bg 就是把一条命令调到后台去运行。还有一个命令,能够不用先运行命令,就能直接在后台运行,加一个 & ,见下图,
这边说一下 xshell ,若是另外打开一个终端,运行 jobs 命令,是看不到命令的。意思就是这个终端看不到另一个终端后台运行的命令,可是能够看到进程,输入命令 ps aux |grep sleep ,回车,
关于 ps 命令,后面还会说到。
总结:
ctrl + z 暂停一个命令
fg 调出一个命令到前台
bg 将一个命令调到后台并运行
& 在一条命令后面加上这个符号,能够直接将命令调到后台运行
sleep +时间 暂停系统多少秒
vmstat 1 不停的显示系统状态命令