Linux 入门篇第七章
知识回顾
命令行历史
- 每次重复去敲一个命令比方麻烦,短还好说,长的话就浪费时间
[root@CentOS7 app]# history 列出命令历史 他是依赖于shell类型
1 ifconfig
2 init 3
3 clear
4 ls
5 clear
6 lsblk
7 claer
8 clear
9 ls
10 clear
11 ls
12 lsblk
13 pwd
14 hostname
15 pwd
如果机器出问题了,你可以查看历史看执行错了什么命令
你还可以拿他来执行一条命令
[root@CentOS7 app]# !1 命令在第几个就输入几,记住是小写哦,看编号就可以了
ifconfig
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 11.11.11.151 netmask 255.255.255.0 broadcast 11.11.11.255
inet6 fe80::983f:764b:b0f2:d045 prefixlen 64 scopeid 0x20<link>
ether 08:00:27:06:09:bc txqueuelen 1000 (Ethernet)
RX packets 8941 bytes 1114727 (1.0 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 5822 bytes 903304 (882.1 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
每一个命令执行以后,命令会放到一个文本里面,可以用以下命令查看
[root@CentOS7 ~]# cat .bash_history 这个文件可以里面可以查看
如果把他这个文件里面东西删除了就没有历史了,每个用户都有自己的历史
root是root的历史,普通用户是普通用户的历史
如果一个命令执行一次,按TAB键可以自动输入上一次执行过的命令,还有一个办法
[root@CentOS7 ~]# hostname
CentOS7.3
[root@CentOS7 ~]# !! 可以用这个办法 区分大小写
hostname
CentOS7.3
有些命令不能重复执行,切记如删除还有一个办法就是
[root@CentOS7 ~]# !86
ls
anaconda-ks.cfg Desktop Documents Downloads initial-setup-ks.cfg Music Pictures Public Templates Videos
还有一个快捷键,这个他不执行,只是列出来,你还可以自己改
Ctrl+p
还有一个好用的命令:
[root@CentOS7 ~]# ls
anaconda-ks.cfg Desktop Documents Downloads initial-setup-ks.cfg Music Pictures Public Templates Videos
我上面先执行了一个ls命令,然后我在一个感叹号,在一个l就可以搜索到执行过的ls,这个命令慎用,有很大危险性,比如说有一个很长的命令你可以用用少用
[root@CentOS7 ~]# !l
ls
anaconda-ks.cfg Desktop Documents Downloads initial-setup-ks.cfg Music Pictures Public Templates Videos
- 接下来说说下令行历史
- string 重复前一个以“string”开头的命令
- !?string 重复前一个包含string的命令
- !string:p 仅打印命令历史,而不执行
- ! (上一条命令的最后一个参数)的内容
- !:p 打印输出 !(上一条命令的所有参数)的内容
- ^string 删除上一条命令中的第一个string
-
string1string2 将上一条命令中的第一个string1替换为string2
- !:gs/string1/string2 将上一条命令中所有的string1都替换为 string2
history 命令
- history [-c] [-d offset] [n]
- history -anrw [filename]
- history -ps arg [arg...]
- -c: 清空命令历史
- -d offset: 删除历史中指定的第offset个命令
- n: 显示最近的n条历史
- -a: 追加本次会话新执行的命令历史列表至历史文件
- -n: 读历史文件中未读过的行到历史列表
- -r: 读历史文件附加到历史列表
- -w: 保存历史列表到指定的历史文件
- -p: 展开历史参数成多行,但不存在历史列表中
- -s: 展开历史参数成一行,附加在历史列表后,也就是伪造历史
网友评论