首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

linux 执行过的命令

在Linux系统中,执行过的命令可以通过几种方式进行查看:

1. 历史命令(History)

Linux系统会记录用户执行过的命令,这些命令被保存在用户的家目录下的.bash_history文件中(对于使用Bash shell的用户)。可以通过以下命令查看历史命令:

代码语言:txt
复制
history

或者直接查看.bash_history文件:

代码语言:txt
复制
cat ~/.bash_history

2. lastcomm命令

lastcomm命令可以显示系统中所有用户执行过的命令,这些信息通常保存在/var/log/auth.log/var/log/secure文件中,具体取决于Linux发行版。使用lastcomm需要root权限:

代码语言:txt
复制
sudo lastcomm

3. journalctl命令

如果系统使用systemd作为初始化系统,可以使用journalctl命令查看所有用户的命令历史:

代码语言:txt
复制
sudo journalctl _COMM=bash

优势

  • 审计和追踪:查看命令历史可以帮助管理员追踪用户的操作,进行安全审计。
  • 重复利用:用户可以快速找到并重复之前执行过的命令,提高工作效率。

应用场景

  • 故障排查:当系统出现问题时,查看命令历史可以帮助定位问题发生前的操作。
  • 安全审计:管理员可以通过命令历史来检查是否有未授权的操作或者可疑行为。
  • 学习借鉴:新手可以通过查看他人的命令历史来学习常用的命令和操作。

注意事项

  • 命令历史可能不包含敏感命令,因为一些用户可能会配置shell以避免记录特定命令。
  • 命令历史文件可能会被篡改或删除,因此不应该完全依赖它来进行安全审计。

解决问题的方法

如果你遇到了无法查看命令历史的问题,可以尝试以下方法:

  • 检查shell配置:确保.bashrc.bash_profile中没有禁用历史记录的设置。
  • 检查文件权限:确保.bash_history文件存在且具有正确的读取权限。
  • 检查系统日志:如果使用lastcommjournalctl,确保相关日志文件存在且未被禁用。

如果你需要进一步的帮助,请提供更具体的问题描述。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Linux命令执行过程

一.命令分类 Linux命令分为两类,具体为内部命令和外部命令 内部命令: 指shell内部集成的命令,此类命令无需人为安装,开机后自动运行在内存中,命令help查看所有内部命令的详情,如cd、type...删除/usr/local/bin下的echo,hash中任然存echo的路径/usr/local/bin,再次使用echo “welcome to xi’an” 结论:执行hash中的命令优先$PATH...中的命令 4.开启内部命令echo,再次执行echo “welcome to xi’an” 结论:说明内部命令优先于hash缓存命令和外部命令 5.定义别名alias echo=“hostname...”,如果echo 输出是hostname的内容时,则表明alias比内部命令优先 总结:命令执行顺序为alias——内部命令——hash缓存——外部命令 三.命令分类及查找基本命令 1.type command...5、ls执行完既定的步骤后,退出并返回退出码,若成功则返回0,否则根据错误的不同返回不同的非零数字。 6、shell在得到成功退出码后,继续等待用户输入。

