linux命令历史(资源分享)_第1页
linux命令历史(资源分享)_第2页
linux命令历史(资源分享)_第3页
linux命令历史(资源分享)_第4页
linux命令历史(资源分享)_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、linux命令历史linux命令历史篇一:linux基础教程 linux下学习history命令的用法实例 linux基础教程 linux下学习history命令的用法实例 1.使用 histtimeformat 显示时间戳 当你从命令行执行 history 命令后,通常只会显示已执行命令的序号和命令本身。假如你想要查看命令历史的时间戳,那么可以执行: 复制代码代码如下: # export histtimeformat=%f %t # history | more 1 2021-08-05 19:02:39 service network restart 2 2021-08-05 19:02:

2、39 exit 3 2021-08-05 19:02:39 id 4 2021-08-05 19:02:39 cat /etc/redhat-release 留意:这个功能只能用在当 histtimeformat 这个环境变量被设置之后,之后的那些新执行的 bash 命令才会被打上正确的时间戳。在此之前的全部命令,都将会显示成设置histtimeformat 变量的时间。 2.使用 ctrl+r 搜寻历史 ctrl+r 是我经常使用的一个快捷键。此快捷键让你对命令历史进行搜寻,对于想要重复执行某个命令的时候特殊有用。当找到命令后,通常再按回车键就可以执行该命令。假如想对找到的命令进行调整后再执

3、行,则可以按一下左或右方向键。 复制代码代码如下: # press ctrl+r from the command prompt, which will display the reverse-i-search prompt(reverse-i-search)red: cat /etc/redhat-release note: press enter when you see your command, which will execute the command from the history# cat /etc/redhat-release fedora release 9 (sulph

4、ur) 3.快速重复执行上一条命令 有 4 种方法可以重复执行上一条命令: 使用上方向键,并回车执行。 按 ! 并回车执行。 输入 !-1 并回车执行。 按 ctrl+p 并回车执行。 4.从命令历史中执行一个指定的命令 在下面的例子中,假如你想重复执行第 4 条命令,那么可以执行 !4: 复制代码代码如下: # history | more 1 service network restart 2 exit 3 id 4 cat /etc/redhat-release # !4 cat /etc/redhat-release fedora release 9 (sulphur) 5.通过指定关

5、键字来执行以前的命令 在下面的例子,输入 !ps 并回车,将执行以 ps 打头的命令: 复制代码代码如下: # !ps ps aux | grep yp root 16947 0.0 0.1 36516 1264 ? sl 13:10 0:00 ypbind root 17503 0.0 0.0 4124 740 pts/0 s+ 19:19 0:00 grep yp 6.使用 histsize 把握历史命令记录的总行数 将下面两行内容追加到 .bash_profile 文件并重新登录 bash shell,命令历史的记录数将变成 450 条: 复制代码代码如下: # vi /.bash_pr

6、ofile histsize=450 histfilesize=450 7.使用 histfile 更改历史文件名称 默认状况下,命令历史存储在 /.bash_history 文件中。添加下列内容到 .bash_profile 文件并重新登录 bash shell,将使用 .commandline_warrior 来存储命令历史: 复制代码代码如下: # vi /.bash_profile histfile=/root/.commandline_warrior 8.使用 histcontrol 从命令历史中剔除连续重复的条目 在下面的例子中,pwd 命令被连续执行了三次。执行 history

7、后你会看到三条重复的条目。要剔除这些重复的条目,你可以将 histcontrol 设置为 ignoredups: 复制代码代码如下: # pwd # pwd # pwd # history | tail -4 44 pwd 45 pwd 46 pwd note that there are three pwd commands in history, after executing pwd 3 times as shown above 47 history | tail -4 # export histcontrol=ignoredups # pwd # pwd # pwd # history

8、 | tail -3 56 export histcontrol=ignoredups 57 pwd note that there is only one pwd command in the history, even after executing pwd 3 times as shown above 58 history | tail -4 9.使用 histcontrol 清除整个命令历史中的重复条目 上例中的 ignoredups 只能剔除连续的重复条目。要清除整个命令历史中的重复条目,可以将 histcontrol 设置成 erasedups: 复制代码代码如下: # expor

