管道符和作业控制/shell变量/环境变量配置文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了管道符和作业控制/shell变量/环境变量配置文件相关的知识,希望对你有一定的参考价值。

管道符和作业控制

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

[[email protected] ~]# cat /etc/passwd|wc -l
43

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

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

[1]+ 已停止 vi 1.txt
[[email protected] 文档]# jobs (查看被暂停在后台运行的任务)
[1]+ 已停止 vi 1.txt
[[email protected] 文档]# fg (将暂停在后台的程序调回来,如果有多个暂停运行的程序,在fg命令后面跟进程号则回复该序列号的进程)
[[email protected] 文档]# 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:查看系统环境变量

[[email protected] ~]# 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:查看自定义变量

[[email protected] ~]# a=111 //我们先自定义个变量做示范
[[email protected] ~]# echo $a
111

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

技术分享图片
变量名规则:字母、数字下划线、首位字符不能是数字

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

[[email protected] ~]# a=‘a$bc‘ //如果不这么操作,则会识别错误,设定不了你需求的形式

变量的累加

[[email protected] ~]# a=111
[[email protected] ~]# echo $a
111
[[email protected] ~]# b=222
[[email protected] ~]# echo $b
222
[[email protected] ~]# echo $a$b //直接输入需要叠加的名即可
111222

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

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

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

取消一个自定义变量

[[email protected] ~]# unset ask //unset 命令后跟变量名即可

环境变量配置文件

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

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

[[email protected] ~]#

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

技术分享图片

以上是关于管道符和作业控制/shell变量/环境变量配置文件的主要内容,如果未能解决你的问题,请参考以下文章

管道符和作业控制 shell变量 环境变量配置文件

管道符和作业控制/shell变量/环境变量配置文件

管道符和作业控制shell变量环境变量配置文件

管道符和作业控制shell变量环境变量配置文件

8.6 管道符和作业控制 8.7/8.8 shell变量 8.9 环境变量配置文件

管道符和作业控制 shell变量 环境变量配置文件