Linux操作系统清除历史记录的方法 (linux 清除记录)

在使用Linux操作系统时,有很多的命令和操作需要通过终端来完成,这些操作在终端中执行后,都会留下相应的历史记录。这些历史记录包括网址、文件路径、命令等等,虽然这些历史记录对我们的工作有很大的帮助,但是有时也会带来一些隐私泄露的风险。因此,在某些情况下,我们需要清除Linux操作系统的历史记录。这篇文章将介绍。

一、清除命令历史记录

1.1 清除当前会话的历史记录

当我们在终端执行了一些敏感操作,或者输入了一些敏感的命令时,为了避免被他人发现,需要清除当前会话的命令历史记录。可以使用以下命令来清除当前会话的历史记录:

history -c

这个命令将会清空缓存的历史记录,让它不会被其他人发现。

1.2 清除所有历史记录

如果我们需要清除所有的历史记录,不仅仅只是清空当前会话的历史记录,可以使用以下命令:

history -c && history -w

这个命令会清空所有的历史记录,并保存一个空的历史记录文件,这样就可以确保不会被他人发现。

二、清除终端历史记录

除了命令历史记录,终端还会记录我们使用的一些网址、文件路径等信息。这些信息也可能会泄露我们的隐私,因此我们需要清除终端的历史记录。

2.1 清除单个终端的历史记录

对于单个终端的历史记录,我们可以使用以下命令进行清除:

history -w && cat /dev/null > ~/.bash_history && history -c && exit

这个命令可以清空当前终端的历史记录,并在退出终端时将其保存。

2.2 清除所有终端的历史记录

如果我们需要清除所有终端的历史记录,可以使用以下命令:

for i in $(find /home -type f -name “.bash_history”); do > $i; done && history -c

这个命令将会递归查找所有用户主目录下的.bash_history文件,并清空它们的内容。这样就可以清除所有终端的历史记录。

三、自动清除历史记录

以上介绍的清除历史记录的方法,都需要手动执行相应的命令。这种方法不太方便,特别是当我们需要频繁清除历史记录时。因此,我们可以设置定时任务来自动清除历史记录。

3.1 设置定时任务

我们可以通过编辑crontab来设置定时任务:

crontab -e

然后在文件的末尾添加以下命令:

0 0 * * * history -c && history -w && cat /dev/null > ~/.bash_history

这个命令会在每天的午夜12点自动运行,清空所有历史记录。如需自定义清除时间,可自行修改cron表达式。

3.2 清除参数持续时间

命令历史记录默认的保存时间为500条,我们可以通过修改环境变量来改变其持续时间。可以编辑环境变量文件:

nano /etc/profile.d/clearhistory.sh

然后在文件中添加以下内容:

export HISTSIZE=0

export HISTFILESIZE=0

这个命令会将历史记录的持续时间设置为0,即不保存历史记录。这样就可以确保我们的历史记录不会被他人发现。

在Linux操作系统中,清除历史记录是一个非常重要的操作,可以保障我们的隐私和安全。以上介绍的方法可以让你轻松地清除命令和终端历史记录,以及设置自动清除历史记录的定时任务。同时,我们也可以通过编辑环境变量来调整历史记录的持续时间,确保我们的命令和终端历史记录不会被泄露。

相关问题拓展阅读:

Linux中清除痕迹和隐藏自己-清除last login 有什么可以修改的工具也可以发一下

注意使用logtamper,只能清除日志痕迹,而且主要针对utmp,wtmp,lastlog。而事实上,linux系统重要的会留下你的痕迹日志燃丛模有:lastlog、utmp、wtmp、messages、syslog、sulog,所以不能完全依赖工具。

此外,各种皮缓shell还会记录用户使用的命令历史,它使用用户主目录下的文件来记录这些命令历史,通常这个

文件的名字为.sh_history (ksh),.history (csh),或.bash_history (bash)等郑链。

对于.bash_history(bash),可以简单的使用 histroy -c来清除记录。

logtamper version1.1

logtamper是一款*修改*linux日志的工具,在修改日志文件的同时,能够保留被修改文件的时间信息(atime没改,觉得没必要)。

# ./logtamper-static

Logtamper v 1.1 for linux

Copyright (C) 2023 by xi4oyu

logtamper -h username hostname hide username connected from hostname

logtamper -w username hostname erase username from hostname in wtmp file

logtamper -m username hostname ttyname YYYY>>>> modify lastlog info

-f 选项:用于指定要修改的文件的路径的,是个可选项。由于不同系统的日志存放路径不一样,可以手工指定。

默认的日志存放地点是:

#define UTMPFILE “/var/run/utmp”

#define WTMPFILE “/var/log/wtmp”

#define LASTLOGFILE “/var/log/lastlog”

-h 选项: 有时候你和管理员同时在线,管理员w一下就能看到你了。使用-h选项用户躲避管理员w查看,如下:

# w

21:27:25 up 5 days, 13:48, 4 users, load average: 0.00, 0.00, 0.00

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT

root tty1 – Fri14 18:24m 0.33s 0.33s -bash

root pts/3 192.168.80.1 21:21 6:22 0.04s 0.04s -bash

root pts/2 192.168.80.1 21:06 0.00s 0.13s 0.00s w

root pts/4 192.168.80.1 21:21 5:52 0.03s 0.03s -bash

我们是从192.168.80.1机器连上来的,现在隐藏下:

# ./logtamper-static -h root 192.168.80.1

Logtamper v 1.1 for linux

Copyright (C) 2023 by xi4oyu

Seems you’re invisible Now…Check it out!

# w

21:27:46 up 5 days, 13:48, 1 user, load average: 0.00, 0.00, 0.00

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT

root tty1 – Fri14 18:24m 0.33s 0.33s -bash

#

-w 选项:用于清除你的登录日志,现在上的linux日志除工具做的很粗燥啊,这个可以指定清除某些hostname过来的机器。

# last

root tty1 Wed Oct 1 21:30 – 21:30 (00:00)

root pts/4 192.168.80.1 Wed Oct 1 21:21 still logged in

root pts/3 192.168.80.1 Wed Oct 1 21:21 still logged in

wtmp begins Wed Oct 1 06:01:

清除192.168.80.1的登录日志:

# ./logtamper-static -w root 192.168.80.1

Logtamper v 1.1 for linux

Copyright (C) 2023 by xi4oyu

Aho,you are now invisible to last…Check it out!

# last

root tty1 Wed Oct 1 21:30 – 21:30 (00:00)

wtmp begins Wed Oct 1 06:01:

#

-m 选项:用于修改上次登录地点,我们使用ssh登录的时候可能会注意到这点

login as: root

Sent username “root”

’s password:

Last login: Wed Oct 1 21:31:from 192.168.80.45

#

如果不修改lastlog的话,管理员下次登录就会提示从我们的机器IP登录。使用-m选项可以编辑这个选项:

# ./logtamper-static -m root 1.2.3.4 tty:1:1:1:1:1

Logtamper v 1.1 for linux

Copyright (C) 2023 by xi4oyu

Aho, now you never come here before…Check it out!

#

当然,这只是个举例,在使用中各位请根据具体信息修改,下次管理员登录,登录界面就成了

login as: root

Sent username “root”

’s password:

Last login: Tue Jan 1 01:01:from 1.2.3.4

#

linux命令历史

一、如何查看Linux中各个用户的历史操作命令

查看命令历史用history命令,历史命令只有在注销的时候,才会被更新到~/.bash_history这个系统历史命令记录文件中;当你下次以bash登录Linux的时候,系统会主动由当前用户的~/.bash_history文件读取历史命令的记录。

history命令逗裂用法:

history 数字

列出最近的n条命令;

history -w

将目前的历史记忆的内容强制立即写入~/.bash_history文件中;

history -c

将目前所有的历史命令记录全部清除。

二、如何将Linux系统的历史操作命令删除

你好,

1、修改/etc/profile将HISTSIZE=1000改成0或1

清除用户home路径下。bash_history

2、立即清空里的history当前历史命令的记录

history -c

3、bash执行命令时不是马上把命毕没令名称写入history文件的,而是存放在内部的buffer中,等bash退出时会一并写入。

不过,可以调用’history -w’命令要求bash立即更新history文件。

history -w

后续操作的删除命令只会删除当前用户的操作命令,并不会影响其他用户。

在提示符后输入命令history,就可以查看到当前用户的历史操作命令。图中所示的是目前系统保存到root用户输入的377条命令。

在提示符下输入命令history -c就可以删除历史操作命令。再用history命令查看,发现历史操作命令已删除。

如果希望系统不再保存历史操作命令,就必须更改配置文件目录下的配置文件profile。首先使用vi编辑器打开该文件。

找到HISTSIZE这个值,默认情况下历史命令将保存1000条,可以将该值改为0,然后保存并退出,最后重启系统使得配置文件生效。

6重启完成后,再次使用命令history查看,发现系统已不再记录命令。

三、linux怎么样显示命令历史后又显示命令的输入时间

linux的bash内部命令history就可以显示命令行的命令历史,默认环境执行 history

