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

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

发布时间:2020-12-15 17:08:18 所属栏目:安全 来源:网络整理
导读:8.6 管道符和作业控制 8.7/8.8 shell变量 8.9 环境变量配置文件 8.6 管道符和作业控制 | 表示把一个文件输出的内容传递给后面命令 ctrl+z 暂停一个命令的运行 fg 使暂停的命令恢复 jobs 可以查看目前在暂停的命令 fg n n为数字,可以针对查看到的暂停命令选
  • 8.6 管道符和作业控制

  • 8.7/8.8 shell变量

  • 8.9 环境变量配置文件


8.6 管道符和作业控制

| 表示把一个文件输出的内容传递给后面命令
ctrl+z 暂停一个命令的运行
fg 使暂停的命令恢复
jobs 可以查看目前在暂停的命令
fg n n为数字,可以针对查看到的暂停命令选择打开(如果不加ID 就会默认运行最后一次执行的命令)
bg n n为数字,可以针对查看到的暂停命令选择丢到后台运行,在后台运行,也会在前台显示,但不影响前台的输出命令(如果不加ID 就会默认运行最后一次执行的命令)

运行命令的时候 加上 & 符号,可以直接把命令丢到后台运行

sleep100&

jobs 命令例的任务,只能在当前终端看到,新打开的终端是看不到

8.7/8.8 shell变量

环境变量 PATH 是系统内置的变量
可以通过env 用于查看系统的常用变量
set 也可以查看环境变量,不止会查看系统的环境变量,也会查看用户自定义的变量
变量的名字通常都是全大写的英文字母

  • 定义变量

[root@aminglinux-01~]#a=111[root@aminglinux-01~]#echo$a111
  • 变量名的规则 字母、数字下划线,首位不能为数字
    变量值有特殊符号时需要用 ‘ 单引号括起来,比如空格,之类的特殊符号; 因为单引号,带有脱义;

  • 变量的累加

[root@aminglinux-01~]#a='a$bc'[root@aminglinux-01~]#b='$bc'[root@aminglinux-01~]#echo$a$ba$bc$bc
  • 全局变量

使用w 可以查看当前系统登录情况

[root@aminglinux-01~]#w
02:13:18up3:06,3users,loadaverage:0.00,0.01,0.04USERTTYFROMLOGIN@IDLEJCPUPCPUWHAT
rootpts/0192.168.133.123:0730.00s0.06s0.06s-bash
rootpts/1192.168.133.102:134.00s0.04s0.01sw
rootpts/2192.168.133.102:133.00s0.01s0.01s-bash

因为登录的用户多,如果你想查看当前使用的变量,可以使用SSH_TTY 这个变量查看

[root@aminglinux-01~]#echo$SSH_TTY/dev/pts/1

可以用pstree查看shell树状图,可以从中查看到bash之间的父子级关键

yum install psmisc 安装pstree命令

[root@aminglinux-01~]#pstree
systemd─┬─NetworkManager───2*[{NetworkManager}]
├─agetty
├─auditd───{auditd}
├─chronyd
├─crond
├─dbus-daemon
├─firewalld───{firewalld}
├─master─┬─pickup
│└─qmgr
├─polkitd───5*[{polkitd}]
├─rsyslogd───2*[{rsyslogd}]
├─sshd─┬─sshd───bash───bash───pstree
│├─sshd───bash───bash───bash───bash
│└─sshd───bash───bash───bash
├─systemd-journal
├─systemd-logind
├─systemd-udevd
├─tuned───4*[{tuned}]
└─vmtoolsd───{vmtoolsd}

在pts/1下 自定义一个变量,在pst/2下是看不到的

exporta=111

这个变量,只会在他当前的 shell 及子 shell 下生效 直接运行bash 就可以打开子shell

全局变量仅仅是在他的子shell下生效

unset a 可以取消变量

8.9 环境变量配置文件

/etc/profile用户环境变量,交互,登录才执行
/etc/bashrc用户不用登录,执行shell就生效
~/.bashrc~/.bash_profile~/.bash_history~/.bash_logout

PS1='[u@h W]$' 这个文件是在/etc/bashrc里面定义的, PS1 变量就是 命令行提示符

[root@aminglinux-01~]#echo$PS1[u@hW]$
[root@aminglinux-01network-scripts]#PS1='[u@hw]$'[root@aminglinux-01/etc/sysconfig/network-scripts]#

PS1 里面的 W表示相对路径,w表示绝对路径 [u@h W]$ 字母对应的 u = 用户 h = 主机名 W = 当前所在的绝对路径

第一个维度 系统层次

/etc/profile/etc/bashrc

第二个维度 用户层次

~/.bashrc~/.bash_profile~/.bash_history~/.bash_logout用户退出时的一些操作

每个用户的家目录下,都会有.bashrc和.bash_profile

. 点在shell里面等同于source,加载配置文件下的一些配置source .bash_profile = . .bash_profilebash_profile会自动调用bashrcbashrc又会自动调用/etc/bashrc

(编辑:李大同)

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

    推荐文章
      热点阅读