- 简介
- 第一章 - 关于 CD
- 第二章 - 基本命令
- Hack-7 Grep
- Hack-8 Grep 与正则表达式
- Hack-9 Find 命令
- Hak-10 重定向
- Hack-11 Join 命令
- Hack-12 Tr 命令
- Hack-13 Xargs 命令
- Hack-14 Sort 命令
- Hack-15 Uniq 命令
- Hack-16 Cut 命令
- Hack-17 Stat 命令
- Hack-18 Diff 命令
- Hack-19 Ac 命令
- Hack-20 让命令在后台执行
- Hack-21 Sed 替换基础
- Hack-22 Awk 简介
- Hack-23 VIM 基本入门
- Hack-24 Chmod 命令
- Hack-25 Tail -f -f
- Hack-26 Less 命令
- Hack-27 Wget 下载器
- 第三章 - SSH 技巧
- 第四章 - 日期设置
- 第五章 - PS* 介绍
- 第六章 - 压缩和打包
- 第七章 - 历史命令
- 第八章 - 系统任务管理
- Hack-55 Fdisk 命令
- Hack-56 Mke2fsk 命令
- Hack-57 挂载一个分区
- Hack-58 查看分区信息
- Hack-59 新建一个 swap 分区
- Hack-60 新建用户
- Hack-61 新建用户组
- Hack-62 SSH 密钥登录
- Hack-63 ssh-copy-id 和 ssh- agent
- Hack-64 Crontab 命令
- Hack-65 用 SysRq key 安全的重启
- Hack-66 Parted 命令
- Hack-67 Rsync 命令
- Hack-68 Chkconfig/Service 命令
- Hack-69 Anacron 配置
- Hack-70 IPTables 规则举例
- 第九章 - 安装软件
- 第十章 - LAMP 套装
- 第十一章 - Bash 脚本
- 第十二章 - 系统性能监控
- 第十三章 - 额外的技巧
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
Hack-52 History 命令
History 命令
你敲的每一个命令都会被忠实地记录下来 --- 我。
上面说的也不完全对啦,因为这个"忠实"会被各种方法破解...
首先你要有一个历史记录的概念,然后你要知道这些记录存放到哪儿,最后你要知道这些记录可以被删除,修改。
搜索历史命令
快捷键 Ctrl + r
非常建议你使用这个命令,因为当你曾经输过一个很长的命令之后,当你再次想输入这个命令的时候,你就可以按下这个快捷键,然后键入那条长命令的关键词,然后就会显示出含有那个关键词的命令,每次按下这个键都会再往上搜一个。
( 还有一些其他的快捷键,在我的博客上: HERE )
重复上一次的命令
- 向上的方向键
- 两个叹号:
!!
- 还有这个:
!-1
- 快捷键
Ctrl+p
最好用的还是方向键,不是么~
从历史记录中执行某个命令
还是沿袭上一个中的 !-n
模式,其中 n
是一个编号。
# history | more
1 service network restart
2 exit
3 id
4 cat /etc/redhat-release
# !4
cat /etc/redhat-release
作者给出的例子中,执行了编号为 4
的命令。
执行曾经的命令中特定开头的
假设你的部分历史命令如下:
1719 find . -type f
1720 find . -type f | cpio -o > test.cpio
1721 find . | cpio -o > test.cpio
1722 ls
1723 l
1724 du -h
那么,怎样重复执行 1721 条呢? 除了利用 !-1721
这么麻烦的方法,我们还可以用 !f
这样的姿势。
因为开头的 f
是离着最后一条命令最近的,所以 !f
就执行了它。
清空历史记录
history -c
从历史记录中截取参数
在下面的例子中, !!:$
等价于上一条命令的最后一个参数:
# ls anaconda-ks.cfg
anaconda-ks.cfg
# vi !!:$
vi anaconda-ks.cfg
下面的例子中, !^
则等价于上一条命令的第一个参数:
# cp anaconda-ks.cfg anaconda-ks.cfg.bak
anaconda-ks.cfg
# vi !^
vi anaconda-ks.cfg
从特定的历史记录中截取特定的参数
下面的例子中, !cp:2
等价于当前历史记录中,最后一个以 cp
开头的命令的第二个参数; !cp:$
则等价于当前历史记录中最后一个以 cp
开头的命令的最后一个参数。
是不是有点啰嗦...
# cp ~/longname.txt /really/a/very/long/path/long-
filename.txt
... ... ...
# ls -l !cp:2
ls -l /really/a/very/long/path/long-filename.txt
# ls -l !cp:$
ls -l /really/a/very/long/path/long-filename.txt
本书简介:
- Linux 进阶技巧
- 巧妙的命令组合
- Bash 某些技巧
- 一共一百零一个(包括充数的)
- 最后有个奖励章(额外技巧)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论