Linux Bash管理
1、Linux系统终端概述
图形化
服务器终端切换 Ctrl + Alt +F1 -F6
虚拟机终端切换 Ctrl +Shift +Alt +F1 -F6
字符终端
服务器终端切换 Alt +F1 -F6
[root@yxlll ~]# w 09:16:59 up 1 day, 21:55, 1 user, load average: 0.00, 0.01, 0.05 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/0 183.129.183.154 09:16 3.00s 0.00s 0.00s w [root@yxlll ~]# who root pts/0 2020-09-11 09:16 (183.129.183.154)
可以通过w /who 来查看用户登录服务器信息
其中 pts/0 pts/1 等属于远程连接,183.129.183.154表示连接的 IP
TTP则表示直接在服务器端连接
pkill -9 -t tty2 强制结束连接
-t 终端名称
-9 强制
2、Linux系统 Bash管理
Linux提供的用户界面
字符界面
shell
Bash(默认)
图形化界面
gnome
kde
echo $SHELL 产看当前系统使用的 SHELL版本(默认为 bash)
data 时间
一般使用 date +%F-%R为多
可以用于创建文件,带时间戳
其中 $(date +%F %R) 表示命令,先执行中间的命令
快捷键
Ctrl +A //光标移至正在输入的命令行首部 home Ctrl +E //光标移至正在输入的命令行尾部 end Ctrl +C //中止前台运行程序 Ctrl +D //退出当前 shell Ctrl +Z //暂停任务,但不是关闭,挂至后台 Ctrl +L //清屏 clear Ctrl +K //删除从光标到行末的所有字符 Ctrl +U //删除从光标到行首的所有字符 Ctrl +R //搜索命令历史,使用关键词
history查看系统命令历史,追溯命令
命令选项
-w 保存命令历史到历史文件
-c 删除命令历史,但是,不会情况文件
-d 删除命令历史的第 N行
! 可以调用之前的命令
!cmd 加命令,可以调用最近的一次符合 cmd的命令,例如: !c 表示最近的一个 c开头的命令
! num 执行第几条命令 ,!5表示执行,history的第5条
!! 上一条
!$ 调用上条命令的参数
命令别名
alias
alias cmd ="cmd1" 只对当前环境临时生效,重新打开一个新的界面没生效
unalias cmd
alias 可以直接查看
Bash特性:命令流程
当我们执行一个命令,整个命令流程如下:
1、判断是否通过绝对路径执行
2、判断命令是否拥有别名
3、判断用户输入的是内部命令还是外部命令
内部命令:shell程序自带的命令
外部命令:在系统 PATH变量的某个路径下的可执行程序
可以通过 type检测是内部还是外部
4、内部命令执行,外部命令检测死都存在缓存
5、检测 PATH路径,有执行,无报错
Bash特性:路径展开
Linux Shell 下路径展开用花括号包括,逗号分隔,这样花括号里的内容会被展开形成列表
例如:建立文件夹
mkdir -pv /tmp/{bin,etc/{init.d,sysconfig},proc,sys,usr/{bin,include,lib},var/{run,spol}}
一级一级按括号写,先 mkdir -pv /tmp/{bin,etc,proc,sys,usr,var} 再往里添加
转义符
常用的转义符
反斜杠 \ 使反斜杠后面的一个字符变成字符串
单引号 ‘ ’ 转义其中所有的变量为单纯的字符串
双引号 “ ” 保留变量属性,不进行转义处理
反引号 ` 执行命令
单双引号的区别,在遇到变量的时候
反斜杠取消转义符 ,和单引号有相同效果