如何查找命令及历史记录

如何找到一个命令、命令的历史记录、一些实用的快捷键、总结

学习如何查找命令和命令的历史记录。

1、如何找到一个命令

Q:有时候会想不起来一个命令到底是如何拼写的?那该怎么办吗?描述清楚点百度谷歌一波???

A:用 Tab 键来补全命令!!!Tab 键不仅可以补全命令,还可以补全文件名、路径名,绝对让我们的效率倍增。记个大概,经常使用。

例如,我输入mk,然后按两次Tab键,展示所有可能的补全选项。

mk就很多了

mkd就两个了

我继续输入mkdi,再按下Tab键,它就能为我自动补全成了mkdir了,因为只有一个了。

又例如,我用 ls 命令后跟一个目录名,我可以输入目录名的几个首字母,然后用按 Tab 来帮我补全,有很长的路径名时极为方便:ls -s

若有太多选项了,会分页显示。

我们可以按

  • 空格键:用于跳到下一页
  • 回车键:用于跳到下一行
  • q :用于退出列表。

注意:不同的系统不同的环境里面的命令的数目是不一样的,命令的数量一般取决于系统里安装了多少软件,安装的软件越多,可供选用的命令就越多。

2、命令的历史记录

有时我们忘记了之前输入的命令是什么,或者输入这句命令很长,不想再重新输入一遍。那么显示命令的历史就很有用了。(不想重新输入命令)

显示命令的历史记录

有两个按键是很常用的:

  • 向上键:按时间顺序向前查找用过的命令,每按一次就前进一个命令;
  • 向下键:按时间顺序向后查找用过的命令,每按一次也前进一个命令。

有时觉得上下键每次进一个命令太花时间,效率太慢了,我们也可以用查找的方法:

Ctrl + R : 用于查找使用过的命令

怎么用这个呢

例如,我查找 ping www.baidu.com 这个命令,就可以用 Ctrl + R 组合键,然后只输入pin,因为我之前使用过 ping www.baidu.com 这个命令,它就为我自动补全了 ping www.baidu.com 命令,哈哈如下图:

ifconfig, 命令用来查看和配置网络设备。

Linux:ping ip地址 是一直ping下去的, 加上-c是几次的,例如ping www.baidu.com -c4 ping百度四次。 而Windows是默认四次的。

Microsoft Windows [版本 10.0.17134.1365]
(c) 2018 Microsoft Corporation。保留所有权利。 C:\Users\x1c>ping www.baidu.com 正在 Ping www.a.shifen.com [36.152.44.96] 具有 32 字节的数据:
来自 36.152.44.96 的回复: 字节=32 时间=20ms TTL=55
来自 36.152.44.96 的回复: 字节=32 时间=20ms TTL=55
来自 36.152.44.96 的回复: 字节=32 时间=22ms TTL=55
来自 36.152.44.96 的回复: 字节=32 时间=24ms TTL=55 36.152.44.96 的 Ping 统计信息:
数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
最短 = 20ms,最长 = 24ms,平均 = 21ms C:\Users\x1c>
liuawen@DESKTOP-HVI7SH0:~$ ping www.baidu.com -c4
PING www.a.shifen.com (36.152.44.95) 56(84) bytes of data.
64 bytes from 36.152.44.95 (36.152.44.95): icmp_seq=1 ttl=55 time=20.1 ms
64 bytes from 36.152.44.95 (36.152.44.95): icmp_seq=2 ttl=55 time=29.9 ms
64 bytes from 36.152.44.95 (36.152.44.95): icmp_seq=3 ttl=55 time=22.0 ms
64 bytes from 36.152.44.95 (36.152.44.95): icmp_seq=4 ttl=55 time=20.5 ms --- www.a.shifen.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3000ms
rtt min/avg/max/mdev = 20.104/23.141/29.936/3.988 ms
liuawen@DESKTOP-HVI7SH0:~$ ping www.baidu.com
PING www.a.shifen.com (36.152.44.95) 56(84) bytes of data.
64 bytes from 36.152.44.95 (36.152.44.95): icmp_seq=1 ttl=55 time=19.8 ms
64 bytes from 36.152.44.95 (36.152.44.95): icmp_seq=2 ttl=55 time=19.9 ms
64 bytes from 36.152.44.95 (36.152.44.95): icmp_seq=3 ttl=55 time=20.9 ms
64 bytes from 36.152.44.95 (36.152.44.95): icmp_seq=4 ttl=55 time=19.9 ms
64 bytes from 36.152.44.95 (36.152.44.95): icmp_seq=5 ttl=55 time=21.7 ms
64 bytes from 36.152.44.95 (36.152.44.95): icmp_seq=6 ttl=55 time=21.7 ms
64 bytes from 36.152.44.95 (36.152.44.95): icmp_seq=7 ttl=55 time=21.2 ms
64 bytes from 36.152.44.95 (36.152.44.95): icmp_seq=8 ttl=55 time=20.4 ms
64 bytes from 36.152.44.95 (36.152.44.95): icmp_seq=9 ttl=55 time=30.3 ms
^C
--- www.a.shifen.com ping statistics ---
9 packets transmitted, 9 received, 0% packet loss, time 8009ms
rtt min/avg/max/mdev = 19.879/21.827/30.359/3.102 ms
liuawen@DESKTOP-HVI7SH0:~$

