首页
学习
活动
专区
工具
TVP
发布

Shell 搞定 Linux 命令审计

前段时间学习群中有朋友在询问线上 Linux 主机的命令行操作审计方案时,当时给了一个 rsyslog + elasticsearch 的方案简单搪塞过去了,并没有对方案的细节进行说明。...首先,当谈到 Linux 的操作审计需求时,大多数我们希望的是还原线上服务器被人为(误)操作时执行的命令行,以及它关联的上下文。...既然文章标题是 Shell 来完成, 由此可见今天的主题跟 Bash 脱不了关系了。...Linux 部分 准备一些必要的工具 rsyslog: 一个Linux上自带并兼容 syslog 语法的日志处理服务 jq: 一个在 shell 下处理 json 数据的小工具 logger: 一个可以往...rsyslog 服务进行处理,并将格式化后的日志存储在 ElasticSearch 中方便辅助系统管理者在线上故障定位时使用,也可以依此对 Linux命令行审计做可视化的二次开发。

98510
您找到你想要的搜索结果了吗?
是的
没有找到

Linux 命令显示硬件信息

最简单的方法是使用标准的 Linux GUI 程序之一: i-nex 收集硬件信息,并且类似于 Windows 下流行的 CPU-Z 的显示。...使用命令行的主要原因可能是编写脚本。无论你是使用 Linux shell 还是其他编程语言来编写脚本通常都需要使用命令行。 很多检测硬件信息的命令行都需要使用 root 权限。...内存 Linux 命令行使你能够收集关于你的计算机内存的所有可能的详细信息。你甚至可以不拆开计算机机箱就能确定是否可以为计算机添加额外的内存条。...要列出所有磁盘及其分区和大小,请使用以下命令: lsblk 使用以下命令获取更多有关扇区数量、大小、文件系统 ID 和 类型以及分区开始和结束扇区: fdisk -l 要启动 Linux,你需要确定 GRUB...-m 最后,你可以列出所有的 USB 和 PCI 总线以及其他设备的详细信息: lsusb 或 lspci 网络 Linux 提供大量的网络相关命令,下面只是几个例子。

5.1K20

Linux 的 watch 命令观察命令和任务

了解 watch 命令如何让你知道任务已完成或命令已执行。 有很多时候,你需要等待一些事情的完成,比如: 一个文件的下载。 创建或解压一个 tar 文件。 一个 Ansible 作业。...你可以这样的命令查询所有这些: $ ls -l downloaded-file$ find . | wc -l$ podman ps$ docker ps 但是反复运行这些命令,即使是利用 Bash...那就是 watch 这个命令。 安装 watch watch 命令是 procps-ng 包的一部分,所以如果你是在 Linux 上,你已经安装了它。...例如,在 docker ps 命令前加上 watch,就可以这样操作: $ watch docker ps  watch 命令,以及一些创造性的 Unix 命令行技巧,可以生成临时的仪表盘。...-type f | xargs grep suspicious-pattern' watch 观察一个命令 watch 命令对于许多临时性的系统管理任务非常有用,在这些任务中,你需要在没有进度条的情况下等待一些耗时的步骤

1.5K10

Linux 的 watch 命令观察命令和任务

你可以这样的命令查询所有这些: $ ls -l downloaded-file $ find . | wc -l $ podman ps $ docker ps 但是反复运行这些命令,即使是利用 Bash...那就是 watch 这个命令。 安装 watch watch 命令是 procps-ng 包的一部分,所以如果你是在 Linux 上,你已经安装了它。...使用 watch watch 命令定期运行一个命令并显示其输出。它有一些文本终端的特性,所以只有最新的输出才会出现在屏幕上。 最简单的用法是:watch 。...例如,在 docker ps 命令前加上 watch,就可以这样操作: $ watch docker ps watch 命令,以及一些创造性的 Unix 命令行技巧,可以生成临时的仪表盘。...-type f | xargs grep suspicious-pattern' watch 观察一个命令 watch 命令对于许多临时性的系统管理任务非常有用,在这些任务中,你需要在没有进度条的情况下等待一些耗时的步骤

81220

Linux 的 watch 命令观察命令和任务

