Linux 学习笔记 ——提高bash使用效率
使用man查询命令使用方式
man的章节
章节 | 内容 |
---|---|
1 | 用户命令 (位于/bin, /usr/bin, /usr/local/bin) |
2 | 系统调用 (由内核提供的函数,比如: fork) |
3 | 库调用 (程序库中的函数) |
4 | 特殊文件 (常位于 /dev 下) |
5 | 文件格式 (比如 passwd) |
6 | 游戏 |
7 | 杂项 |
8 | 管理命令 (位于/sbin, /usr/sbin, /usr/local/sbin,权限仅限于root) |
使用man
功能 | 按键 |
---|---|
向下一页 | 空格键 |
向上一页 | b |
向下一行 | 方向键下 或 j |
向上一行 | 方向键上 或 k |
查询某一单词 | 按下 ‘/’ 后输入查询内容,回车键触发查找 |
正则查找 | 按下 ‘?’ 后输入正则表达式,回车键触发查找 |
下一个查询结果 | n |
上一个查询结果 | N |
whatis 快速定位章节
如果第一次使用此命令,则输入一下命令进行初始化
sudo makewhatis
输入 whatis 命令
进行章节定位,例如:
whatis ls
返回如下结果
ls(1p) - list directory contents
ls(1) - list directory contents
输入 man + 章节数 + 命令 进行查找,不写章节数则默认从第一章开始查找
man 1 ls
type 快速定位指令执行方式
输入
type ls
结果
ls is aliased to 'ls --color=auto'
说明在bash中输入了 ls 时bash自动在 ls 后加上了 ‘–color=auto’ 后缀
输入
type mkdir
结果
mkdir is /usr/bin/mkdir
说明执行的是 /usr/bin 下的 mkdir 程序
快速执行指令
使用zsh
网上教程一大堆,这里写个简单的
使用如下命令进行安装
sudo yum -y install zsh
查看 home 目录下的 .zshrc 配置文件,遵循其中的指示进行配置,不要说什么不懂英文,完成后输入如下指令使配置生效
source ~/.zshrc
进行测试
zsh
退出zsh
exit
终端默认的shell是bash,如果想把默认变为zsh,网上有许多方法,这里我介绍一种
设置zsh为默认shell
先查询 zsh 的二进制程序所在路径
which zsh
我的centos返回如下结果
/usr/bin/zsh
使用root权限修改 /etc/passwd 文件
sudo vipw /etc/passwd
找到包含你用户名的那一行,一般在最后一行,注意到冒号分割的最后一段为 一条路径,如果没有修改过的话应为 /usr/bin/bash ,先输入 i 进入编辑模式,修改次路径为 /usr/bin/zsh ,完成后先按 esc 进入浏览模式,在输入 :wq 进行保存并退出
重启终端查看结果
部分快捷键
功能 | 按键 |
---|---|
按单词向前/后移动 | ctrl + 方向键左/右 |
光标移至行首/尾 | ctrl+ a/e |
删除一行 | ctrl + q |
删除至行尾 | ctrl + k |
删除前一个单词 | ctrl + w |
清屏 | ctrl + l |
执行前第一条命令 | !! |
执行前第n条命令 | !-n |
指令嵌套
使用 ` ` 或 $() 可进行指令嵌套
echo "today is $(date +%Y-%m-%d)"
结果为
today is 2017-07-20
但使用 单引号 会使其失效
echo 'today is $(date +%Y-%m-%d)'
结果为
today is $(date +%Y-%m-%d)