8.6 管道符和作业控制
1、# cat 1.txt |wc -l
#cat 1.txt |grep 'aaa'
#ls |wc -l
查看当前目录文件个数
#find / -name *.conf |wc -l
查看搜索出来的文件个数
2、ctrl + z 暂停任务回到命令窗口
3、# fg
恢复暂停命令
4、# jobs
命令可以将停止的任务列出来,# fg 1
、fg 2
可以将相应的任务恢复到当前状态,# bg
是将命令在后台运行
5、# sleep 1000 &
直接将命令运行在后台
6、#vmstat 1
vmstat详解,点此进入链接
7、#ps aux
查看进程
8.7/8.8 shell变量
1、变量
①、PATH
②、HOME
③、PWD
④、LOGNAME
2、# env
可以输出系统中的环境变量,变量都为大写
3、# set
查看系统和自定义变量
4、# a=111
自定义变量a=111
·变量名规则:字母、数字、下划线,首位不能为数字
·变量值有特殊符号时需要用单引号括起来
5、变量的累加
[root@ajianglinux-01 ~]# a=1
[root@ajianglinux-01 ~]# b=2
[root@ajianglinux-01 ~]# echo $a$b
12
[root@ajianglinux-01 ~]# c=a"$b"c
[root@ajianglinux-01 ~]# echo $c
a2c
6、全局变量export b=2,全局变量是本级以及子级等shell生效,本级的父级不生效, 局部变量只能在一级shell中生效
bash命令进入子级shell
[root@ajianglinux-01 ~]# bash
7、pstree命令需要安装一下包
[root@ajianglinux-01 ~]# yum install -y psmisc
[root@ajianglinux-01 ~]# pstree
systemd─┬─NetworkManager───2*[{NetworkManager}]
├─VGAuthService
├─agetty
├─auditd───{auditd}
├─chronyd
├─crond
├─dbus-daemon───{dbus-daemon}
├─firewalld───{firewalld}
├─lvmetad
├─master─┬─pickup
│ └─qmgr
├─polkitd───5*[{polkitd}]
├─rsyslogd───2*[{rsyslogd}]
├─sshd─┬─sshd───bash───pstree
│ ├─sshd───bash
│ └─sshd───bash───bash
├─systemd-journal
├─systemd-logind
├─systemd-udevd
├─tuned───4*[{tuned}]
└─vmtoolsd───{vmtoolsd}
8、# echo $SSH_TTY
查看自己通过终端登录
查看在哪个TTY下可以用以下命令
[root@ajianglinux-01 ~]# echo $SSH_TTY
/dev/pts/2
9、unset变量
[root@ajianglinux-01 ~]# export ajiang=linux
[root@ajianglinux-01 ~]# echo $ajiang
linux
[root@ajianglinux-01 ~]# bash
[root@ajianglinux-01 ~]# echo $ajiang
linux
[root@ajianglinux-01 ~]# unset ajiang
[root@ajianglinux-01 ~]# echo $ajiang
10、shell实际为一个进程,# bash
再次打开一个shell进程,通过# pstree
查看在哪个进程中
8.9 环境变量配置文件
1、/etc/profile 用户环境变量,交互,登录才执行
2、/etc/bashrc 用户不用登录,执行shell就生效
3、~/.bashrc 用户家目录下都有.bashrc、.bash_profile
4、~/.bash_profile
5、~/.bash_history
6、~/.bash_logout用来定义用户退出时,所需要做的操作
7、echo $PS1在/etc/bashrc中定义的, PS1='[\033[01;32m]\u@\h[\033[00m]:[\033[01;36m]\w[\033[00m]$'
[root@ajianglinux-01 etc]#PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;36m\]\w\[\033[00m\]\$'
root@ajianglinux-01[:/etc#cd
root@ajianglinux-01[:~#
8、echo $PS2
root@ajianglinux-01[:~#echo $PS2
>
root@ajianglinux-01[:~#for i in `seq 1 10`
> do
> echo $i
> done
1
2
3
4
5
6
7
8
9
10
root@ajianglinux-01[:~#
9、.bash_profile用户登录的时候例如打开终端输入IP、port、用户名密码,就会自动加载用户家目录下的.bash_profile
10、.bashrc 执行shell脚本的时候就会自动调用.bashrc里边的配置
11、.和source作用一样,都是加载文件中的配置
扩展
bashrc和bash_profile的区别http://www.apelearn.com/bbs/thread-7719-1-1.html
简易审计系统:http://www.68idc.cn/help/server/linux/2014042190951.html
关于PROMPT_COMMAND环境变量的含义:http://www.linuxnote.org/prompt_command-environment-variables.html