了解 watch 命令如何让你知道任务已完成或命令已执行。 有很多时候,你需要等待一些事情的完成,比如: 一个文件的下载。 创建或解压一个 tar 文件。 一个 Ansible 作业。...你可以这样的命令查询所有这些: $ ls -l downloaded-file $ find . | wc -l $ podman ps $ docker ps 但是反复运行这些命令,即使是利用 Bash...那就是 watch 这个命令。 安装 watch watch 命令是 procps-ng 包的一部分,所以如果你是在 Linux 上,你已经安装了它。...例如,在 docker ps 命令前加上 watch,就可以这样操作: $ watch docker ps watch 命令,以及一些创造性的 Unix 命令行技巧,可以生成临时的仪表盘。...-type f | xargs grep suspicious-pattern' watch 观察一个命令 watch 命令对于许多临时性的系统管理任务非常有用,在这些任务中,你需要在没有进度条的情况下等待一些耗时的步骤

75620

watch 命令Linux 观察命令和任务

watch 命令是 procps-ng 包的一部分,所以如果你是在 Linux 上,你已经安装了它。 在 macOS 上,使用 MacPorts 或 Homebrew 安装 watch。...使用 watch watch 命令定期运行一个命令并显示其输出。它有一些文本终端的特性,所以只有最新的输出才会出现在屏幕上。 最简单的用法是:watch 。...例如,在 docker ps 命令前加上 watch,就可以这样操作: $ watch docker ps  watch 命令,以及一些创造性的 Unix 命令行技巧,可以生成临时的仪表盘。...控制频率 最后,有时该命令可能是资源密集型的,不应运行得太频繁。-n 参数控制频率。...-type f | xargs grep suspicious-pattern' watch 观察一个命令 watch 命令对于许多临时性的系统管理任务非常有用,在这些任务中,你需要在没有进度条的情况下等待一些耗时的步骤

79030

Linux| Awk 中“next”命令

