-
bash用户接口
shell的一种,广义上的shell包含两类:
GUI Gnome,KDE,Xfce 命令终端
CLI sh,csh,ksh,bash,tcsh,zsh 图形终端
shell有子shell,对于父shell来讲,子shell只是一个程序。
shell操作的特性:
(1)命令行编辑
Ctrl+a 跳到命令行行首
Ctrl+e 跳到命令行行尾
Ctrl+d 向后删除,类似delete
Ctrl+u 删除光标至行首的内容
Ctrl+k 删除光标至行尾的内容
Ctrl+左右箭头, 在模拟终端中支持按单词跳转
Ctrl+l 清屏,等同于clear
Ctrl+c 取消执行当前命令(2)命令历史 history 命令历史管理 命令历史文件为~/.bash_history 命令历史大小由环境变量HISTSIZE来指定,默认为1000![在这里插入图片描述](https://img-blog.csdnimg.cn/8e7539856ea2483380973ee967f7f999.png)修改大小命令 变量配置文件为/etc/profile -c 清空整个命令历史 -d 删除指定命令历史 -w 将缓冲区中的命令历史保存到命令历史文件 使用技巧 !n 执行命令历史中第n条命令 !-n 执行命令历史中倒数第n个命令 !! 执行上一条命令 !KEY 执行最近一次以指定KEY开头的命令 !$ 引用上一个命令中最后一个参数 ESC+. 同上,多次按还可以切换 ALT+. 同上,在远程终端无效?
(3)自动补全
命令补全
在PATH环境变量下搜索补全要输入的命令
路径补全
在输入的字符开始的路径下补全
选项补全
在输入命令之后,可以自动补全选项
Tab键进行补齐(4)命令替换 把命令中某个子命令替换为其执行结果 $() echo "The current directory is $(pwd)." touch ./file$(date +%H-%M-%S).txt![在这里插入图片描述](https://img-blog.csdnimg.cn/46795b95816145bb80a9eb631bcc2f15.png) `` echo "The current directory is `pwd`" echo 'The current directory is `pwd`'
bash支持的引号
`` 反引号,命令替换
"" 双引号,可以实现变量替换
‘’ 强引用,不完成变量替换
练习:当前系统用户的第三个用户用替换?
先将/etc/passwd文件里的前三行拿出来
取最后一行
取第一个字段
- vim的常用功能学习
命令模式(用于执行命令,该模式不能用于编写)在此模式中输入i进入插入模式
插入模式(可以进行输入内容)在此模式中按esc进行命令模式和插入模式的切换,输入冒号进入进入末行模式。
(1)插入模式
a 光标后
A 行尾
o 光标所在行下一行
O 光标所在行上一行
i 光标前
I 行首
s 删除光标所在位置的字符并进入插入模式
(2)命令模式
d 删除
dd 删除当前行
dgg 删除光标到文档首
dG 删除光标到文档尾部
d$ 删除光标到行尾,包括光标所在位置字符
d^ 删除光标到行首,不包括光标所在位置的字符
dw 按单词删除
gg 跳转到文档首部行首
G 跳转到文档尾部行首
u 撤销之前的操作
Ctrl+r 重做
行号G 跳转到指定行
x 删除光标所在位置的内容
行数yy 复制光标所在行开始第几行
p 粘贴到光标所在行的下一行
cc 剪切当前行
行数cc 剪切当前行开始的几行
H 跳转到当前屏幕输出的最上面一行
L 跳转到当前屏幕输出的最下面一行
M 跳转到当前屏幕输出的中间那一行
$ 行尾
^ 行首
w 按单词进行移动光标
r 替换光标所在的字符
h 往左按字符移动光标
j 往下(后)按行移动光标
k 往上(前)按行移动光标
l 往右按字符移动光标
(3)末行模式
:w 保存
:w FILENAME 另存为FILENAME
:q 退出
:wq 保存退出
:q! 强制退出不保存
:set nu 显示行号
:r /FILENAME 读取指定文件的内容到当前文件
:行号 跳转到指定行
:set nonu 取消显示行号
:%s/被替换内容/替换后的内容
只换每行匹配到第一个支付字符
:%s/root/ROOT/g为全部更改
:%s/删除内容//
/ 查找字符串
n
N
:noh 取消高亮显示