shell登陆区别

shell登陆的方式有两种,login shell 与nologin shell,一般默认的用户登陆为login shell。
两种登陆方式的区别在于执行的配置文件数量。

配置文件已经有网友总结过了。
/etc/profile,/etc/bashrc 是系统全局环境变量设定
/.profile,/.bashrc用户家目录下的私有环境变量设定
当登入系统时候获得一个shell进程时,其读取环境设定档有三步
1首先读入的是全局环境变量设定档/etc/profile,然后根据其内容读取额外的设定的文档,如
/etc/profile.d和/etc/inputrc
2然后根据不同使用者帐号,去其家目录读取/.bash_profile,如果这读取不了就读取/.bash_login,这个也读取不了才会读取
~/.profile,这三个文档设定基本上是一样的,读取有优先关系
3然后在根据用户帐号读取~/.bashrc
至于/.profile与/.bashrc的不区别
都具有个性化定制功能
~/.profile可以设定本用户专有的路径,环境变量,等,它只能登入的时候执行一次
~/.bashrc也是某用户专有设定文档,可以设定路径,命令别名,每次shell script的执行都会使用它一次

添加一点,shell退出是会将期间执行的命令保存到~/.bash_history,并执行./bash_logout中命令。

login shell是执行所有的配置文件
nologin shell 只执行/etc/bashrc与~/.bashrc

顺带一提,切换用户时使用su 有两种情况
su - 用户名 :login shell
su 用户名:nologin shell

shell小技巧
ctrl + R:搜索历史命令
ctrl + D:退出当前shell
ctrl + E:到命令末尾
ctrl + A:到命令开头
ctrl + K:删除光标的后面命令
ctrl + U:删除光标的前面命令
ctrl + Y:撤销上一次快捷命令

ctrl + Z:将前台进程转移到后台
fg 将后端进程调回到前台
bg 显示后台进程

!number:执行number编号的历史命令
!!执行上一次shell命令(适用于脚本中)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值