Linux 入门篇第七章

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 打印输出 ! (上一条命令的最后一个参数)的内容
    • !: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: 展开历史参数成一行,附加在历史列表后,也就是伪造历史

推荐阅读更多精彩内容

  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 2,182评论 0 4
  • 开机图形化自动登录:(图形化界面可以使用gedit命令,命令行使用nano,vi,vim其中一个都可以,以下以) ...
    圆缘1987阅读 152评论 0 1
  • 一、命令行Tab自动补全 很多初学者会觉得在Linux下面输入很长的一个文件名是一件很麻烦的事情,那其实是你没掌握...
    不知岁月惜阅读 209评论 0 0
  • 基础命令 主要的命令和快捷键 Linux系统命令由三部分组成:cmd + [options]+[operation...
    守护者20091776阅读 530评论 0 0
  • [TOC] ##Assoc 显示或修改文件扩展名关联 Assoc [.Ext[=[Filetype]]] .Ex...
    btijjj阅读 90评论 0 1