简介 本文[1]介绍了在Linux中使用Awk的next命令来跳过剩余的模式和表达式,读取下一行输入的方法。 next命令 在 Awk 系列教程中,本文要讲解如何使用 next 命令。...这个命令能让 Awk 跳过所有你已经设置的其他模式和表达式,直接读取下一行数据。 使用 next 命令可以避免执行那些我认为在命令执行过程中会浪费时间的步骤。...具体来说,上面的命令是这样执行的: 首先,它会检查每一行的第四个数据(即数量)是否不超过 20。...接下来,命令会判断每一行的第四个数据是否大于 20,如果是的话,这条记录也会被打印出来,这一步是通过另一个表达式 $4 > 20 来完成的。...要解决这个问题,本文可以使用 next 命令,操作如下: 在通过 4 <= 20 { printf "%s\t%s\n", next 命令对于提高命令的执行效率至关重要,当需要时,它可以显著加快脚本的运行速度

7710

Linux shell命令用法及常见例之tar命令

添加改变了和现有的文件到已经存在的压缩文件 -j 支持bzip2解压文件 -v 显示操作过程 -l 文件系统边界设置 -k 保留原有文件不覆盖 -m 保留文件不被覆盖 -w 确认压缩文件的正确性 -p或–same-permissions 原来的文件权限还原文件...常见的压缩格式 Linux 中常见的压缩格式有: *.Z:compress 程序压缩的文件。 *.gz:gzip 程序压缩的文件。 *.bz2:bzip2 程序压缩的文件。...因此tar命令就出现了,tar不是一个 “压缩命令”,而是一个“打包命令”。也就是说,tar可以把很多文件「打包」成一个文件,甚至连目录也可以进行打包。...使用-f指定读取或者写入的归档文件,可以-表示标准输入或者标准输出,-f可以与其他参数连起来写,必须保证f参数后面跟的是文件名。...描述:将file1、file2等多个文件从归档文件中提取出来,可以空格隔开多个文件,也可以通配符的形式。

1.8K31

Linux fd 代替 find命令

许多 Linux 程序员在其工作中每天都在使用 find 命令。但是 find 给出的文件系统条目是有限的,如果你要进行大量的 find 操作,它甚至不是很快速。...因此,我更喜欢使用 Rust 编写的 fd 命令,因为它提供了合理的默认值,适用于大多数使用情况。 正如它的 README 所说,“fd 是一个在文件系统中寻找条目的程序。...安装 fd 在 Linux 上,你可以从你的软件库中安装 fd(可用的软件包列表可以在 Repology 上的 fd 页面 找到)。...man/exa.1.md/home/ssur/exa/man/exa_colors.5.md/home/ssur/exa/xtests/README.md$ 你也可以通过提供 -x 或 -X 来执行一个命令...-x/--exec:选项为每个搜索结果(并行)运行一个外部命令。 -X/--exec-batch:选项将所有搜索结果作为参数启动一次外部命令

1.6K50

Linux dust 代替 du命令

如果你在 Linux 命令行上工作,你会熟悉 du 命令。了解像 du 这样的命令,可以快速返回磁盘使用情况,是命令行使程序员更有效率的方法之一。...然而,如果你正在寻找一种方法来节省更多的时间,使你的生活更加容易,看看 dust,它是 Rust 重写的 du,具有更多的直观性。 简而言之,dust 是一个提供文件类型和元数据的工具。...安装 dust 你可以使用 Rust 的 Cargo 包管理器安装 dust: $ cargo install du-dust 另外,你可以在 Linux 上的软件库中找到它,在 macOS 上,可以使用...探索 dust 在一个目录中执行 dust 命令,会返回一个图表,以树状格式显示其内容和每个项目所占的百分比。...│ ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░▓▓▓▓▓█ │ 1% 1.2M │ │ │ ┌── linux

1.9K30

这些Linux命令你真的对了吗?

1 Linux 命令种类繁多,其中有很多我们特别容易忽略的细节,在这里总结出来与大家分享一下。如有错误的地方,希望各位能不吝赐教。...,就会移动lnkdir1所指向的目录dir1: $ mv lnkdir1/ /home/dir2 正确的做法是这样: $ mv lnkdir1 /home/dir2 至于什么是软链接,可以看:彻底明白Linux...或者你可以将这个命令添加到你的 .bash_profile 文件的末尾,然后重新登录进来。显然这种方法是十分繁琐而且不安全的。 最好的方法是 ./ 来调用它(首先必须要有可执行权限): $ ....当你的 tests 参数是 -name 时,为了确保 pattern 被传递给 find 命令而不是 shell 来处理,pattern 必须总是引号括起。...使用find命令,可以看:一文详解 | Linux find 命令 参考:https://www.jianshu.com/p/a78e616e3b2e

55120

linuxexport命令临时设置环

今天在执行flask命令的时候报了一个错误, RuntimeError: Click will abort further execution because Python 3 was configured...LC_ALL=C.UTF-8 export LANG=C.UTF-8 Click discovered that you exported a UTF-8 locale 意思就是我需要执行两个export命令...,设置一下字符集,按照提示进行设置后可以正常运行了,借用这个问题引出一个知识点,export命令和locale字符集。...Linux export命令用于设置或显示环境变量。 在shell中执行程序时,shell会提供一组环境变量。export可新增,修改或删除环境变量,供后续执行的程序使用。...重点在于export的执行仅仅适用于当前登陆操作,也就是说当你关闭了当前窗口,再次登录时,这个变量又回到了原来的值,需要再次执行些命令进行设置。

2.7K10

有趣的Linux命令,皮一下

我们在平时工作中会利用Linux命令查看日志信息,Linux还有很多好玩的命令,有兴趣的可以研究这些命令的源码从而修改或开发自己的Linux命令,寓学于乐,皮一下很快乐,一直皮一直快乐。...命令安装: sudo apt-get install sl 输入命令后,展示效果如下: 二 cowsay cowsay 作用是ASCII字符打印牛,羊等动物,默认情况下,动物是牛。...这里我们使用动物—乌龟,命令如下: cowsay -f turtle "欢迎关注微信公众号:ITester软件测试小栈" 输入命令后,展示效果如下: 三 oneko oneko命令桌面上出现一只猫...命令安装: sudo apt-get install fortune 输入命令: fortune 展示效果如下: 如果英文不太习惯,可以下载中文库。...温馨提示:千万不要轻易尝试这个命令

93210

linux系统write和wall命令实现对话

这篇文章主要介绍“linux系统write和wall命令实现对话”,有一些人在linux系统write和wall命令实现对话的问题上存在疑惑,接下来小编就给大家来介绍一下相关的内容,希望对大家解答有帮助...即可输入自己想要说的话,将所要说的话输入完成后,按ctrl+D,这样所有在线的用户就可以同时收到信息的内容,不过这个只能发一次,下一次再发的话还得从头再来,如果两个在线用户想一直聊的话就得用write命令...“linux系统write和wall命令实现对话”的内容就介绍到这里了,感谢大家的阅读 免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱

1.6K10

Linux新手入门:fdisk命令轻松分区

今天就跟大家聊聊有关“Linux新手入门:fdisk命令轻松分区”的内容,可能很多人都不太了解,为了让大家认识和更进一步的了解,小编给大家总结了以下内容,希望这篇“Linux新手入门:fdisk命令轻松分区...回头看看是怎么算的;还是+200M这个办法来添加,这样能直观一点。...mkfs.xfs 等命令来格式化分区,比如我想格式化 sda6为ext3文件系统,则输入;   [root@localhost beinan]# mkfs.ext3 /dev/sda6   如果我想加载...sda6到目前系统来存取文件,应该有mount 命令,但首先您得建一个挂载目录;比如 /mnt/sda6 ;   [root@localhost beinan]# mkdir /mnt/sda6   ...新手入门:fdisk命令轻松分区”的文章就介绍到这了!

1.9K10

Linux 的 at 命令来安排一个任务 | Linux 中国

什么是 Linux at 命令? at 命令是在 Linux 终端让你在特定时间和日期安排一次性工作的方法。它是一种自发的自动化,在终端上很容易实现。...安装 at 在 Linux 上,at 命令可能已经安装了。你可以使用 at -V 命令来验证它是否已经安装。只要返回一个版本号,就说明你已经安装了 at。...$ at -V at version x.y.z 如果你试图使用 at,但没有找到该命令,大多数现代的 Linux 发行版会为你提供缺少的 at 软件包。...在大多数 Linux 系统中,你可以使用 systemctl 命令来启用该服务,并将它们设置为从现在开始自动启动: $ sudo systemctl enable --now atd at 交互式地安排一个作业... Linux at 安排任务 at 系统是一个很好的方法,可以避免忘记在一天中晚些时候运行一个作业,或者在你离开时让你的计算机为你运行一个作业。

84620

linux命令行安装gcc_linuxyum安装gcc

下面由学习啦小编为大家整理了linux下安装gcc命令的方法,希望大家喜欢! linux下安装gcc命令 1 下载 在GCC网站上或者通过网上搜索可以查找到下载资源。...pwd命令可以查看当前路径。 在${srcdir}/INSTALL目录下有详细的GCC安装说明,可用浏览器打开index.html阅读。 3....建立目标目录 目标目录({objdir}表示)是用来存放编译结果的地方。...% source $HOME/.bash_profile 新的编译命令(gcc412、g++412等)编译你以前的C、C++程序,检验新安装的GCC编译器是否能正常工作。...版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

25.6K30

Linux命令起个酷酷的微信号

我想有以下几类人迫不及待地想修改微信号: 1、微信号里有前任名字的全拼或缩写; 2、微信号里有自己或前任的生日 3、微信号里有电话号码(想接电话的除外) 那我们写个小脚本,Linux命令起个酷酷的微信号吧...all_cmd}; do if [[ ${#i} -ge 6 ]];then echo ${i} fi done 稍微解释下,第2行拿到所有命令赋值给变量...all_cmd,${PATH//:/ } 是将PATH变量值中的":"号替换成空格,所以ls命令就能打印出PATH变量对应目录中的所有命令了,然后grep命令过滤出文件,awk打印出命令字段,再用sort...因为微信号需要大于或等于6个字符,最后用for循环过滤大于或等于6的命令。 修改微信号的入口在“我->个人信息->微信号”,想改微信号的人一定能找的到!一年只能修改一次

1.7K40

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券