加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

管道符和作业控制 shell变量

发布时间:2020-12-15 09:16:23 所属栏目:安全 来源:网络整理
导读:管道符和作业控制 管道“| ”就是将前面命令输出作为管道后面命令的输入 [root@localhosta]#touch1.txt[root@localhosta]#ls1.txt[root@localhosta]#cat1.txt|wc-l0[root@localhosta]#echo"123"1.txt[root@localhosta]#echo"123"1.txt[root@localhosta]#cat1

管道符和作业控制

管道“| ”就是将前面命令输出作为管道后面命令的输入

[root@localhosta]#touch1.txt
[root@localhosta]#ls
1.txt
[root@localhosta]#cat1.txt|wc-l
0
[root@localhosta]#echo"123">1.txt
[root@localhosta]#echo"123">>1.txt
[root@localhosta]#cat1.txt|wc-l
2

ctrl + z 暂停一个任务

[root@localhosta]#vim1.txt

[1]+已停止vim1.tx

jobs查看后台的任务

[root@localhosta]#jobs
[1]+已停止vim1.txt

bg [id]把任务调到后台

[root@localhosta]#jobs
[1]已停止vim1.txt
[2]-已停止sleep100
[3]+已停止sleep100
[root@localhosta]#bg2
[2]-sleep100&
[root@localhosta]#jobs
[1]-已停止vim1.txt
[2]运行中sleep100&
[3]+已停止sleep100

fg [id]把任务调到前台

root@localhosta]#jobs
[1]-已停止vim1.txt
[2]+已停止sleep100
[root@localhosta]#fg2

命令后面加&直接丢到后台

[root@localhosta]#sleep300&
[5]8680
[root@localhosta]#jobs
[4]+已停止sleep100
[5]-运行中sleep300&

shell变量

  • 系统环境变量:PATH,HOME,PWD,LOGNAME 等

  • 获取到系统变量命令:env

277b3d5d27c6da0f35c0114d236a06b4.png-wh_

  • 比env命令多了很多变量,并且包括用户自定义的变量命令:set

0041f973c9ff0634cfad3d6e89d3fc62.png-wh_

  • 自定义变量

#变量名规则:字母、数字下划线,首位不能为数字
[root@localhosta]#a=1自定义变量
[root@localhosta]#echo$a
1

#变量值有特殊符号时需要用单引号括起来
[root@localhosta]#a="a$bc"
[root@localhosta]#echoa
a
[root@localhosta]#a='a$bc'
[root@localhosta]#echo$a
a$bc

#变量的累加
[root@localhosta]#a=1b=2
[root@localhosta]#echo$a,$b
1,2
[root@localhosta]#echo$a$b累加
12

#全局变量exportb=2
[root@localhosta]#w查看终端
22:39:08up2:50,2users,loadaverage:0.05,0.06,0.06
USERTTYFROMLOGIN@IDLEJCPUPCPUWHAT
roottty119:492:49m0.03s0.03s-bash
rootpts/0192.168.0.219:544.00s0.42s0.00sw
[root@localhosta]#echo$SSH_TTY
/dev/pts/0
[root@localhosta]#bash
[root@localhosta]#pstree
├─sshd───sshd───bash─┬─bash───pstree#以树状图显示进程间关系
│└─sleep
├─systemd-journal
├─systemd-logind
├─systemd-udevd
├─tuned───4*[{tuned}]
└─vmtoolsd───{vmtoolsd}
[root@localhosta]#echo$a
#无法调用变量a
[root@localhosta]#exportb=2全局变量b
[root@localhosta]#echo$b
2
[root@localhosta]#bash
[root@localhosta]#echo$b子bash可以调用变量b
2

[root@localhosta]#unsetb取消全局变量
[root@localhosta]#echo$b

环境变量配置文件

环境变量配置文件分为两个层次:系统层次和用户层次。

系统层次[系统全局环境变量设定]:

  • /etc/profile 用户环境变量,交互,登录才执行

  • /etc/bashrc 用户不用登录,执行shell就生效

注意:系统层次不要修改,防止出问题

如果有需求,可以编辑用户目录下的.bash_profile配置文件

用户层次:

  • ~/.bashrc

这个文件主要保存个人的一些个性化设置,如命令别名、路径等。也即在同一个服务器上,只对某个用户的个性化设置相关。

  • ~/.bash_profile

  • ~/.bash_history

  • ~/.bash_logout

PS1--设置默认提示符

[root@localhosta]#PS1='[33[01;32m]u@h[33[00m]:[33[01;36m]w[33[00m]$'

8af9ccdc9fa8759ceeb5f369a140a717.png-wh_


扩展阅读资料

1.bashrc和bash_profile的区别

2.简易审计系统

3.关于PROMPT_COMMAND环境变量的含义

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读