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

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

时间:2018-04-23 22:41:38      阅读:247      评论:0      收藏:0      [点我收藏+]

标签:管道符   作业控制   变量   

管道符和作业控制
  • |把前面命令结果交给后面的命令处理。
    [root@aminglinux-02 ~]# cat 1.txt |wc -l  统计行数
    5
    [root@aminglinux-02 ~]# cat 1.txt |grep ‘aaa‘
    aaaa   剪切出aaa的行
  • ctrl z 暂停一个任务,这个任务只能在当前终端操作,其它终端可以查到进程
  • jobs查看后台的任务
  • bg [id]把任务调到后台,不加id默认最后一个
  • fg [id]把任务调到前台,不加id默认最后一个
  • 命令后面加&直接丢到后台,
    [root@aminglinux-02 ~]# sleep 200    暂停200秒
    ^Z
    [1]+  已停止               sleep 200
    [root@aminglinux-02 ~]# jobs
    [1]+  已停止               sleep 200
    [root@aminglinux-02 ~]# fg 1
    sleep 200
    [root@aminglinux-02 ~]# bg 1
    [1]+ sleep 200 &
    [root@aminglinux-02 ~]# jobs
    [1]+  运行中               sleep 200 &
    [root@aminglinux-02 ~]# 
    [root@aminglinux-02 ~]# sleep 100 &
    [1] 2213
    [root@aminglinux-02 ~]# jobs
    [1]+  运行中               sleep 100 &

shell变量

  • PATH,HOME,PWD,LOGNAME都是变量
  • evn命令显示系统的环境变量
  • set命令不仅可以查看系统的环境变量,还能查看用户自定义的变量,内容很多set |less查看更方便
  • 自定义变量:a=111
    [root@aminglinux-02 ~]# a=111
    [root@aminglinux-02 ~]# echo $a
    111
    [root@aminglinux-02 ~]# set |grep 111
    _=111
    a=111
  • 变量名的规则:字母,数字,下划线,首位不能为数字
    [root@aminglinux-02 ~]# a1=1
    [root@aminglinux-02 ~]# a_1=2
    [root@aminglinux-02 ~]# 1a=3
    -bash: 1a=3: 未找到命令
  • 变量值有特殊符号时需要用单引号括起来,别用双引号,有些特殊符号不能脱意
    [root@aminglinux-02 ~]# a=‘a b c‘
    [root@aminglinux-02 ~]# a="a$bc"
    [root@aminglinux-02 ~]# echo $a
    a
    [root@aminglinux-02 ~]# a=‘a$bc‘
    [root@aminglinux-02 ~]# echo $a
    a$bc
  • 变量的累加,如果一个变量引用另一个变量时,要加双引号,不能加单引号。
    [root@aminglinux-02 ~]# a=1
    [root@aminglinux-02 ~]# b=2
    [root@aminglinux-02 ~]# echo $a$b
    12
    [root@aminglinux-02 ~]# c=a"$b"c
    [root@aminglinux-02 ~]# echo $c
    a2c
  • 全局变量export a=12 设置一个全局变量,只向下的子shell往下复制,在它的上一级shell和其它终端不生效,脚本1里面嵌套脚本2,2可以使用1里面的变量
    [root@aminglinux-02 ~]# w
    09:41:58 up 57 min,  1 user,  load average: 0.00, 0.01, 0.05
    USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
    root     pts/0    192.168.16.1     08:48    6.00s  0.62s  0.16s w
    [root@aminglinux-02 ~]# echo $SSH_TTY 查看自己的登录TTY
    /dev/pts/0
    pstree命令以树状图的方式展现进程之间的派生关系,显示效果比较直观
  • unset 变量名---取消变量

环境变量配置文件

  • /etc/profile 用户环境变量,交互,登录才执行,这是系统级的全局变量
  • /etc/bashrc 用户不用登录,执行shell就生效,平时别编辑
  • ~/.bash_profile 有需要可以编辑用户自己的环境变量
  • source .bash_profile 使其更改生效
  • ~/.bashrc
  • .bash_profile启动会调用.bashrc,.bashrc会调用系统的bashrc
  • 若要配置环境变量之类,最保险是写在 .bashrc 文件中。因为不管是登陆还是不登陆,该文件总会被调用!
  • ~/.bash_history用户的命令历史文件
  • ~/.bash_logout让用户每次退出时需要删除命令历史可以把命令加入这个文件
  • PS1=‘[[\033[01;32m]\u@\h[\033[00m]:[\033[01;36m]\w[\033[00m]]\$‘ 带颜色显示 设置命令输入左侧显示信息,PS2设置进入其它终端显示如mysql命令输入效果显示
    [root@aminglinux-02 ~]# echo $PS1
    [\u@\h \W]\$
    u显示登录的用户,h显示登录的机器名,W显示当前目录名,$显示用户级别普通用户显示$root用户显示#
    [u@hw]$PS1=‘[\u@\h \w]\$‘
    [root@aminglinux-02 /etc/sysctl.d]#

扩展

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

标签:管道符   作业控制   变量   

原文地址:http://blog.51cto.com/akui2521/2106998

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