阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Linux基础教程之Linux命令历史

160次阅读
没有评论

共计 1870 个字符,预计需要花费 5 分钟才能阅读完成。

LINUX 命令历史

LINUX 的命令历史是什么?

Linux 的命令历史的作用是,记录执行过的命令。如果你经常使用 Linux 命令行,那么使用 命令历史可以有效地提升你的效率。
history(管理历史命令)
语法:[root@localhost]#history(选项)(参数)
选项:
n:n 为数字, 要列出最近的 n 笔命令列表
-c(清空所有历史命令)
-d(删除历史命令中指定的第 offset 条命令)
-a(追加本次会话中的新执行的命令历史列表到历史文件)
-n(读取历史文件中未读过的行到命令历史列表)
-r(读取历史文件到历史列表)
-w(保存历史列表到指定的历史文件)
-p(展开历史参数成多行,但不存在历史列表中)
-s(展开历史参数成一行,附加在历史列表后)

运行特定的历史命令

history 会列出 bash 保存的所有历史命令,并且给它们编了号,我们可以使用“叹号接编号”的方式运行特定的历史命令.
语法说明:[root@localhost]# [!number] [!command] [!!]
参数说明:
number:第几个指令的意思;
command:指令的开头几个字母
!:上一个指令的意思!
用法介绍:
重复前一个命令(4 种方法):

重复前一个命令使用上方向键,并回车执行
按 !! 并回车执行
输入 !-1 并回车执行
按 Ctrl+p 并回车执行
!:0 执行前一条命令(去除参数)

Ctrl + n 显示当前历史中的下一条命令,但不执行
Ctrl + j 执行当前命令
!n 执行 history 命令输出对应序号 n 的命令
!-n 执行 history 历史中倒数第 n 个命令
!string 重复前一个以“string”开头的命令
!?string 重复前一个包含 string 的命令
!string:p 仅打印命令历史,而不执行
!$:p 打印输出 !$(上一条命令的最后一个参数)的内容
!*:p 打印输出 !*(上一条命令的所有参数)的内容
^string 删除上一条命令中的第一个 string
^string1^string2 将上一条命令中的第一个 string1 替换为 string2
!:gs/string1/string2 将上一条命令中所有的 string1 都替换为 string2
使用 up(向上)和 down(向下)键来上下浏览从前输入的命令
ctrl- r 来在命令历史中搜索命令(reverse-i-search):
Ctrl+g:从历史搜索模式退出

调用历史参数

要重新调用前一个命令中最后一个参数:
!$ 表示前一个命令最后一个参数。

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 开头的命令,并获取它的所有参数

 

环境设定

命令历史相关环境变量:

HISTSIZE:命令历史记录的条数

HISTFILE:指定历史文件,默认为~/.bash_history

HISTFILESIZE:命令历史文件记录历史的条数

HISTTIMEFORMAT=“%F %T“显示时间

HISTIGNORE=“str1:str2:…“忽略 string1,string2 历史

控制命令历史的记录方式:

环境变量:HISTCONTROL

ignoredups 默认,忽略重复的命令,连续且相同为“重复”

ignorespace 忽略所有以空白开头的命令

ignoreboth 相当于 ignoredups, ignorespace 的组合

erasedups 删除重复命令

export 变量名 =”值“

history 命令相关的配置文件存放在 /etc/profile 或 ~/.bash_profile,更改之后永久有效

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-12-03发表,共计1870字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中