9、t histcontrol=erasedups # pwd # servicehttpd stop # history | tail -3 38 pwd 39 service httpd stop 40 history | tail -3 # ls -ltr # servicehttpd stop # history | tail -6 35 export histcontrol=erasedups 36 pwd 37 history | tail -3 38 ls -ltr 39 service httpd stop note that the previous service httpd

10、stop after pwd got erased 40 history | tail -6 10.使用 histcontrol 强制 history 不记住特定的命令 将 histcontrol 设置为 ignorespace,并在不想被记住的命令前面输入一个空格: 复制代码代码如下: # export histcontrol=ignorespace # ls -ltr # pwd # servicehttpd stop note that there is a space at the beginning of service, to ignore this command from hi

11、story # history | tail -3 67 ls -ltr 68 pwd 69 history | tail -3 11.使用 -c 选项清除全部的命令历史 假如你想清除全部的命令历史,可以执行: 复制代码代码如下: # history -c 12.命令替换 linux命令历史篇二:linux基础教程 教你隐蔽linux的命令行历史 linux基础教程教你隐蔽linux的命令行历史 假如你是 linux 命令行的用户,有的时候你可能不期望某些命令记录在你的命令行历史中。缘由可能很多,例如,你在公司担当某个职位,你有一些不期望被其它人滥用的特权。亦或者有些特殊重要的命令,你不期望在

12、你扫瞄历史列表时误执行。 然而,有方法可以把握哪些命令进入历史列表,哪些不进入吗?或者换句话说,我们在 linux 终端中可以开启像扫瞄器一样的无痕模式吗?答案是确定的,而且依据你想要的具体目标,有很多实现方法。在这篇文章中,将和大家争辩一些行之有效的方法。 留意:文中消逝的全部命令都在 ubuntu 下测试过。 不同的可行方法 前面两种方法已经在之前一篇文章中描述了。假如你已经了解,这部分可以略过。然而,假如你不了解,建议认真阅读。 1. 在命令前插入空格 是的,没看错。在命令前面插入空格,这条命令会被 shell 忽视,也就意味着它不会消逝在历史记录中。但是这种方法有个前提,只有在你的环境

13、变量 histcontrol 设置为 ignorespace 或者 ignoreboth 才会起作用。在大多数状况下,这个是默认值。 所以,像下面的命令(lctt 译注:这里space表示输入一个空格): spaceecho this is a top secret 假如你之前执行过如下设置环境变量的命令,那么上述命令不会消逝在历史记录中。 export histcontrol = ignorespace 下面的截图是这种方式的一个例子。 第四个 echo 命令由于前面有空格,它没有被记录到历史中。 2. 禁用当前会话的全部历史记录 假如你想禁用某个会话全部历史,你可以在开头命令行工作前简洁地

14、清除环境变量 histsize 的值即可。执行下面的命令来清除其值: export histsize=0 histsize 表示对于 bash 会话其历史列表中可以保存命令的个数(行数)。默认状况,它设置了一个非零值,例如在我的电脑上,它的值为 1000。 所以上面所提到的命令将其值设置为 0,结果就是直到你关闭终端,没有东西会存储在历史 记录中。记住同样你也不能通过按向上的箭头按键或运行 history 命令来看到之前执行的命令。 3. 工作结束后清除整个历史 这可以看作是前一部分所提方案的另外一种实现。唯一的区分是在你完成全部工作之后执行这个命令。下面是刚说到的命令: history -c

15、w 刚才已经提到,这个和 histsize 方法有相同效果。 4. 只针对你的工作关闭历史记录 虽然前面描述的方法(2 和 3)可以实现目的,它们可以清除整个历史,在很多状况下,有些可能不是我们所期望的。有时候你可能想保存直到你开头命令行工作之间的历史记录。对于这样的需求,你开头在工作前执行下述命令: spaceset +o history 备注:space 表示空格。并且由于空格的缘由,该命令本身也不会被记录。 上面的命令会临时禁用历史功能,这意味着在这命令之后你执行的全部操作都不会记录到历史中,然而这个命令之前的全部东西都会原样记录在历史列表中。 要重新开启历史功能,执行下面的命令: sp

