教你一些Linux中隐藏bash历史命令的小技巧
| 导读 | 如果你登录过 Linux 系统,并敲过一些命令,那你应该知道,bash history 会记录你输入的所有命令。这个操作其实是有一定风险的。 |
我个人经常使用 Linux,所以我想着研究一番,看看如何隐藏 bash history。下面就是我整理的一些方法,仅供大家参考:
· exit normally – history 记录正常写入
· kill– 服务器端运行 -kill bash 进程ID后就不会再记录 history 了。我检查过是否需要加-9参数,不过不用,只需要一个基本的 kill 命令,就可以杀掉进程并阻止它写入文件。
·kill – 客户端运行–kill ssh 进程 ID,即时加了-9参数还是会有历史记录。
· set +o history– 不会将任何当前会话写入日志。可以在会话期间任何时间运行,并隐藏所有命令。
· set -o history– 重启日志记录,但是会记录 set 命令,所以会发生一些明显的变化。
· unset HISTFILE – 清除记录历史文件位置的变量,这样就不会存储任何东西
· history -c– 彻底清除历史。这条命令作用非常明显,因为所有的历史命令都没了。
· export HISTIGNORE=“ls*:cat*”– 这条命令是不记录引号中以冒号为分隔符的命令。这条命令可以使用shell模式,有点类似正则,但不尽相同
· export HISTFILESIZE=10– 设置历史记录数量为10。如果你已经完成了想要隐藏的操作,但又想保留其他的命令,请重新计算,将记录数的大小设置为小于总数并继续执行。这样,所有之前的命令就会不可见,看起来会有一些可疑,但是因为历史记录中还是有内容,所以人们可能不会注意到。
· editing the.bash_history file– 如果你在会话期间编辑这个文件,编辑的内容将会出现在会话的命令之前,这样你其实可以在 history 中添加一些你实际并没有运行过的命令,所以这也不失为一个好办法。
· using multiple sessions– 一个会话终止时才会写入 bash history。那我们可以使用两个会话,第一个会话终止会写入history,然后第二个会话的内容会在第一个会话终止时才开始写入 history
· putting a space before a command(命令前面加一个空格) – 根据配置,在命令前加一个空格,就会不进行记录。如果你已经输入了你不想记录的命令,那么这个功能就没什么用,但如果想让几条好不相关的命令看似一条的话,使用这个还是不错的。在使用之前请先进行测试,因为根据发行版和用户配置不同,情况会有所不同。
· history -r– 这条命令会重新读取 history 文件,能够将历史记录重置为你登录时的状态。这条命令似乎非常有用,尤其是你可以编辑 history 文件,添加命令时,然后关掉 shell。这会写入经过你修改的 history,不留任何痕迹。
上面这些命令,好像“set +o history”是最好用的也是最通用的方法,因为它会隐藏当前会话的所有命令,但是会保留之前的命令。
不过根据场景不同,其他的命令也是非常有效的。
在你使用这些命令之前,一定要先自己测试一遍。当你已经登录了一个系统,而且意识到需要隐藏某些命令时,不要慌张,history 只会在会话结束时写入,所以只要会话还没有结束,你就可以停下来思考,怎么去隐藏命令,希望本文的内容能够帮到你。
本文转自:https://www.linuxprobe.com/linux-bash.html
教你一些Linux中隐藏bash历史命令的小技巧的更多相关文章
- Linux中编写Bash脚本的10个技巧
Shell 脚本编程 是你在 Linux 下学习或练习编程的最简单的方式.尤其对 系统管理员要处理着自动化任务,且要开发新的简单的实用程序或工具等(这里只是仅举几例)更是必备技能. 本文中,我们将分享 ...
- 在 Alpine Linux 中安装 bash shell
如何在我的 Alpine Linux LXD(Linux容器)虚拟机(VM)中安装 bash shell? Alpine Linux 自带 BusyBox 工具.它被评为“嵌入式 Linux 的瑞士军 ...
- [转]linux中强大的screen命令
[转]linux中强大的screen命令 http://pythonorg.diandian.com/post/2012-01-05/40027464147 今天用SCREEN用点生了,有几个功能不知 ...
- Linux中W与Who命令的使用
踢掉一个从某个终端连上的用户pkill -kill -t pts/0 ---------------------------------------------------------------- ...
- Linux中的叹号命令
在shell环境下操作,需要积累点快捷输入的小技巧: 最常用的技巧恐怕就是Tab自动补全以及上方向键来回退上几条历史命令了,这些对于csh,bash,ksh,zsh都适用. 最近还找到一种快速回退上一 ...
- Linux Shell基础 Bash常见命令 history、alias命令以及常用快捷键
概述 shell中常见命令history 历史纪录命令:history 命令格式如下: [root@localhost ~]# history [选项] [历史命令保存文件] -c:清空历史命令: ...
- 【日常小记】linux中强大且常用命令:find、grep【转】
转自:http://www.cnblogs.com/skynet/archive/2010/12/25/1916873.html 在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍fin ...
- Linux 中强大且常用命令:find、grep
在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍find.grep命令,他哥俩可以算是必会的linux命令,我几乎每天都要用到他们.本文结构如下: find命令 f ...
- 【转载】Linux中强大且常用命令:find、grep
转载自:http://www.linuxeden.com/html/softuse/20130804/142065.html 在linux下面工作,有些命令能够大大提高效率.本文就向大家介绍find. ...
随机推荐
- RestfulAPI超简单入门
简单入门 REST -- REpresentational State Transfer,英语的直译就是"表现层状态转移" 是目前最流行的 API 设计规范,用于 Web 数据接口 ...
- 对象属性键值[key]属性问题
1,obj[key]此时key代表是循环中的一个变量. var obj = {key:3,key1:1,key2:2,key3:3,toSting:4}; for (key in obj) { con ...
- JavaScript高级编程———基本包装类型String和单体内置对象Math
JavaScript高级编程———基本包装类型和单体内置对象 <script> var stringObject = new String("hello world") ...
- 微信小程序< 3 > ~ 微信小程序开源项目合集
简介 移动开发者想学习微信小程序需要学习一点HTML ,CSS和JS才能够比较快速的上手,参考自己学习Android学习过程,阅读源码是一个很好的方式,所以才收集了一些WeApp的开源项目. awes ...
- 实验:JS判断浏览器中英文版本
<script type="text/javascript"> var lang = (navigator.systemLanguage?navigator.syste ...
- FineBI表单如何更新
FineBI表单如何更新 1. 描述Cube单表更新,是指在某个业务包上面设置定时更新,在某个固定的时间点对某个的业务包中的特定表进行数据更新,部分更新分为两种,全量更新和增量更新,因而在更新策略上则 ...
- 使用 jQuery Ajax 异步登录,并验证用户输入信息(maven)
使用 jQuery Ajax 异步登录,并验证用户输入信息(maven) 本篇内容: (1)上一篇是使用同步的请求实现登录,并由 Servlet 决定登陆后下一步做哪些事情,本篇使用 jQuery A ...
- LeetCode题解之Linked List Cycle
1.题目描述 2.问题分析 使用快慢指针方法,一个快指针,一个慢指针,如果到某个时候,快指针追上了慢指针,则说明有环存在. 3.代码 bool hasCycle(ListNode *head) { i ...
- 从 Azure 下载 Windows VHD
本文介绍如何使用 Azure 门户从 Azure 下载 Windows 虚拟硬盘 (VHD) 文件. Azure 中的虚拟机 (VM) 将磁盘用作存储操作系统.应用程序和数据的位置. 所有 Azure ...
- 将float转换为数据类型numeric时出现算术溢出错误
今天修改数据库字段类型,把float转换成decimal类型. 找了好多资料都没从根本上解决问题.多亏了下面的这个blog http://blog.csdn.net/wangchao1982/arti ...