30 个常用的 Linux 命令!

news2024/11/18 3:45:14

作者:JackTian
来源:公众号「杰哥的IT之旅」
ID:Jake_Internet
链接:30 个常用的 Linux 命令!

命令 1last用于显示用户最近登录信息,包括用户名、登录时间、登录来源等信息

单独执行last命令,将会读取/var/log/wtmp的文件,并把该文件内容记录的登入系统的用户名单全部显示出来。

last -na | head
  • -n <显示列数>或-<显示列数>:设置列出名单的显示列数
  • -a:把从何处登入系统的主机名称或 IP 地址,显示在最后一行

命令 2:过滤当前目录下以 1024 开头的文件,并统计这些文件的数量

ls | egrep ^1024 | wc -l
  • ls:用于显示目录内容列表
  • egrep:用于在文件内查找指定的字符串
  • ^1024是一个正则表达式,用于匹配以数字 1024 开头的文件。egrep命令将在输入中查找匹配这个模式的行

命令 3:过滤当前目录下以 1024 开头的文件,并显示这些文件的大小以及总用量

ls | egrep ^1024  | xargs du -ch
  • xargs:xargs 命令是给其他命令传递参数的一个过滤器
  • du:显示每个文件和目录的磁盘使用空间
  • -c:除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和
  • -h:以KMG为单位,提高信息的可读性

命令 4:显示当前目录下所有以"1024"开头、后缀名为".xml"的文件且只显示第一个文件的开头部分信息

ll 1024*.xml -rt | head -1
  • -r:逆序排列
  • -t:按时间信息排序
  • head:显示文件的开头部分,在未指定行数时默认显示前10行。-1:只显示输出的第一行

若当前目录下以"1024"开头、后缀名为".xml"的文件存在 N 个,那么这样方便辨别当前目录下最早接收到的此 xml 文件的时间点是什么时间。

命令 5:显示当前目录下所有以"1024"开头、后缀名为".xml"的文件且只显示第一个文件的开头部分信息并只打印出文件的第6、7、8个字段

ll 1024*.xml -rt | head -1 | awk '{print $6, $7, $8}'
  • awk '{print $6, $7, $8}':将上一个命令的输出传递给 awk 命令,awk 可以按照指定的格式提取文本内容,这里只打印出文件的第6、7、8个字段,也就是文件的月、日、时间点。

命令 6:列出当前目录下所有以.xml结尾的文件,并显示第8个字段(时间点)和第9个字段 xml 的文件名

ls -l *.xml | awk '{print $8,$9}' | grep -v '^$'
  • -v:反转匹配操作,也就是查找不包含某个字符串的行
  • ^:锚定行的开始,如:‘^1024’ 匹配所有以 1024 开头的行
  • $:锚定行的结束,如:‘1024$’ 匹配所有以 1024 结尾的行

命令 7:在 interface_check.log 日志文件中查找包含"2023-10-16"到"2023-10-22"区间的所有行,如果这些行中包含"异常",则打印出来。

awk '/2023-10-16/,/2023-10-22/ {if ($0 ~ /异常/) print}' interface_check.log
  • awk '/2023-10-16/,/2023-10-22/:从包含"2023-10-16"的行开始,到包含"2023-10-22"的行结束
  • {if ($0 ~ /异常/) print}':在awk中,$0表示包含执行过程中当前行的文本内容,~表示匹配正则表达式操作。如果一行文本中包含"异常",那么就打印这一行

命令 8:循环创建六个名为test-1test-6的空文件

for i in {1..6}; do touch "test-${i}"; done
  • for i in {1..6}:for 循环,用于迭代数字 1 到 6。每次循环,数字 i 将加 1
  • do:for 循环的开始
  • touch "test-${i}":每次循环中所要执行的命令。touch用于创建一个新的空文件或更新已存在文件的修改时间。"test-${i}"是一个字符串,其中${i}会被替换为当前的循环数。所以,在第一次循环中,它会执行touch test-1,在第二次循环中,它会执行touch test-2,依此类推
  • done:for 循环的结束

