码迷,mamicode.com
首页 > 系统相关 > 详细

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

时间:2018-01-16 10:22:15      阅读:282      评论:0      收藏:0      [点我收藏+]

标签:需求   配置文件   path   下划线   tor   sel   lin   通过   amp   

管道符和作业控制

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

[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我们可以更改这些信息显示的方式比如以下我们让它变颜色显示;

技术分享图片

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

标签:需求   配置文件   path   下划线   tor   sel   lin   通过   amp   

原文地址:http://blog.51cto.com/13529231/2061352

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!