4.5K30
  • Linux命令执行过程

    一.命令分类 Linux命令分为两类,具体为内部命令和外部命令 内部命令: 指shell内部集成的命令,此类命令无需人为安装,开机后自动运行在内存中,命令help查看所有内部命令的详情,如cd、type...删除/usr/local/bin下的echo,hash中任然存echo的路径/usr/local/bin,再次使用echo “welcome to xi’an” 结论:执行hash中的命令优先$PATH...中的命令 4.开启内部命令echo,再次执行echo “welcome to xi’an” 结论:说明内部命令优先于hash缓存命令和外部命令 5.定义别名alias echo=“hostname...”,如果echo 输出是hostname的内容时,则表明alias比内部命令优先 总结:命令执行顺序为alias——内部命令——hash缓存——外部命令 三.命令分类及查找基本命令 1.type command...5、ls执行完既定的步骤后,退出并返回退出码,若成功则返回0,否则根据错误的不同返回不同的非零数字。 6、shell在得到成功退出码后,继续等待用户输入。

    4.6K30

    安卓的shell命令_android执行linux命令

    -f 列出目标设备中已安装的应用程序包的具体位置 adb uninstall xxx 卸载或删除的应用包xxx adb pull /data/app/com.tencent.tbs-1/...base.apk 将手机已安装程序的apk下载到你所在的文件夹 /* 安装卸载apk */ adb install xx.apk (一定要切换到含有apk的文件夹) 也可以:pm install...adb devices查看你的设备; adb -s xiaomi shell:-s命令表示选择设备,这里是选择xiaomi设备进shell exit 退出shell状态 以下两个只能在shell...、支持模糊匹配 例如adb shell dumpsys activity services com.linux.example +++++++++++++++++++++++++ 查看正在运行的 activity...例如adb shell dumpsys activity com.linux.example +++++++++++++++++++++++++ clear 清除应用数据 +++++++++++

    3.2K10

    Linux的watch命令--周期性执行某个命令

    watch是一个非常实用的命令,基本所有的Linux发行版都带有这个小工具,如同名字一样,watch可以帮你监测一个命令的运行结果,省得你一遍遍的手动运行。...在Linux下,watch是周期性的执行下个程序,并全屏显示执行结果。你可以拿他来监测你想要的一切命令的结果变化,比如 tail 一个 log 文件,ls 监测某个文件的大小变化,看你的想象力了!...1.命令格式: watch[参数][命令] 2.命令功能: 可以将命令的输出结果输出到标准输出设备,多用于周期性执行命令/定时执行命令 3.命令参数: -n或--interval watch缺省每2秒运行一下程序...而-d=cumulative选项会把变动过的地方(不管最近的那次有没有变动)都高亮显示出来。 -t 或-no-title 会关闭watch命令在顶部的时间间隔,命令,当前时间的输出。...实例4:10秒一次输出系统的平均负载 watch -n 10 uptime 本文转载自: 每天一个linux命令(48):watch命令

    1.5K20

    Linux重新执行某个历史命令

    Linux重新执行某个历史命令 0.前置芝士 1.Linux重新执行某个历史命令 ---- ---- 0.前置芝士 ❝Linux执行过的命令存储在家目录下的.bash_history文件中 ❞ 1....Linux重新执行某个历史命令 ❝众所周知,使用上下方向键可以执行当前窗口之前执行过的命令,但是使用方向键翻找历史命令就显得很不方便。...❞ 此时使用以下步骤,即可快速重新执行之前的命令 查看历史命令「history」 history n : 显示n条最近的历史命令 [root@node01 ~]$ history 10 1005 ls...start-dfs.sh 1011 ps -ef | grep mysql 1012 top 1013 ps -ef | grep redis 1014 hadoop fs -ls / 重新执行命令...xxxx 比如重新执行「cd /opt/app」 !1008 重新执行「sudo vim /etc/profile」 !

    4.2K40

    mysql不执行命令_linux mysql启动命令

    大家好,又见面了,我是你们的朋友全栈君。 Linux下使用mysql命令需要配置好环境以及各种文件,下面由学习啦小编为大家整理了linux下mysql命令不能用的相关知识,希望对大家有帮助!...linux的mysql命令没用解决方法 1.重新安装mysql命令,方法步骤如下: 一 安装步骤 从这里下载你需要的版本(注意选择你操作系统是64位的还是32位的): 这里只介绍两种判断linux是64...即是32位的 linux, 如是64位的, 显示的是 64-bit 命令:uname -m [root@app3 config]# uname -m x86_64 同上 开发中一般使用msyql的二进制包解压安装...执行下面的命令: rm -rf /var/lib/mysql 然后重新执行下面步骤: cd mysql_directory scripts/mysql_install_db –user=mysql chown...补充: 在最近的使用中,组内有的人使用linux的mysql用户启动mysql,有的人使用root用户启动mysql。

    7.2K20

    SAS学习--导入数据、执行Linux命令

    前言 在SAS中国也已经待了有一段时间,经过这么久的熏陶我对SAS语言还不是很熟悉,平时的时间也没有太过深入的去进行学习SAS语言,前几天去中国银行客户现场,也总算接触到了一点SAS语言的皮毛,今天就算是一个引子吧...,准备在博客开一个学习SAS语言的专栏,一是来记忆一下学到的知识点,俗话说好记性不如烂笔头,二是积累一下自己的技能,为后面的工作做铺垫,人生总是走在学习的路上。...,这里不过多赘述) SAS代码导入 本次工作的目标 本次的工作目标是用SAS脚本把客户的外部数据导入到SAS软件中 SAS代码导入实例 导入内部数据,也就是sas代码中定义的数据,使用 datalines...假设数据是用 ,进行分割,数据项是 china,beijing,为保证该行数据能完整被读入,需要使用 dsd SAS执行Linux命令,并返回命令执行的结果 sas比较强大的地方就是可以无缝与shell...进行集成衔接,这样你就可以使用shell获取到的结果进行数据处理与分析,可用到的场景非常之多,举一个例子,在sas进行io测试的时候,我们可以图形化界面显示出io测试的结果和数据,后期尝试写一个脚本出来

    1.8K30

    Linux下使用popen()执行shell命令

    *command , const char *type ); int pclose(FILE *stream); 函数说明 popen()函数通过创建一个管道,调用fork()产生一个子进程,执行一个...shell以运行命令来开启一个进程。...pclose()函数关闭标准I/O流,等待命令执行结束,然后返回shell的终止状态。如果shell不能被执行,则pclose()返回的终止状态与shell已执行exit一样。   ...command参数是一个指向以NULL结束的shell命令字符串的指针。这行命令将被传到bin/sh并使用-c标志,shell将执行这个命令。   ...向这个流写内容相当于写入该命令的标准输入,命令的标准输出和调用popen()的进程相同;与之相反的,从流中读数据相当于读取命令的标准输出,命令的标准输入和调用popen()的进程相同。

    2.5K20
    领券