命令 9:查找/var/log/secure*文件中包含"Accepted"的行,并使用awk命令提取这些行的第1、2、3、9、11个字段,然后将这些字段打印出来

grep "Accepted" /var/log/secure* | awk '{print $1,$2,$3,$9,$11}'
  • awk '{print $1,$2,$3,$9,$11}':打印出每一行的第 1、2、3、9、11 个字段

命令 10:从/var/log/secure文件中查找所有包含Failed password的行,并从这些行中提取 IPv4 地址,然后删除重复的地址并统计每个地址出现的次数

grep "Failed password" /var/log/secure | grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"|uniq -c
  • grep "Failed password" /var/log/secure:这部分命令会从/var/log/secure文件中查找包含Failed password的行,/var/log/secure用来记录安全相关的信息,记录最多的是哪些用户登录服务器的相关日志
  • grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)":这部分命令使用grep的扩展正则表达式匹配 IP 地址。它会匹配 IPv4 地址,并以十六进制形式输出。-E表示使用扩展的正则表达式,-o表示只输出文件中匹配到的部分
  • uniq -c:用于删除重复的行,并统计匹配的次数

命令 11:从/var/log/secure文件中查找所有包含Failed password的行,提取出对应的IP地址,并统计来自不同IP地址的失败尝试,然后对这些结果进行排序

grep "Failed password" /var/log/secure | perl -e 'while($_=<>){ /for(.*?) from/; print "$1\n";}'|uniq -c|sort -nr
  • perl -e 'while($_=<>){ /for(.*?) from/; print "$1\n";}':这部分命令使用 Perl 语言编写了一个简单的脚本来处理从上一步命令输出的每一行。这个脚本会匹配for (.*?) from,然后打印出匹配到的部分,也就是 IP 地址
  • sort -nr:用于对上一步处理后的结果进行排序,其中-n表示根据数字排序,-r表示将结果倒序排列

命令 12:在当前目录下查找所有以2023-09-开头的目录,并删除目录及其目录下的文件

find . -type d -name "2023-09-*" -exec rm -rf {} \;
  • find:用来在指定目录下查找文件
  • .:在当前目录下进行查找
  • -type <文件类型>:只寻找符合指定的文件类型的文件
  • -name <范本样式>:指定字符串作为寻找文件或目录的范本样式
  • -exec <执行指令>:若 find 指令的返回值为 True,则执行后面的命令
  • rm:可删除一个目录中的一个或多个文件、目录,也可以将某个目录及其下属的所有文件、子目录进行删除,-r:递归处理,将指定目录下的所有文件与子目录一并处理,-f:强制删除文件或目录
  • {}\:是find命令的语法,表示命令的结束

命令 13:在当前目录下查找所有以2022-开头的目录,并删除目录及其目录下的文件

find . -type d -name "2022-*" -exec rm -rf {} \;

命令 14:客户端服务器与服务端服务器如何验证传输速率?

客户端:

iperf3 -c 服务端服务器IP -b 1000M -t 20
  • iperf3:是网络性能测试工具 iperf 的第三版,用于测量网络带宽和吞吐量
  • -c:指定 iperf3 运行在客户端模式,用于向指定的服务端服务器发送请求
  • -b:指定测试的带宽为 1000M(即 1Gbps)
  • -t:指定测试时间为 20 秒。

服务端:

iperf3 -s

iperf3 -s命令是启动 iperf3 服务端,用于接收来自客户端服务器的请求。会监听在默认的端口:5201,并准备接收来自客户端服务器的连接和测试请求。当客户端连接到服务端后,服务端会开始进行网络性能测试,并输出测试结果。

命令 15:以可读格式显示当前目录及其子目录的磁盘使用情况,但只显示到第一层目录

