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

管道符

管道符“|”:将前一个命令的输出作为后一个命令的输入。
查看一个文件有多少行:
除了用vim打开文件 “set nu” 显示行号外,还能用管道符,不用打开文件就能统计。

[root@shuai-01 ~]# cat 1.txt |wc -l
1

查看当前目录下有多少文件:

[root@shuai-01 ~]# find ./ -type f |wc -l
20

作业控制

运行一个进程时,这时来了一个很重要的事,立即将手头的事暂停,出去干另外的事。重要的事干完了再回来做这个事。
暂停:ctrl + z
恢复命令:fg
终止命令:Ctrl + c
后台运行命令:bg
查看任务命令:jobs
用vim编辑1.txt文件

[root@shuai-01 ~]# vim 1.txt

中途有事,想暂停干点别的。(Ctrl + z)

[root@shuai-01 ~]# vim 1.txt

[1]+  已停止               vim 1.txt

干完后想要恢复编辑1.txt (fg )

中途又来了点事(编辑2.txt),要将1.txt放后台

[root@shuai-01 ~]# bg 1
[1]+ vim 1.txt &

“&”:表示后台运行
查看jobs:

[root@shuai-01 ~]# jobs
[1]+  已停止               vim 1.txt
[2]-  已停止               vim 2.txt

这种前后台运行的命令对vim没有影响,对需要持续运行通过控制台进行输出的才有效果。需要控制台进行持续输出的在前台运行,这是你就没法运行其他命令。

shell变量

变量由变量名和变量值组成。
变量名=变量值
变量分系统预设变量和用户自定义变量
一般的系统预设变量名都是大写,如:HISTSIZE,SHELL,PATH

查看变量的值用echo命令:echo $变量名

[root@shuai-01 ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@shuai-01 ~]# echo $SHELL
/bin/bash

env命令能显示系统环境变量

[root@shuai-01 ~]# env
XDG_SESSION_ID=1
HOSTNAME=shuai-01
SELINUX_ROLE_REQUESTED=
TERM=xterm
SHELL=/bin/bash
HISTSIZE=1000
SSH_CLIENT=192.168.176.1 56774 22
SELINUX_USE_CURRENT_RANGE=
SSH_TTY=/dev/pts/0
USER=root

set命令就将系统预设变量和用户自定义全部显示

用户自定义变量规则:
1. 变量格式为:变量名=变量值 (等号两边不能有空格)
2. 变量名由字母,下划线,和数字组成,并且不能以数字开头
3. 变量内容有特殊字符时(空格),要加上单引号”
定义一个变量:

[root@shuai-01 ~]# a=123
[root@shuai-01 ~]# echo $a
123

变量值有空格:

[root@shuai-01 ~]# b='shuai ao'
[root@shuai-01 ~]# echo $b
shuai ao

变量中有其他变量内容:

[root@shuai-01 ~]# c="$a""$b"
[root@shuai-01 ~]# echo $c
123shuai ao

以上设置的变量只在当前shell下才有用
关于全局变量
全局变量就是在这个shell下定义的变量在这个shell的子shell下也能用。
查看系统进程树结构(pstree命令)

[root@shuai-01 ~]# pstree |grep bash
        |-sshd-+-sshd-+-bash
        |      |      `-bash-+-grep
        |      `-sshd---bash

两个分开的sshd表示两个终端登录的,第一个sshd两分开的bash表示克隆登录。
在一个shell下运行bash,会进入另一个shell

[root@shuai-01 ~]# pstree |grep bash
        |-sshd-+-sshd-+-bash
        |      |      `-bash---bash-+-grep
        |      `-sshd---bash

新进的shell就是上一个shell的子shell。
在当前shell下定义一个全局变量(export)

[root@shuai-01 ~]# export b=123
[root@shuai-01 ~]# echo $b
123
[root@shuai-01 ~]# bash
[root@shuai-01 ~]# echo $b
123
[root@shuai-01 ~]# pstree |grep bash
        |-sshd-+-sshd-+-bash
        |      |      `-bash---bash---bash-+-grep
        |      `-sshd---bash

当前shell下定义的全局变量在当前shell和子shell中能生效。(在上一级shell和其他终端是不生效的)
删除变量(unset)

[root@shuai-01 ~]# unset b

环境变量的配置文件

环境变量分系统环境变量和个人环境变量
系统环境变量配置文件:
/etc/profile :PATH ,HISTSIZE,USER,umask
/etc/bashrc:PS1 , umask
ps1:显示命令行开头的一串[root@shuai-01 ~]#

[root@shuai-01 ~]# echo $PS1
[\u@\h \W]\$

个人环境变量的配置文件
./.bash_profile:登录时执行
./.bashrc:自定义alias和自定义变量可以写入该文件中
./.bash_history:记录历史命令
./.bash_logout:退出shell执行

ps:有时候我们需要对线上用户操作记录进行历史记录待出现问题追究责任人,,但Linux系统自带的history命令用户有自行删除权限,那怎么设置可以让用户的操作记录实时记录,并保证普通用户无权删除呢?本文教你一招http://www.68idc.cn/help/server/linux/2014042190951.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值