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

本文详细介绍了 Linux 系统中的 Shell 命令,包括管道符的使用方法、作业控制技巧,以及如何管理和使用 shell 变量。此外,还讲解了如何设定全局变量并使其在不同 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,向下一层生效,上一层不生效
取消变量,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]\$ '

转载于:https://my.oschina.net/u/3830571/blog/1799117

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值