du --max-depth=1 -h
  • --max-depth=1它限制了 du 命令在查看目录时递归的深度。如果一个目录下有子目录,--max-depth=1将只显示子目录的磁盘使用情况,而不显示子目录下的文件或目录
  • -h:以KMG为单位来显示磁盘使用情况

命令 16:获取系统硬件关于制造商、产品名称和序列号等硬件信息

dmidecode | grep -A 8 "System Information" | egrep "Manufacturer | Product | Serial"
  • dmidecode:可以从计算机的主板 BIOS 中获取关于硬件系统的信息
  • grep -A 8 “System Information”: 执行dmidecode命令后,会有很多系统信息显示出来。用grep命令筛选含有“System Information”的行,并显示匹配行后的 8 行数据
  • egrep “Manufacturer | Product | Serial”:经过上面命令过滤后,再对后三项信息进行过滤,最终只显示系统信息中的Manufacturer(制造商)Product(产品名称)Serial(序列号)的行数据

命令 17:读取并打印出/etc/redhat-release/etc/issue文件的第一行的第一个字段和第二个字段,用于获取运行环境的操作系统信息

cat /etc/redhat-release 2>/dev/null || cat /etc/issue | awk 'NR==1 {print $1 $2}'
  • cat /etc/redhat-release 2>/dev/null:查看/etc/redhat-release文件,该文件中包含了操作系统的版本信息。如果读取失败,则将错误信息输出到/dev/null中, 2>表示错误重定向
  • ||:逻辑或操作符,如果第一个命令执行失败了,则执行第二个命令
  • cat /etc/issue | awk ‘NR==1 {print $1 $2}’: 如果上一个命令执行失败,就执行该命令。首先读取/etc/issue文件,它包含了操作系统的版本信息,然后用管道符将原始输出通过awk命令进行处理,"NR==1 {print $1 $2}"的意思是打印第一行中的前两个字段,即发行版本和版本号

命令 18:读取/proc/cpuinfo文件的内容,过滤出CPU名称,提取出CPU名称进行去重,并在每行前面显示该名称的出现次数

cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
  • cat /proc/cpuinfo:查看该系统文件内容,其中包含了关于每个 CPU 的详细信息
  • grep name:过滤包含name关键字的行,即以model name为标签的 CPU 行
  • cut -f2 -d::使用cut命令提取字段2,即冒号后的内容,-d:指定分隔符为冒号
  • uniq -c:使用uniq进行去重,-c参数在每行前面显示该行的出现次数

命令 19:获取并显示服务器硬盘的型号和产品名称

fdisk -l | grep "Disk model" 2>/dev/null || lshw -class disk | grep product | grep -v "Virtual" | grep -v "DVD-ROM"
  • fdisk -l:用于列出系统中所有的硬盘分区和其相关的详细信息
  • grep “Disk model” 2>/dev/null:使用grep过滤包含“Disk model”的行,列出每个硬盘的型号。同时,2>/dev/null用于将标准错误输出重定向到一个空文件
  • ||:逻辑或操作符,用于在第一个命令执行失败时,则执行第二个命令
  • lshw -class disk | grep product | grep -v “Virtual” | grep -v “DVD-ROM”:如果第一个命令执行失败,则使用lshw -class disk来获取硬盘信息。然后,grep命令过滤包含product关键字的行,并使用grep -v命令过滤包含“Virtual""DVD-ROM”等虚拟设备,最终输出硬盘的型号信息

命令 20:读取系统的DMidecode信息,找到关于内存设备的制造商信息,过滤掉任何未知或未标识的信息,并显示结果中不重复行的出现次数

