1. history
当你在玩Linux的时候,如果你经常使用命令行来控制你的Linux系统,那么有效地使用命令历史机制将会使效率获得极大提升。
history是shell的内置命令,其内容在系统默认的shell的man手册中。
一些用法:
history
[-c] [-d offset] [n]
history
-anrw [filename]
history
-ps arg [arg…]
-c: 清空命令历史
-d
offset: 删除历史中指定的第offset个命令
n: 显示最近的n条历史
Linux系统当你在shell(控制台)中输入并执行命令时,shell会自动把你的命令记录到历史列表中,一般保存在用户目录下的.bash_history文件中,默认保存1000条。
-a: 追加本次会话新执行的命令历史列表至历史文件
-n: 读历史文件中未读过的行到历史列表
-r: 读历史文件附加到历史列表
-w: 保存历史列表到指定的历史文件
-p: 展开历史参数成多行,但不存在历史列表中
-s: 展开历史参数成一行,附加在历史列表后
history显示当前终端的历史记录
!! 重复执行上一条命令
!-n 重复执行倒数第n条命令
!n 重复执行第n条命令
ctrl+p 等于向上方向键,翻出上一条命令。
ctrl+n 等于向下方向键,翻出下一条命令。
ctrl+j 等于enter 执行当前命令
!:0 执行前一条命令(去除参数)
!string 重复前一个以“string”开头的命令
!?string 重复前一个包含string的命令
!string:p 仅打印以string开头的命令历史,而不执行
!$:p 打印输出 !$ (上一条命令的最后一个参数)的内容
!*:p 打印输出 !*(上一条命令的所有参数)的内容
^string 删除上一条命令中的第一个string
^string1^string2 将上一条命令中的第一个string1替换为string2
!:gs/string1/string2 将上一条命令中所有的string1都替换为string2
(PS:包含string1的内容也会变成string2)
ctrl-r来在命令历史中搜索命令
(reverse-i-search)`’:
Ctrl+g:从历史搜索模式退出
2. 调用历史参数详解
要重新调用前一个命令中最后一个参数:
!$ 表示
Esc, .(点击Esc键后松开,然后点击 . 键)
Alt+ .(按住Alt键的同时点击 . 键)
command !^ : 利用上一个命令的第一个参数做cmd的参数
command !$ : 利用上一个命令的最后一个参数做cmd的参数
command !* : 利用上一个命令的全部参数做cmd的参数
command !:n : 利用上一个命令的第n个参数做cmd的参数
command !n:^ 调用第n条命令的第一个参数
command !n:$ 调用第n条命令的最后一个参数
command !n:m 调用第n条命令的第m个参数
command !n:* 调用第n条命令的所有参数
command !string:^ 从命令历史中搜索以 string 开头的命令,并获取它的第一个参数
command !string:$ 从命令历史中搜索以 string 开头的命令,并获取它的最后一个参数
command !string:n 从命令历史中搜索以 string 开头的命令,并获取它的第n个参数
command !string:* 从命令历史中搜索以 string 开头的命令,并获取它的所有参数
3. bash快捷键
Ctrl+L 清屏
Ctrl+O 执行当前命令,并重新显示本命令
Ctrl+s 锁定,但仍可以运行命令。
Ctrl+q 解锁
Ctrl+C 强制结束
Ctrl+D 正常终止
Ctrl+Z 挂起(暂停)命令
Ctrl + a 光标移到命令行首,相当于Home
Ctrl + e 光标移到命令行尾,相当于End
Ctrl + f 光标向右移动一个字符
Ctrl + b 光标向左移动一个字符
Alt + f 向右移动一个单词
Alt + b 向左移动一个单词
Ctrl + xx 光标在命令行首和光标之间移动
Ctrl + u 删除光标之前的内容
Ctrl + k 删除光标这后的内容
Alt + r 清除全部内容
Ctrl + w 从光标处向左删除至单词首
Alt + d 从光标处向右删除至单词尾
Ctrl + d 删除光标后的一个字符
Ctrl + h 删除光标前的一个字符
Ctrl + y 将删除的字符粘贴至光标后
Alt + c 从光标处开始向右更改为首字母大写的单词
Alt + u 从光标处开始,将右边一个单词更改为大写
Alt + l 从光标处开始,将右边一个单词更改为小写
Ctrl + t 交换光标处和之前的字符位置
Alt + t 交换光标处和之前的单词位置
Alt + N 提示输入指定字符后,重复显示该字符N次(N表示具体的数字)
Ctrl-Shift-n 创建新窗口
Ctrl-Shift-q 关闭当前窗口
Ctrl-Shift-t 创建一个标签页
Ctrl-Shift-w 关闭一个标签页
Ctrl-PaUp/PgUn 切换到下一个/前一个标签页
Ctrl-Shift-c 复制选中的文本
Ctrl-Shift-v 把文本粘帖到当前光标处
4. Whatis
whatis命令用户查询一个命令执行什么功能,并将查询结果打印到终端上。
whatis command 或 man -f command
(仅能提供命令基本的介绍。不提具体用法。)
Whatis是基于数据库的查找
优点:检索速度快
缺点:缺乏实时性
数据文件的位置:
CentOS6中位置:/var/cache/man/whatis
当输入makewhatis命令后,whatis文件开始收集数据,并覆盖原来的数据。因此,如果命令运行过程输入Ctrl+C强制断的话,whatis文件将变为不完整或者为空。此时将无法使用whitis命令
当完整的运行一次whatis后,文件又恢复完整。
CentOS7中位置: /var/cache/man/index.db
在CentOS7中收集数据的命令不是makewhatis了,而是mandb。
可以看到删除index.db之后无法使用whatis命令。而运行mandb命令之后,index.db将被重建,whatis命令又可以使用了。
5. 获取帮助
(1)help
help command命令用于显示shell内部命令的帮助信息。help命令只能显示shell内部的命令帮助信息。
help -d :显示简短描述
help -s :显示用法的简介
help -m :显示较详细的使用方法
(2)–help
–help用于外部命令。
(3)man
man是manual的缩写,意为手册、说明书。是由作者写的最权威最详细的帮助文档。通过man command指令可以查看Linux中的指令帮助、配置文件帮助和编程帮助等信息。whatis所收集的数据库就是来源于man。
输入 man date,则出现如下图信息:
在这个文档中如果想搜索关键字,可以输入:/+关键字 在man中搜索。
例如输入/year:
则会显示所有包含year的地方。
输入q退出文档。
man是在程序安装的时候安装的帮助文档,可以在系统的目录下找到,通过指令:ls /user/share/man我们可以看到很多man帮助文档的存储,我们从中看到有很多歌man#文件,linux的一些man指令文档就存在于这些文件内,几乎每个命令都有自己的man页面。
man页面根据类型不同,设置成不同的章节
例如passwd,它是一个命令,也有一个passwd是一个配置文件。
我们就需要调用不同的章节来分别查看。
当输入man passwd时,默认进入前面的章节,即第1章节。(后面的数字就代表章节)
如果想看第5章节,则在前面加上对应的数字
即可显示第5章节内容
关于man帮助的段落说明:
(4)使用less命令可以更方便的阅读man命令。
命令格式:less [参数]文件
less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。相比于more命令,less命令更加灵活强大一些,因此在这里就不介绍more了。
具体用法:
^f, ^F:向下翻屏
b,^b:向下翻屏
d,^d:向下翻半屏
u,^u:向上翻半屏
q:退出
G:翻至文件尾部
/KEYWORD:以KEYWORD为关键字,从当前位置向文件尾部搜索,不区分大小写。
?KEYWORD:同上,以KEYWORD为关键字进行模糊查询,从当前位置向文件尾部搜索,不区分大小写。
n:下一个
N:上一个
原创文章,作者:T_endless,如若转载,请注明出处:http://www.178linux.com/80892