管道符和作业控制

管道符:把前面命令执行结果通过管道符传给后面的命令去之行 示例;

[root@Ask-02 ~]# cat /etc/passwd|wc -l 43

作业控制:当运行进程时,可以使用组合键暂停(Ctrl+Z),然后使用fg命令恢复它,或者是bg命令使它到后台运行。除此之外还可以使它终止(Ctrl+C) 以下命令示范;

[root@Ask-02 文档]# vi 1.txt (使用vi命令编辑1.txt文件,随便输入一些内容后按Esc键后,使用Ctrl+Z组合键暂停任务) [root@Ask-02 文档]# vi 1.txt (Ctrl+Z执行结果)

[1]+ 已停止 vi 1.txt [root@Ask-02 文档]# jobs (查看被暂停在后台运行的任务) [1]+ 已停止 vi 1.txt [root@Ask-02 文档]# fg (将暂停在后台的程序调回来,如果有多个暂停运行的程序,在fg命令后面跟进程号则回复该序列号的进程) [root@Ask-02 文档]# bg (将进行的程序调到后台继续运行,此事的你是可以继续输入命令的) procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 1 0 0 1405312 932 265172 0 0 0 0 43 53 0 0 100 0 0 0 0 0 1405312 932 265172 0 0 0 0 33 43 0 0 100 0 0 0 0 0 1405312 932 265172 0 0 0 0 29 37 0 0 100 0 0 0 0 0 1405312 932 265172 0 0 0 0 29 44 0 1 99 0 0 0 0 0 1405312 932 265172 0 0 0 0 30 41 0 0 100 0 0 jobs (可以通过jobs命令看到后台程序运行的状况) [1]+ 运行中 vmstat 1 &

shell变量

env:查看系统环境变量

[root@Ask-02 ~]# env //注意!!这里显示的结果我是截取其中一部分的 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin PWD=/root LANG=zh_CN.UTF-8 SELINUX_LEVEL_REQUESTED= HISTCONTROL=ignoredups SHLVL=1 HOME=/root LOGNAME=root

set:查看自定义变量

[root@Ask-02 ~]# a=111 //我们先自定义个变量做示范 [root@Ask-02 ~]# echo $a 111

[root@Ask-02 ~]# set |less //这里我们输入set查看的信息太多无法迅速找到要看的信息,我们使用管道符使用less查看,直接搜索内容信息即可

变量名规则:字母、数字下划线、首位字符不能是数字

变量值再有特殊符号时需要用单引号括起来

[root@Ask-02 ~]# a='a$bc' //如果不这么操作,则会识别错误,设定不了你需求的形式

变量的累加

[root@Ask-02 ~]# a=111 [root@Ask-02 ~]# echo $a 111 [root@Ask-02 ~]# b=222 [root@Ask-02 ~]# echo $b 222 [root@Ask-02 ~]# echo $a$b //直接输入需要叠加的名即可 111222

全局变量 如果单单使用自定义环境变量的时候,切换到子shell里面是查不到你前面自定义的shell的,这里我们定义为非全局变量

[root@Ask-02 ~]# ask=linux //非全局变量,切换子shell就查不到结果了 [root@Ask-02 ~]# export ask=linux //全局变量,这样自定义后,切换到子shell也能查到结果

这里需要注意的是全局变量是只向子shell里显示有用,并且至想向下有作用,向上则不管用,比如,在子shell中定义了全局变量,那么在子shell和子子shell以及再后面的子子子shell都是可以显示的,唯独子shell的上一级最初的shell是看不到。

取消一个自定义变量

[root@Ask-02 ~]# unset ask //unset 命令后跟变量名即可

环境变量配置文件

环境变量配置文件分两个维度:系统层次和用户层次 系统层次;(尽可能不编辑系统层次的) /etc/profile (用户登录的时候会加载到,) /etc/bashrc (用户或系统执行shell脚本时候,会用到这个文件) 用户层次:用户夹目录下的文件(可编辑) ~/.bashrc ~/.bash_profile ~/.bash_history ~/.bash_logout (用户退出时候做的一些操作)

PS1环境变量
PS1变量是命令最左边显示一些信息,这些信息有登录的用户名,主机名以及当前所在的目录;

[root@Ask-02 ~]#

通过自定义PS1我们可以更改这些信息显示的方式比如以下我们让它变颜色显示;

[root@Ask-02 ~]# PS1='[\033[01;32m]\u@\h[\033[00m]:[\033[01;36m]\w[\033[00m]$'