dmidecode | grep -C 16 "Memory Device" | grep Manufacturer | grep -v "Unknown" | grep -v "NO" | uniq -c
  • dmidecode:用于显示系统的具体硬件配置信息,如 BIOS、CPU、主板、内存等。
  • grep -C 16 “Memory Device”:使用grep过滤包含"Memory Device"的行,并且显示上下 16 行的内容。这样做是为了将属于同一个内存设备的信息聚合在一起。
  • grep Manufacturer: 使用grep过滤包含Manufacturer的行,即表示筛选内存设备的制造商信息
  • grep -v “Unknown”:使用grep过滤包含"Unknown"的行,即排除制造商信息为"Unknown"的内存设备
    -grep -v “NO”:使用grep过滤包含"NO"的行,即排除制造商信息为"NO"的内存设备
  • uniq -c:使用uniq进行去重,-c参数在每行前面显示该行的出现次数

命令 21:将/tmp/secure_failed.txt文件的第一行输出到屏幕,并使用awk命令处理这行,只打印出该行的第一个字段

head -n1 /tmp/secure_failed.txt  | awk '{print $1}'
  • head:用于显示文件的开头部分,-n1:表示只显示第一行
  • awk '{print $1}':表示打印出每一行的第一个字段

命令 22:从/var/log/secure文件的最后2000行中筛选出包含"Failed"的行,并提取其中的 IPv4 地址,然后对这些 IPv4 地址进行排序和统计

tail -n 2000 /var/log/secure | awk '/Failed/{print $(NF-3)}' |grep "[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}" | sort | uniq -c |sort -nr| more
  • tail -n 2000:tail 用于显示文件的末尾部分。-n 2000表示显示最后2000
  • '/Failed/{print $(NF-3)}':表示当行中包含"Failed"时,则打印出该行的最后一个字段,使用$(NF-3)表示倒数第四个字段
  • grep "[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}":这里使用正则表达式[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}用于匹配 IPv4 地址。这部分命令就是筛选出由awk处理过的文本中包含 IPv4 地址的部分
  • sort:对文本文件中所有行进行排序
  • uniq -c:使用uniq进行去重,-c参数在每行前面显示该行的出现次数
  • sort -nr:根据数字结果倒序排序

命令 23:查看/etc/passwd文件的内容 ,过滤/bin/bash字段并提取每行中的第一字段的用户名和第七字段的默认Shell

cat /etc/passwd | grep /bin/bash | cut -d ":" -f 1,7
  • cut -d ":" -f 1,7cut是文本处理工具,用于从文本中提取指定的字段。它将以冒号为分隔符-d ":",提取每行的第1和第7个字段-f 1,7

由于/etc/passwd文件的格式是固定格式的,每行使用冒号分隔多个字段,所以这里提取的是用户名和默认Shell

命令 24:将vsftpd.service添加到开机自启动配置中

systemctl enable vsftpd.service

命令 25:查看哪些服务已经在开机自启动配置中,并过滤包含vsftpd.service的服务

systemctl list-unit-files --state=enabled | grep vsftpd.service
  • systemctl list-unit-files命令可以列出所有的服务、挂载点、设备文件
  • --state=enabled参数表示只列出启用的服务

命令 26:查看vsftpd.service服务的状态是否正常运行

systemctl status vsftpd.service

如果正在运行,还可以显示它的进程ID(PID)等信息

命令 27:查看vsftpd.service服务过滤端口以及监听状态是否正常

netstat -anpt | grep 21 | grep "LISTEN"
  • netstat可以显示系统的网络连接状态,-anpt参数表示显示所有地址、端口和进程信息
  • grep 21过滤出端口为21的行,grep "LISTEN"过滤出处于监听状态的服务

命令 28:查看/var/log/xferlog-*所有日志文件中,FTP 传输未完成的日志

cat /var/log/xferlog-* |grep '* i'

命令 29:查看/var/log/xferlog-*所有日志文件中,FTP 传输已完成的日志

cat /var/log/xferlog-* |grep '* c'

命令 30:通过查看/var/log/xferlog-*所有日志文件中,过滤ftp_user_1用户名称在 2023-10-21 和 2023-10-22 传输未完成的日志

grep "ftp_user_1" /var/log/xferlog-* | grep '* i' | grep "/1024/2023-10-21\|/1024/2023-10-22"

以上就是今天所要分享的全部内容了。

