标签:等等 lan 输入 密码认证 子shell history comm ps1 com
1、快捷方式:ctrl+a(ahead)将光标移到最前
ctrl+e(end)将光标移到最后
ctrl+c(cancel)取消命令执行
ctrl+d(相当于logout)
ctrl+r(read history)(ctrl+r搜索到历史命令后Tab可修改查询到的命令)
2、其他快捷方式
!!表示调用上一条命令
!(num)执行编导为num的历史命令
!-(num)执行倒数第num历史命令
Shell中的变量分为本地变量和环境变量(系统级别),相当于高级语言的局部变量和全局变量
Linux Shell中有很多系统自定义的环境变量,可以用env或者set命令来查询
常见的环境变量有:PS1、PATH、PWD、MAIL、HISTSIZE(变量HISTSIZE,命令先保存到内容,再存到命令历史文件~/.bahs_history)、HOSTNAME、LANG等等
例:PATH变量是命令的搜索路径,同windows一样。在Shell中添加PATH 变量的方法可以是:PATH=$PATH:/dir`
(它们有一个特点就是都是大写字母组成,虽不是必须的,但却是一种长久以来形成的约束)
区别:本地变量仅在当前Shell有效,环境变量在当前Shell及其子Shell有效
定义本地变量可直接在Shell里面输入 :变量名=变量值
然后将本地变量导出成环境变量:export 变量名
删除已定义的变量则用命令:unset 变量名
还可以给命令起别名,用alias命令
格式:alias new_value/command=old_value/command
取消别名用:unalias command
那么当我们登陆Shell之后,是不是自己不用定义PATH等变量就可以使用,为什么呢?
这是因为用户登陆Shell时会读取各种配置文件来获得初始化用户的环境和系统环境。
登陆过程又分为标准登陆和非标准登陆
从字面意义上很好理解,标准登陆就是需要涉及到密码认证的登陆过程,非标准登陆就是不需要涉及到密码认证的登陆过程
下面让我们来看看这两种不同的登陆方式的区别:
当用户输入密码通过认证之后,系统会首先读取/etc/profile这个配置文件(改文件定义了一些系统级别的环境变量、以及一些系统设置)
通过执行/etc/profile文件的内容进而读取/etc/profile.d/*.sh(如果用户想实现开机时执行,可在/etc/profile.d目录下创建.sh文件)
再而读取~/.bash_profile(用于定义当前用户的环境变量)
再读取~/.bashrc(用于定义当前用户的命令别名并跳转到/etc/bashrc)
最后读取/etc/bashrc
/etc/bashrc的内容执行后又会再回到/etc/profile.d/*.sh
~/.bashrc
/etc/bahsrc
/etc/profile.d/*sh
至此我们了解到了登陆过程和非登陆过程的配置文件读取区别,当我们在定义变量的时候,需要考虑变量生效的位置,写入不容的配置文件时,是否会生效。
此外:su命令有两种切换形式,su user为非登陆、su -l user为登陆模式
这是我第一篇博客,希望大家会喜欢!!!希望能帮到大家!
标签:等等 lan 输入 密码认证 子shell history comm ps1 com
原文地址:https://www.cnblogs.com/litby/p/9121641.html