history命令

history是用于列出之前使用过的所有命令

保存我在终端输入过的命令,最近的一条命令是我刚输入的 history命令。

history命令可以方便了解自己之前输入过的那些命令。

history 列出的使用过的命令,是有编号的,如果要重新运行对应编号的命令,可以用 !编号 这样的格式。

我想重新运行154ping www.baidu.com -c4, 终端输入命令 !154

liuawen@DESKTOP-HVI7SH0:~$ !154
ping www.baidu.com -c4
PING www.a.shifen.com (36.152.44.95) 56(84) bytes of data.
64 bytes from 36.152.44.95 (36.152.44.95): icmp_seq=1 ttl=55 time=34.3 ms
64 bytes from 36.152.44.95 (36.152.44.95): icmp_seq=2 ttl=55 time=20.7 ms
64 bytes from 36.152.44.95 (36.152.44.95): icmp_seq=3 ttl=55 time=20.8 ms
64 bytes from 36.152.44.95 (36.152.44.95): icmp_seq=4 ttl=55 time=20.6 ms --- www.a.shifen.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 20.695/24.169/34.347/5.877 ms
liuawen@DESKTOP-HVI7SH0:~$

3、一些实用的快捷键

我想只使用键盘装个B,不喜欢装A。。。。。。

那就练好快捷键,命令行呗,让我键盘敲得飞起来。

一些经常使用的快捷键:

  • Ctrl + L 用于清理终端的内容,就是清屏的作用。其实 clear 命令也有同样效果, Ctrl + L 比输入clear 快得多,

  • Ctrl + D 给终端传递 EOF (End Of File,文件结束符),在运行程序时很有用。有些程序我们需要在接收到 EOF 输入时结束,那么我们就Ctrl + D 。退出 root 用户身份,就可以用 Ctrl + D。

如果在命令行提示符后什么也不输入的情况下直接按下这组快捷键,那么就会关闭当前的终端;

  • Shift + PgUp 用于向上滚屏,与鼠标的滚轮向上滚屏是一个效果;

  • Shift + PgDn 用于向下滚屏,与鼠标的滚轮向下滚屏是一个效果。

下面的快捷键在编辑一条比较长的命令时很有用:

  • Ctrl + A 光标跳到一行命令的开头。一般来说,Home 键有相同的效果;
  • Ctrl + E 光标跳到一行命令的结尾。一般来说,End 键有相同的效果;。
  • Ctrl + U 删除所有在光标左侧的命令字符;
  • Ctrl + K 删除所有在光标右侧的命令字符;
  • Ctrl + W 删除光标左侧的一个“单词”,这里的“单词”指的是用空格隔开的一个字符串。
  • Ctrl + Y 粘贴用 Ctrl + U、 Ctrl + K 或 Ctrl + W “删除”的字符串,有点像“剪切-粘贴”。

这些都是简单入门的快捷键,还有的。

4、小结

1、可以用 Tab 键来补全命令,非常方便。Tab 键不仅可以补全命令,还可以补全文件名、路径名。

2、键盘上下键来查看使用过的命令,也可以Ctrl+R快捷键查找我们曾经使用过的命令。

3、history,history命令是用于列出之前使用过的所有命令

4、一些快捷键组合,Ctrl+L、Ctrl + D、Ctrl + A、Ctrl + E 、Ctrl + W 、Ctrl + R 、Ctrl + Y 等等。

5、熟悉使用命令。

5、参考资料

1、专栏 Linux命令行与Shell脚本编程大全 - Oscar 简单记录-笔记