如果你觉得这篇文章对你有点用的话,为本文点个赞、留个言或者转发一下,让更多的朋友看到,因为这将是我持续输出更多优质文章的最强动力!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1129568.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

开发直播带货APP:用户体验设计策略

在当今数字化时代&#xff0c;直播带货APP已经成为了电子商务领域的一股重要力量。这种形式的电子商务结合了实时直播和购物&#xff0c;吸引了数百万用户。然而&#xff0c;为了确保直播带货APP的成功&#xff0c;关键在于提供出色的用户体验。本文将探讨开发直播带货APP的用户…

iframe嵌入报表滚动条问题

当在iframe中嵌入报表时&#xff0c;可能会遇到滚动条的问题。下面是一个详细的介绍 1. 了解iframe&#xff1a; - iframe是HTML中的元素&#xff0c;用于在当前页面中嵌入另一个页面。 - 嵌入报表时常使用iframe&#xff0c;以便将报表以独立的方式展示&#xff0c;并与其他页…

MT4教程新手指南:一步步开启你的金融交易之旅!

本文将为您详细介绍如何使用MT4(MetaTrader 4)平台进行金融交易。MT4是全球最受欢迎的在线交易平台之一&#xff0c;它拥有强大的功能&#xff0c;包括图表分析工具、交易执行、订单管理等&#xff0c;可以帮助你更好地理解和参与金融市场。那么&#xff0c;让我们开始吧! **步…

基于正余弦算法的无人机航迹规划-附代码

基于正余弦算法的无人机航迹规划 文章目录 基于正余弦算法的无人机航迹规划1.正余弦搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要&#xff1a;本文主要介绍利用正余弦算法来优化无人机航迹规划。 1.正余弦…

31一维信号滤波(限幅滤波、中值滤波、均值滤波、递推平均滤波),MATLAB程序已调通,可直接运行。

一维信号滤波&#xff08;限幅滤波、中值滤波、均值滤波、递推平均滤波&#xff09;&#xff0c;MATLAB程序已调通&#xff0c;可直接运行。 31matlab、中值滤波、信号处理 (xiaohongshu.com)

structs2 重构成SpringBoot架构

# 目录 structs2 重构成SpringBoot架构 1.1 structs2架构&#xff1a; 1.2 springboot 架构 1.3 演化要点&#xff1a; 1.基于前端的展示层不需要修改 2.HttpServlet 将会有SpringBoot annotation 来处理 3.构建前置的Structs url 转发器&#xff0c;适配 4.ActionSupport将由…

9篇论文速览股票预测高分经典方案

作为一直以来的烫门&#xff0c;股票预测因其非线性、高度波动性和复杂性等原因&#xff0c;成为了金融量化领域的一大难题。以往的解决方案主要围绕机器学习展开&#xff0c;如今&#xff0c;基于深度学习的股票预测方法有了许多新的突破。 为了帮助大家更深入地了解股票预测…

防止消息丢失与消息重复——Kafka可靠性分析及优化实践

系列文章目录 上手第一关&#xff0c;手把手教你安装kafka与可视化工具kafka-eagle Kafka是什么&#xff0c;以及如何使用SpringBoot对接Kafka 架构必备能力——kafka的选型对比及应用场景 Kafka存取原理与实现分析&#xff0c;打破面试难关 防止消息丢失与消息重复——Kafka可…

ToDesk等远程软件连接主机无法更改分辨率 - 解决方案

问题 使用ToDesk等远程软件连接自己的Linux或Windows主机时&#xff0c;若主机已连接显示器&#xff0c;则可通过系统设置更改显示分辨率。但如果主机没有连接显示器或显示器的电源关闭&#xff0c;则无法正常调整分辨率。下文介绍解决方案。 解决方案 方案1&#xff1a;连接…

多跳推理真的可解释吗?10.24