16、aceset -o history 它将环境恢复原状,也就是你完成了你的工作,执行上述命令之后的命令都会消逝在历史中。 5. 从历史记录中删除指定的命令 现在假设历史记录中已经包含了一些你不期望记录的命令。这种状况下我们怎么办?很简洁。直接动手删除它们。通过下面的命令来删除: history | grep part of command you want to remove 上面的命令会输出历史记录中匹配的命令,每一条前面会有个数字。 一旦你找到你想删除的命令,执行下面的命令,从历史记录中删除那个指定的项: history -d num 其次个echo命令被成功的删除了。 同样的,你可以使用向

17、上的箭头始终往回翻看历史记录。当你发觉你感爱好的命令消逝在终端上时,按下“ctrl + u”清除整行,也会从历史记录中删除它。 总结 有多种不同的方法可以操作 linux 命令行历史来满足你的需求。然而请记住,从历史中隐蔽或者删除命令通常不是一个好习惯,尽管本质上这并没有错。但是你必需知道你在做什么,以及可能产生的后果。 linux命令历史篇三:强有力的linux历史命令 强有力的linux历史命令 你还记得几个 遗忘历史的linux用户注定要输入很多信息。这也让强有力的历史命令不仅在援引之前执行命令时有用,在调用其它很少用到的命令时也有用。本文就介绍些强有力的linux历史命令,不知你还能记

18、起几个? ad: 遗忘历史的linux用户注定要输入很多信息。” 这也让强有力的历史命令(包括bash shell的历史变体)不仅在援引之前执行命令而不需重新输入它们时有用,在调用其它很少用到的命令时也有用,这省去了必需重新使用它们的麻烦。该命令按时间挨次列出了之前执行命令的清单。 该命令的输出示例如下: $ history . 62 rm 092210.sql 63 mysqldump 64 mysqldump -u root -p dev_gamenomad_com 092210.sql 65 more 092210.sql 66 rm 092210.sql . 9991 mkdir ch

19、apter05 9992 cd chapter05 9993 dir 9994 npm install websocket-server 9995 node hello.js 9996 exit 9997 history 与每条命令相关的挨次号服务于重要目的,允许用户通过供应直接跟着感叹号的挨次号来重新执行相关命令,如下: $ !10000 sudo /etc/init.d/apache2 start * starting web server apache2 但这并不是全部。linux历史命令能做到更多,本文后续部分也将提及。 掌控历史扩展 敲击向上箭头键会显示之前执行的命令,敲击enter

20、键会再次执行该命令。但是还可以使用另一个可能更快的包括历史扩展功能的选择: $ ! 假如你重复执行同样两条或三条命令的不同排列组合,你还可以选择通过识别其位移负指数来执行消逝在上一命令消逝处的命令。例如,执行之前命令的前一命令(回退两条命令),运用以下序列: $ !-2 执行早期命令的另一方式是输入紧跟着感叹号的命令序列号的开头。符合字符对象的第一条命令会执行。举例来说,假设最终三条命令如下: $ history . 9876 build-book /home/wjgilmore/easy_php 9877 mkdir chapter05 9878 cd chapter05 9879 touc

21、h chapter05.md 你可以只通过运行以下命令来再次执行构书脚本: $ !b 用两步过程创建一个确认它的新名目和导航和以运用历史扩展缩短。在本例中,我创建了一个叫做 easy_bash的新名目,位置在/home/wjgilmore/books。要确认该名目,运用!$来获得在前一命令中发觉在最终“字符”: $ mkdir /home/wjgilmore/books/easy_bash $ cd !$ 搜寻命令历史 虽然可以翻阅命令历史(或使用grep命令),但在使用ctrl+r开放选择搜寻它之后也可以调用该命令的片段,提示的命令行将如下所示: (reverse-i-search): 开头

22、输入命令片段,命令行会实时更新反映出最符合的一条。输入apa后会消逝类似于这样的命令: (reverse-i-search)apa: sudo /etc/init.d/apache2 start 当你看到想要的命令,敲击enter执行它,或者敲击向上箭头键在重新执行前修改它。 调整历史行为 你可以做很多好玩的设置更改来把握命令历史的行为方式。例如,bash shell设置的默认历史大小是500条记录,这个限制很快就达到了,即使是很小的命令行相互作用。你可以通过设置在bash配置文件(.bash rc,位于主名目中)上发觉的histsize变量提高限制数。 histsize=10000 你在命名为histcontrol的.bashrc中通常还会遇到

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论