【Linux】如何查找命令及历史记录history的更多相关文章

  1. linux vi查找命令

    linux vi查找命令   div id="article_content" class="article_content">  使用vi编辑器编辑长文 ...

  2. linux中查找命令find、locate、whereis、which、type区别

    linux中查找命令find.locate.whereis.which.type区别 1. find Java代码 find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件.与查询数据库(/ ...

  3. Linux文件查找命令find,xargs详述【转】

    转自:http://blog.csdn.net/cxylaf/article/details/4069595 转自http://www.linuxsir.org/main/?q=node/137 Li ...

  4. Linux的查找命令

    1. 文件搜索find find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件. find的使用格式如下: $ find [搜索路径] [搜索条件][搜索文件名] 如果什么参数也不加,fi ...

  5. Linux搜索查找命令

    Linux搜索查找指令 find,用于在文件树中查找文件并作相应的处理 -name:按照文件名查找文件 -perm:按照文件权限查找文件 -user:按照文件属主来查找文件 -size:按照指定的文件 ...

  6. linux下查找命令总结

    查找命令总结,which,whereis,find,locate,type http://blog.csdn.net/jessica1201/article/details/8139249   1.f ...

  7. Linux下查找命令(收集整理)

    原文:http://blog.csdn.net/sunstars2009918/article/details/8510878 一.Linux查找文件的相关命令 常 用 命 令 简要中文说明 程序所在 ...

  8. Linux下查找命令 —— find、grep、 which、 whereis、 locate

    find命令 基本格式 find < path > < expression > < cmd > ''' path: 所要搜索的目录及其所有子目录.默认为当前目录. ...

  9. linux中查找命令find、locate、whereis、which、type的区别

    find find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件.与查询数据库(/var/lib/locatedb)文件不同,find查找的是磁盘空间. locate locate命令其实 ...

随机推荐

  1. win+mac全网视频无水印采集工具

    把网址填入输入框,点击下载即可.支持全网几十个平台,方便使用 window版:https://sansuinb.lanzous.com/i00Rjej0fib mac版:https://sansuin ...

  2. Kubernetes K8S之鉴权RBAC详解

    Kubernetes K8S之鉴权概述与RBAC详解 K8S认证与授权 认证「Authentication」 认证有如下几种方式: 1.HTTP Token认证:通过一个Token来识别合法用户. H ...

  3. MySQL最经典50道练习题

    表名和字段 学生表 Student(s_id,s_name,s_birth,s_sex):学生编号.学生姓名.出生年月.学生性别. 课程表 Course(c_id,c_name,t_id):课程编号. ...

  4. Hive通过Jdbc获取表的字段信息

    参考代码如下: /** * 按顺序返回字段 * desc table的返回结果形式如下: hive> describe ind01acoM; OK acq_ins_id_cd string cu ...

  5. 逆袭故事|从“点点点”到月薪17K,这个女孩子做到啦

    姓:XXX,XX VIP 学员,一名自动化测试工程师!之前在某大型培训机构转行学习软件测试时就是木子老师的学生,她也一直关注木子老师的动态,后来知道木子老师打算开设测试开发高级提升班,等开了班就报名了 ...

  6. APEX-数据导出/打印

    前言: 由于公司使用了Oracle APEX构建应用,且在APEX新版本v20.2版本中增强了相关报表导出数据相关功能:正好现在做的事情也需要类似的功能,就先来学习一下Oracle的APEX相关功能及 ...

  7. 赶紧收藏!Spring MVC 万字长文笔记,我愿奉你为王者笔记!

    Spring MVC Spring MVC是目前主流的实现MVC设计模式的企业级开发框架,Spring框架的一个子模块,无需整合Spring,开发起来更加便捷. 什么是MVC设计模式? 将应用程序分为 ...

  8. ASP.NET Core Web 支付功能接入 微信-扫码支付篇(转)

    原文 https://www.cnblogs.com/essenroc/p/8630730.html // 随着版本更迭,新版本可能无法完全适用,请参考仓库内的示例. 这篇文章将介绍ASP.NET C ...

  9. 【终极版】利用阿里云云解析API实现动态域名解析(ddns),搭建私有服务器【含可执行文件和源码】

    前言:懒人可以直接往下看,有代码和全部资源可以下载.此文章是先前文章的定时版,主要是添加了定时执行的功能,并且将代码中的配置项放置到了app.config文件中,方便不懂开发的朋友修改使用.未经许可请 ...

  10. 前后端分离项目获取后端跨控制器获取不到session

    最近做前后端分离项目(.net core web api  +vue)时,后台跨控制器不能获取到session.由于配置的是共享的session.本来以为是共享session出了问题,就在共享sess ...