多跳推理真的可解释吗 摘要1 引言2 相关工作2.1 多跳推理2.2 基于规则的推理2.3 可解释性评估 3 基础知识4 基准测试4.1 数据集构建4.2 评估框架4.3 近似可解释性评分4.4 Benchmark with Manual Annotation4.5 使用挖掘规则的基准 实验 摘要 近年来&#xff0c;多跳推理在获取…

BUUCTF wireshark 1

BUUCTF:https://buuoj.cn/challenges 题目描述&#xff1a; 黑客通过wireshark抓到管理员登陆网站的一段流量包&#xff08;管理员的密码即是答案) 密文&#xff1a; 下载附件&#xff0c;解压后得到一个.pcap文件。 解题思路&#xff1a; 1、双击文件&#xff0c;在wires…

测试用例的设计方法(全):边界值分析方法

一.方法简介 1.定义&#xff1a;边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充&#xff0c;这种情况下&#xff0c;其测试用例来自等价类的边界。 2.与等价划分的区别 1)边界值分析不是从某等价类中随便挑…

Mysql主从集群同步延迟问题怎么解决

主从复制 复制过程分为几个步骤&#xff1a; 主库的更新事件(update、insert、delete)被写到binlog 从库发起连接&#xff0c;连接到主库。 此时主库创建一个 binlog dump thread&#xff0c;把 binlog 的内容发送到从库。 从库启动之后&#xff0c;创建一个 I/O 线程&#xff…

用VLOOKUP快速合并两个表格

一、前言 上周五微信收到运营提过来的需求&#xff0c;第一句话&#xff1a;帮我提取一下1号门店的库存数据&#xff0c;马上登录系统下载一份库存数据给到他然后专心读代码&#xff0c;过一会微信第二句话&#xff1a;帮我提取一下1号门店商品半年/一年的销量数据&#xff0c…

常用linux命令 linux_cmd_sheet

查看文件大小 ls -al 显示每个文件的kb大小 查看系统日志 dmesg -T | tail 在 top 命令中&#xff0c;RES 和 VIRT&#xff08;或者 total-vm&#xff09;是用来表示进程内存使用的两个不同指标&#xff0c;它们之间有以下区别&#xff1a; RES&#xff08;Resident Set Size…

使用ruoyi框架遇到的问题修改记录

使用ruoyi框架遇到的问题修改记录 文章目录 使用ruoyi框架遇到的问题修改记录上传后文件名改变上传时设置单多文件及其他选项附件显示文件名&#xff0c;点击下载附件直接显示图片表格固定列查询数据库作为下拉选项值字典使用加入json递归注解&#xff0c;防止无限递归内存溢出…

Zabbix安装与部署

前言 Zabbix是一个开源的网络监控和系统监控解决方案&#xff0c;用于监控服务器、网络设备、应用程序和服务。它基于客户端-服务器体系结构&#xff0c;使用多种监控选项来监控不同类型的设备和应用程序。Zabbix支持数据收集、处理和存储&#xff0c;以及报警和可视化等功能。…

VESTA软件下载

1.进入官网添加链接描述 2.下滑找到对应版本 3.解压 4.找到.exe文件&#xff08;不用安装&#xff09;

JSX 列表渲染

学习目标&#xff1a; 能够在 JSX 中实现列表渲染 页面的构建离不开重复的列表结构&#xff0c;比如歌曲列表&#xff0c;商品列表等等&#xff0c;Vue 中用的式 v-for 做到这一点&#xff0c;react 中又该如何实现呢&#xff1f; 实现&#xff1a; 使用数组的 map 方法 案例: …

【数据科学赛】2023年亚太眼科学会大数据竞赛 #$15000 #阿里天池 #分类

CompHub[1] 最新的比赛会第一时间在群里通知&#xff0c;欢迎加群交流比赛经验&#xff01;&#xff08;公众号回复“加群”即可&#xff09; 根据比赛主页[2](文末阅读原文)&#xff0c;使用AI辅助生成 大赛概况 2023年亚太眼科学会大数据竞赛由亚太眼科学会&#xff08;Asia…