命令后,通常只会显示已执行命令的序号和命令本身。

如果想要查看命令历史的时间戳,那么可以执行:

# export HISTTIMEFORMAT=’%F %T ‘

# history | more

19:02:39 service work restart

19:02:39 exit

19:02:39 id

这样显示的格式就变成,序号 – 时间 – 命令行。

history的其他的一些基本功能:

1、使用 HISTSIZE 控制历史命令记录的总行手指纳数

将下面两行内容追加到 .bash_profile 文件并重新登录 bash shell,命令历史的记录数将变成 450

条:

# vi ~/.bash_profile

HISTSIZE=450

HISTFILESIZE=450

2、使用 HISTFILE 更改历史文件名称

默认情况下,命令历史存储在 ~/.bash_history 文件中。添加下列内容到 .bash_profile 文件并重新登录

bash shell,将使用 mandline_warrior 来存储命令历史:

# vi ~/.bash_profile

HISTFILE=/root/mandline_warrior

3、使用 HISTCONTROL 从命令历史中剔除连续重复的条目

在下面的例子中,pwd 命令被连续执行了三次。执行 history 后会看到三条重复的条目。要剔除这些重复的条目,可以将

HISTCONTROL 设置为 ignoredups:

# export HISTCONTROL=ignoredups

4、使用 HISTCONTROL 清除整个命令历史中的重复条目

上例中的 ignoredups 只能剔除连续的重复条目。要清除整个命令历史中的重复条目,可以将 HISTCONTROL 设置成

erasedups:

# export HISTCONTROL=erasedups

5、使用 -c 选项清除所有的命令历史

如果你想清除所有的命令历史,可以执行:

# history -c

6、使用 HISTIGNORE 忽略历史中的特定命令

下面的例子,将忽略 pwd、ls、ls -ltr 等命令:

# export HISTIGNORE=”pwd:ls:ls -ltr:”

四、请问linux的history指令如何显示全部的历史记录

history命令可以用来显示曾执行过的命令。

执行过的命令默认存储在HOME目录的.bash_history文件中,可以通过查看该文件来获取执行命令的历史记录。需要注意的是.bash_history不包含当前会话所执行的命令,执行过的命令在关机时才会写入文件,除非执行命令history -w。

了解linux基础命令,另外你是感兴趣的话可以看下刘遄老师写的《Linux就该这么学》作为入门的书籍,觉得不错的话采纳下哦~。

五、linux 查看当前系统默认可以记住用户多少个历史命令用什么命令

可以使用History命令,主要用于显示历史指令记录内容, 下达历史纪录中的指令 。

1、History命令语法:

# history

# history

# history histfiles

参数:

n:数字,要列出最近的 n 笔命令列表

-c:将目前的shell中的所有 history 内容全部消除

-a:将目前新增的history 指令新增入 histfiles 中,若没有加 histfiles ,

则预设写入 ~/.bash_history

-r:将 histfiles 的内容读到目前这个 shell 的 history 记忆中

-w:将目前的 history 记忆内容写入 histfiles

Linux系统在shell(控制台)中输入并执行命令时,shell会自动把命令记录到历史列表中,一般保存在用户目录下的.bash_history文件中。默认保存1000条,也可以更改这个值。

如果键入history, history会显示所使用的前1000个历史命令,并且编了号,会看到一个用数字编号的列表快速从屏幕上卷过。可能不需要查看1000个命令中的所有项目, 当然也可以加入数字来列出最近的 n 笔命令列表。

linux中history命令不仅仅可以查询历史命令而已. 还可以利用相关的功能来帮执行命令。

2、运行特定的历史命令

history会列出bash保存的所有历史命令,并且编了号,可以使用“叹号接编号”的方式运行特定的历史命令.

语法说明:

#

参数说明:

number :第几个指令的意思;

mand:指令的开头几个字母

! :上一个指令的意思!

3、History命令实战

列出所有的历史记录:

# history

只列出最近10条记录:

# history 10 (注,history和10中间有空格)

使用命令记录号码执行命令,执行历史清单中的第99条命令

#!99 (!和99中间没有空格)

重复执行上一个命令

#!!

执行最后一次以rpm开头的命令(!? ?代表的是字符串,这个String可以随便输,Shell会从最后一条历史命令向前搜索,更先匹配的一条命令将会得到执行。)

#!rpm

逐屏列出所有的历史记录:

# history | more

立即清空history当前所有历史命令的记录

#history -c

关于linux 清除记录的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » Linux操作系统清除历史记录的方法 (linux 清除记录)