管道符和作业控制
;表示前一个命令执行完后顺序执行下一个命令
[[email protected] ~]# cat 1.txt |wc -l ; cat 1.txt |grep ‘aaa‘
2
aaaaa aaaaa
aaqweaaaaaaaaa
&&:前一个命令是正确的才执行后面一个命令;若是前一个命令不对,就不执行了
|| :当前一个命令执行成功,后面则不执行;相反的如果前一个命令不成功,则执行后面的命令
ctrl z 暂停一个任务
jobs查看后台的任务
bg[id]把任务调到后台
fg[id]把任务调到前台
命令后面加&直接丢到后台;这个通常是执行一个脚本
shell变量
1、输出环境变量
[[email protected] ~]# echo "$PATH"
/usr/local/jdk1.8.0_11/bin:/usr/local/jdk1.8.0_11/jre/bin:/usr/local/svn//bin:/usr/local/apache-maven-3.5.0/bin:/usr/local/bin/composer:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
2、让环境变量临时生效
export PATH=$PATH:/opt/au1200_rm/build_tools/bin
3、永久生效则加入配置文件中
/etc/profile
env
也是查看环境变量,可以进行搜索
环境变量配置文件
/etc/profile 所有用户环境变量,交互,登录才执行
/etc/bashrc 所有用户不用登录,执行shell就生效
~/.bashrc 自己用户家目录的,当该用户登录时以及每次打开新的shell时,该文件被读取,包含别名
~/.bash_profile 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。
~/.bash_history 记录着当前用户的历史记录
~/.bash_logout 退出登录时执行
1.login shell与non-login shell的概念
(1)login shell
取得shell(如bash)时需要完整的登录流程,就称为login shell。举例来说,有tty1-tty6登录,输入用户的账户和密码后,取得的shell就称为“login shell”
(2)non-login shell
取得shell不需要账户登录的流程。比如说,在X window(图形桌面)登录linux后,在桌面右击获取的命令行窗口,此时不需要用账户名和密码进行登录,那这个bash的环境就称为non-login shell。在比如,在bash中再次执行bash命令,获取到的子bash进程,也没有登录动作,这个子bash进程同样是non-login shell。
2.login shell和non-login shell的区别
login shell和non-login shell的核心区别就是在获取shell时,读取的配置文件不同。
(1)login shell读取的配置文件
/etc/profile 该文件来设置系统的整体环境,通常是一些环境变量的配置。
~/.bash_profile或~/.bash_login或~/.profile三者中的一个,该文件是用户个人设置
(2)non-login shell读取的配置文件
~/.bashrc
备注,通常我们新增环境变量是在/eth/profile或~/.bash_profile中修改即可。比如在PATH环境变量中新添加一个路径:
[plain] view plain copy
#将/home/local/tmux/bin加入到环境变量PATH中
export PATH=/home/local/tmux/bin:$PATH
或
PATH=/home/local/tmux/bin:$PATH
export PATH