文章目录
在工作中,经常会需要多次重复某一个命令,或者需要查看之前执行过什么命令,那么都少不了history这个命令,下面一起来看看吧。
history的英文单词来源于它自己,主要功能是用于显示与管理历史记录。linux系统默认会记录用户所执行过的所有命令,可以使用history命令查阅它们,也可以对其命令进行修改和删除操作。
1)用help或man查看history命令
语法:history 【参数】/ history 【参数】文件
[root@localhost ~]# help history
history: history [-c] [-d 偏移量] [n] 或 history -anrw [文件名] 或 history -ps 参数 [参数...]
选项:
-c 删除所有条目从而清空历史列表。
-d 偏移量 从指定位置删除历史列表。
-a 将当前绘画的历史行追加到历史文件中
-n 从历史文件中读取所有未被读取的行
-r 读取历史文件并将内容追加到历史列表中
中
-w 将当前历史写入到历史文件中
并追加到历史列表中
-p 对每一个 ARG 参数展开历史并显示结果
而不存储到历史列表中
-s 以单条记录追加 ARG 到历史列表中
2)命令的常用参数:
| -a | 写入命令记录 |
| -c | 清空命令记录 |
| -d | 删除指定序号的命令记录 |
| -n | 读取命令记录 |
| -r | 读取命令记录到缓冲区 |
| -s | 将指定的命令添加到缓冲区 |
| -w | 将缓冲区信息写入到历史文件 |
1)显示历史记录,且再次执行其中的一个命令;
[root@localhost ~]# history
1 rpm -ivh httpd
2 rpm -ivh http
3 which rpm
4 rpm -qa | wc -l
5 which rz
6 rpm -qf /usr/bin/rz
7 rpm -e lrzsz --nodeps
8 which rz
9 rpm -p
10 rpm repolist
[root@localhost ~]# !3 #!数字
which rpm
/usr/bin/rpm
[root@localhost ~]# vim /etc/bashrc #ctrl+r 快捷键从下往上搜索,右方向键确定
(reverse-i-search)`vim': vim /etc/bashrc
[root@localhost ~]# !cd #!字符串
cd ~
有三种方式可以再次执行历史记录的命令:
2)打印3行历史记录内容;
[root@localhost ~]# history 3
46 history --help
47 history
48 history 3
3)将本次缓冲区信息写入到历史文件中; 历史记录是有一个本地用户文件的(~/.bash_history)
将文件给删除了,文件内的内容也一并删除了,不过用户重新登入会自动生成一个相同文件出来。
[root@localhost ~]# history -w
[root@localhost ~]# tail -n 3 .bash_history
history
history 3
history -w
4)将历史文件中的信息读入到当前缓冲区中;
[root@localhost ~]# history -r
[root@localhost ~]# history
1 yum grouplist
2 df -h
3 yum grouplist
5)将本次缓冲区信息追加写入到历史记录中;
[root@localhost ~]# history -a
6)清空本次缓存区;
[root@localhost ~]# history -c
[root@localhost ~]# history
1 history
7)如果要设置一个用户的密码,但是又担心显示在历史记录会被看到,可以用-d删除;
[root@localhost ~]# useradd user1
[root@localhost ~]# echo "123456" | passwd --stdin user1
更改用户 user1 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@localhost ~]# history 2
4 echo "123456" | passwd --stdin user1
5 history 2
[root@localhost ~]# history -d 4
[root@localhost ~]# history 3
4 history 2
5 history -d 4
6 history 3
8)因为history默认只能保留1000条历史记录的数量,所以若要增加数量到2000,可以通过修改变量写入到文件里;
[root@localhost ~]# echo $HISTSIZE
1000
[root@localhost ~]# vim .bash_profile
[root@localhost ~]# tail -n1 .bash_profile
export HISTSIZE=2000
[root@localhost ~]# source .bash_profile
[root@localhost ~]# echo $HISTSIZE
2000
[root@localhost ~]#
history遇到重复执行的命令,可以继续用来执行,并且这个命令的参数上不会太多,只有几个常用到的。
如果觉得内容还行,请一定要点个赞再走,谢谢!
我想用ruby编写一个小的命令行实用程序并将其作为gem分发。我知道安装后,Guard、Sass和Thor等某些gem可以从命令行自行运行。为了让gem像二进制文件一样可用,我需要在我的gemspec中指定什么。 最佳答案 Gem::Specification.newdo|s|...s.executable='name_of_executable'...endhttp://docs.rubygems.org/read/chapter/20 关于ruby-在Ruby中编写命令行实用程序
Sinatra新手;我正在运行一些rspec测试,但在日志中收到了一堆不需要的噪音。如何消除日志中过多的噪音?我仔细检查了环境是否设置为:test,这意味着记录器级别应设置为WARN而不是DEBUG。spec_helper:require"./app"require"sinatra"require"rspec"require"rack/test"require"database_cleaner"require"factory_girl"set:environment,:testFactoryGirl.definition_file_paths=%w{./factories./test/
我有两个Rails模型,即Invoice和Invoice_details。一个Invoice_details属于Invoice,一个Invoice有多个Invoice_details。我无法使用accepts_nested_attributes_forinInvoice通过Invoice模型保存Invoice_details。我收到以下错误:(0.2ms)BEGIN(0.2ms)ROLLBACKCompleted422UnprocessableEntityin25ms(ActiveRecord:4.0ms)ActiveRecord::RecordInvalid(Validationfa
1.postman介绍Postman一款非常流行的API调试工具。其实,开发人员用的更多。因为测试人员做接口测试会有更多选择,例如Jmeter、soapUI等。不过,对于开发过程中去调试接口,Postman确实足够的简单方便,而且功能强大。2.下载安装官网地址:https://www.postman.com/下载完成后双击安装吧,安装过程极其简单,无需任何操作3.使用教程这里以百度为例,工具使用简单,填写URL地址即可发送请求,在下方查看响应结果和响应状态码常用方法都有支持请求方法:getpostputdeleteGet、Post、Put与Delete的作用get:请求方法一般是用于数据查询,
我从Ubuntu服务器上的RVM转移到rbenv。当我使用RVM时,使用bundle没有问题。转移到rbenv后,我在Jenkins的执行shell中收到“找不到命令”错误。我内爆并删除了RVM,并从~/.bashrc'中删除了所有与RVM相关的行。使用后我仍然收到此错误:rvmimploderm~/.rvm-rfrm~/.rvmrcgeminstallbundlerecho'exportPATH="$HOME/.rbenv/bin:$PATH"'>>~/.bashrcecho'eval"$(rbenvinit-)"'>>~/.bashrc.~/.bashrcrbenvversions
Ⅰ软件测试基础一、软件测试基础理论1、软件测试的必要性所有的产品或者服务上线都需要测试2、测试的发展过程3、什么是软件测试找bug,发现缺陷4、测试的定义使用人工或自动的手段来运行或者测试某个系统的过程。目的在于检测它是否满足规定的需求。弄清预期结果和实际结果的差别。5、测试的目的以最小的人力、物力和时间找出软件中潜在的错误和缺陷6、测试的原则28原则:20%的主要功能要重点测(eg:支付宝的支付功能,其他功能都是次要的)80%的错误存在于20%的代码中7、测试标准8、测试的基本要求功能测试性能测试安全性测试兼容性测试易用性测试外观界面测试可靠性测试二、质量模型衡量一个优秀软件的维度①功能性功
ES一、简介1、ElasticStackES技术栈:ElasticSearch:存数据+搜索;QL;Kibana:Web可视化平台,分析。LogStash:日志收集,Log4j:产生日志;log.info(xxx)。。。。使用场景:metrics:指标监控…2、基本概念Index(索引)动词:保存(插入)名词:类似MySQL数据库,给数据Type(类型)已废弃,以前类似MySQL的表现在用索引对数据分类Document(文档)真正要保存的一个JSON数据{name:"tcx"}二、入门实战{"name":"DESKTOP-1TSVGKG","cluster_name":"elasticsear
我正在尝试将以下SQL查询转换为ActiveRecord,它正在融化我的大脑。deletefromtablewhereid有什么想法吗?我想做的是限制表中的行数。所以,我想删除少于最近10个条目的所有内容。编辑:通过结合以下几个答案找到了解决方案。Temperature.where('id这给我留下了最新的10个条目。 最佳答案 从您的SQL来看,您似乎想要从表中删除前10条记录。我相信到目前为止的大多数答案都会如此。这里有两个额外的选择:基于MurifoX的版本:Table.where(:id=>Table.order(:id).
我目前正在用Ruby编写一个项目,它使用ActiveRecordgem进行数据库交互,我正在尝试使用ActiveRecord::Base.logger记录所有数据库事件具有以下代码的属性ActiveRecord::Base.logger=Logger.new(File.open('logs/database.log','a'))这适用于迁移等(出于某种原因似乎需要启用日志记录,因为它在禁用时会出现NilClass错误)但是当我尝试运行包含调用ActiveRecord对象的线程守护程序的项目时脚本失败并出现以下错误/System/Library/Frameworks/Ruby.frame
我有一个问题。我想从另一个ruby脚本运行一个ruby脚本并捕获它的输出信息,同时让它也输出到屏幕。亚军#!/usr/bin/envrubyprint"Enteryourpassword:"password=gets.chompputs"Hereisyourpassword:#{password}"我运行的脚本文件:开始.rboutput=`runner`putsoutput.match(/Hereisyour(password:.*)/).captures[0].to_s正如您在此处看到的那样,存在问题。在start.rb的第一行,屏幕是空的。我在运行程序中看不到“输入您的密