码迷,mamicode.com
首页 > 其他好文 > 详细

2018.4.20 五周第三次课

时间:2018-04-19 01:48:07      阅读:165      评论:0      收藏:0      [点我收藏+]

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

管道符、作业控制

管道符

  • 它用于将前一个指令的输出作为后一个指令的输入,例如:

    [root@localhost do]# cat 1.txt |wc -l #查看前面的文件有几行
    2

作业控制

  • CTRL+z 命令是暂停一个任务,
  • fg (foreground的简写)命令恢复
  • bg (background的简写)使它到后台运行
  • CTRL+c 终止

例如:使用vi命令编辑1.txt文件,随便输入一些内容,按ESC键,使用CTRL+z组合暂停任务,如下:

[root@localhost do]# vi 1.txt

[1]+ 已停止 vi 1.txt

  • 此时vi 1.txt已经停止,可以使用fg命令恢复它,此时右进入刚才vi窗口。

    [root@localhost do]# fg

  • jobs可以看见被暂停或者在后台运行的任务

    [root@localhost do]# jobs #先看下当下有没有被暂停或者在后台运行的
    [root@localhost do]# vi 1.txt
    [1]+ 已停止 vi 1.txt
    [root@localhost do]# jobs
    ?[1]+ 已停止 vi 1.txt

  • 如果想把暂停的任务放到后台重新运行,就使用bg

在后台运行的任务,得fg调至到前台后才可以终止解除CTRL+c

shell变量

概念:环境变量PATH,它是shell预设的一种变量,通常预设的变量都是大写的。
变量就是使用一个较简单的字符串来替代某些具有特殊意义的设定以及数据。
系统预设环境变量:
PATH、HOME、LOGNAME
  • 查看现在系统预设变量的值

    [root@localhost do]# echo $PATH
    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

env 可以列出系统预设的全部系统变量

[root@localhost do]# env

set 不仅可以显示系统预设的变量,也可以显示用户自定义的变量

[root@localhost do]# set

自定义变量

规则:变量名规则可以是:字母 数字 下划线,首位不能为数字
变量值拥有特殊符号时需要用单引号括起来

[root@localhost /]# a=111 #自定义变量
[root@localhost /]# echo $a #查看变量0
111
[root@localhost /]# set |grep 111 #set 查看所有变量里的 111变量
_=111
a=111

特殊符号变量应用,假如带空格,单引号

[root@localhost /]# a=‘a b c‘
[root@localhost /]# echo $a
a b cbr/>再或者加上特殊符号!(@*&#(*@!&#什么的。
[root@localhost /]# echo $a
a $bc

表示式复杂的时候,用双引号引起来,变量的累加

假设a=1 b=2 c=a"$b"c
我想echo出来的结果是 a2c, 那么就用双引号给变量推出来。
[root@localhost /]# a=1
[root@localhost /]# b=2
[root@localhost /]# c=a"$b"c
[root@localhost /]# echo $c
a2c

全局变量 export a=zhang1,向下一层生效,上一层不生效

  • 如果一个终端被n个人登陆,怎么看自己在哪个终端呢

    [root@localhost /]# w
    00:38:01 up 4:57, 2 users, load average: 0.08, 0.03, 0.05
    USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
    root pts/0 192.168.139.1 00:37 4.00s 0.02s 0.02s -bash
    root pts/1 192.168.139.1 20:27 1.00s 0.40s 0.01s w
    [root@localhost /]# echo $SSH_TTY
    /dev/pts/1
    技术分享图片

  • bash是shell的一个子bash,可以通过pstree查看在哪

    技术分享图片

  • 现在是在第二个bash下,第一个bash所设定的环境变量在第二个bash下不生效,如何让第一个bash的自定义环境变量在第二个bash下生效,利用全局变量,具体操作如下:

    首先,先exit退出第二个bash,
    [root@localhost /]# exit
    exit
    然后设定一个变量,假设 a=zhang1,全局设定下a变量export a=zhang ,具体操作如下:
    [root@localhost /]# export a=zhang1 #先export设置全局环境变量
    [root@localhost /]# echo $a #查看变量
    zhang1
    [root@localhost /]# bash #新建个子shell
    [root@localhost /]# echo $a #查看变量
    zhang1

取消变量,unset 后面跟名字,如取消a=zhang1

[root@localhost /]# unset a
[root@localhost /]# echo $a
#没有内容

环境变量配置文件

/etc/profile 用户环境变量,交互、登陆才执行(不要修改)

概念:/etc/profile这个文件预设了几个重要的变量,例如PATH、USER、LOGNAME、等变量。

/etc/bashrc 用户不用登陆,执行shell就生效。(不要修改)

这个文件主要预设umask以及PS1;
这个PS1就是我们在输入命令时前面的那串字符;
例如Linux系统的就是[root@localhost ~]# 
我们可以看一下PS1的值,如下:
[root@localhost /]# echo $PS1
[\u@\h \W]\$
其中,\u指用户,\h指主机名,\W指当前目录,\$指字符# (如果是普通用户则为¥)

~/.bashrc

概念:该文件包含专属于自己的shell的bash信息;
当登陆或每次新打开新的shell时,该文件会被读取;
例如,你可以将用户自定义的别名或者自定义变量写到这个文件中。

~/.bash_profile

概念:该文件定义了用户的个人化路径于环境变量的文件名称;
每个用户都可使用该文件输入专属自己的shell信息,当用户登陆时,该文件仅执行一次。

~/.bash_history

概念:该文件用户记录命令历史。

~/.bash_logout

概念:当退出shell时,会执行该文件,可以将一些清理的工作放到这个文件中。

更改用户自定义颜色:

[root@localhost /]# PS1=‘[\033[01;32m]\u@\h[\033[00m]:[\033[01;36m]\w[\033[00m]\$ ‘

2018.4.20 五周第三次课

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

原文地址:http://blog.51cto.com/13646023/2105163

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