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

Posted

tags:

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

一、管道符和作业控制
技术分享图片
管道符 |:表示把一个文件的输出的内容传递给后面的命令
grep :用来过滤指定关键词的命令
运用实例:
[[email protected] ~]# ls |wc -l //列出当前目录下有多少行
8
[[email protected] ~]# find ./ -type f //列出当前目录下的所有文件
./.bash_logout
./.bash_profile
./.bashrc
./.cshrc
./.tcshrc
./.bash_history
./.ssh/known_hosts
./.ssh/authorized_keys
./anaconda-ks.cfg.1
./2.txt
./11.txt
./.lesshst
./1.txt
./1.txt.zip
./.viminfo
./3.txt
./4.txt
[[email protected] ~]# find ./ -type f |wc -l //可以使用管道符来查看文件数量
17

Ctrl+z快捷键:把当前任务临时暂停下
fg n命令(foreground 前台的缩写):把刚暂停的当前任务重新启动,调用回来,n代表ID号,如调用暂停ID为1的进程,可以使用 #fg 1来进行调用
jobs :把停止的任务列出来
bg n命令(background后台的缩写):把任务丢到后台并运行,n代表ID号,如#bg 1,把进程1丢到后台并运行
#sleep 100 & 命令:指把sleep 100这一条命令丢到后台并运行,命令+&的格式
#ps aux |grep sleep //查看sleep进程

二、Shell变量
技术分享图片
#env //查看系统内置环境变量
#set //不仅查看系统内置变量,还可以查看用户自定义变量
[[email protected] ~]# a=111 //自定义环境变量,例如a=111
[[email protected] ~]# echo $a
111
#set |grep 111 //使用set命令查看自定义变量111
变量名规则:字母、数字、下划线,首位不能是数字

变量值有特殊符号是需要用单引号括起来,例如:#a=‘a b c
[[email protected] ~]# a=‘a b c‘
[[email protected] ~]# echo $a
a b c

变量的累加:例如变量a b累加
[[email protected] ~]# a=1
[[email protected] ~]# b=2
[[email protected] ~]# echo $a$b
12

[[email protected] ~]# c="a$bc" //被识别为$bc
[[email protected] ~]# echo $c
a
[[email protected] ~]# c="a$b"c //需要把$b和c分开写,变量复杂的时候用单引号或双引号
[[email protected] ~]# echo $c
a2c

[[email protected] ~]# c=a"$b"c //赋值中有复杂变量使用双引号引起来
[[email protected] ~]# echo $c
a2c

w 命令:查看当前登录系统的用户
[[email protected] ~]# w //查看当前登录系统的用户
22:20:03 up 24 min, 2 users, load average: 0.00, 0.01, 0.06
USER TTY FROM [email protected] IDLE JCPU PCPU WHAT
root pts/0 192.168.238.1 21:56 3.00s 0.22s 0.06s w
root pts/1 192.168.238.1 22:19 6.00s 0.06s 0.06s -bash
[[email protected] ~]# echo $SSH_TTY //可以查看哪个是自己登录的用户
/dev/pts/0

定义全局变量: 格式如:export b=2
[[email protected] ~]# export hll=linux 定义全局变量hll=linux
[[email protected] ~]# echo $hll
linux
[[email protected] ~]# bash //新打开一个子shell,直接运行#bash,echo $hll还是可以输出linux,这就是全局变量
[[email protected] ~]# echo $hll
linux

系统中没有pstree命令,可以使用# yum install psmisc #using psmisc package for pstree安装
技术分享图片
pstree命令可以直观查看目录结构,可以看到pstree在新的bash中运行,echo $hll,同样生效,这就是全局变量,全局变量是向下生效的,与平行的bash不生效的

unset 自定义变量名 //取消自定义变量
#bash //进入一个新的子shell

三、环境变量配置文件
技术分享图片
环境变量配置文件/etc/profile 和 /etc/bashrc属于系统层次的,一般不要进行修改;
可以修改用户家目录下的~/.bashrc ~/.bash_profile 这些属于用户层次的,可以对单个用户进行设置

[[email protected] ~]# vim .bash_profile //编辑家目录下的.bash_profile
[[email protected] ~]# source .bash_profile 或者#. .bash_profile //编辑完之后需要让配置文件立马生效,可以使用source 或者 . ,这里的.和source效果一样,都是加载配置文件配置

~/.bash_logout文件中可以定义让某个用户退出登录时删除它的命令历史,可以在这个配置文件中放一条删除历史命令的命令

关于PS1
PS1可以在
[[email protected] ~] //从左到右,依次是当前用户,@,主机名,当前所在目录
[[email protected] ~]# cd /etc/sysconfig/network-scripts/
[[email protected] network-scripts]# echo $PS1
[\[email protected]\h \W]\$ // \u就是user,\h就是hostname,\W就是当前目录
#PS1=‘[\[email protected]\h \w]\$‘ //如果将W改为小写的w,那么它就会显示绝对路径
实例:
[[email protected] network-scripts]# PS1=‘[\[email protected]\h \w]\$‘ //将W改为小写的w
[[email protected] /etc/sysconfig/network-scripts]# //就会显示成绝对路径的

[[email protected] /etc/sysconfig/network-scripts]#PS1=‘<\[email protected]\h \w> \$‘ //可以修改[ ]为< >
<[email protected] /etc/sysconfig/network-scripts> # //修改之后原来[ ]就变为了<>
$符号,root用户是#,其他普通用户是$
[[email protected] network-scripts]#PS1=‘[\033[01;32m]\[email protected]\h[\033[00m]:[\033[01; 36m]\w[033[00m]\$] ‘ //修改颜色
技术分享图片
PS2:进入到mysql中需要进入mysql的小终端,就进入到PS2
[[email protected] network-scripts]#echo $PS2

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

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

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

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

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

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

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