Category: BASH

为什么 Linux Shell 命令前加空格会有影响?

理解 Linux Shell 中前导空格的行为 概述 在像 bash 这样的 Linux shell 环境中,命令前加一个空格可能会影响该命令是否被保存到命令历史中。 这个小技巧在处理敏感数据时非常有用,或者当你不希望某个命令被记录下来时也能派上用场。 关键变量:HISTCONTROL 这种行为是由一个叫做 HISTCONTROL 的 shell 环境变量控制的。 查看当前设置的方法如下: echo $HISTCONTROL 例如,你可能会看到: ignoredups:ignorespace 值的含义解释 选项 描述 ignoredups 防止连续重复的命令被保存到历史中。 ignorespace …

BASH: 如何使用 cURL 命令获取 HTTP 响应代码?

检查运行 curl命令 后的HTTP响应代码,您可以使用 curl 的 -w` 选项,这样可以指定自定义输出格式。以下是命令: curl -o /dev/null -s -w "%{http_code}\n" <URL> 您可以将HTTP响应代码保存到BASH变量中,如下所示: resp=$(curl -o /dev/null -s -w "%{http_code}\n" <URL>) 解释: -o /dev/null: 丢弃响应体的输出。 -s: 以静默模式运行curl(不显示进度或错误信息)。 -w …

BASH: 通过dd命令测试硬盘读写速度/性能

要使用 dd 命令测试磁盘速度,可以写入一个临时文件并测量写入和读取速度。以下是一些示例: 测试写入速度 此命令将 1GB 文件写入磁盘,并提供写入速度: dd if=/dev/zero of=testfile bs=1G count=1 oflag=dsync if=/dev/zero 使用空字节源。 of=testfile 指定输出文件。 bs=1G 设置块大小为 1 GB。 count=1 指定只写入一个块。 oflag=dsync 确保数据实际写入磁盘,从而提供更准确的速度测量。 示例输出: 1+0 records in …

判断服务器的硬盘类型: 是否是固态硬盘/NVMe

拿到服务器,想看是否是固态硬盘(SSD/NVMe),可以用以下几种方法,还有另一种方法是使用“dd”命令来测试硬盘的读写速度。 检查磁盘类型:SSD(固态硬盘) 要检查 VPN 服务器上的磁盘是否为 SSD固态硬盘,您可以根据操作系统使用以下方法之一: Linux 在 Linux 上,您可以使用以下命令检查磁盘是否为 SSD: 方法 1:使用 lsblk lsblk -d -o name,rota 示例输出: NAME ROTA loop0 1 loop1 1 loop2 1 loop3 1 …

获得最新Apache服务器访问记录的脚本

apache 服务器将访问请求记录在 /var/log/apache2 中,因此我们可以分析这个日志文件来找出最后的几个请求。 下面解析 apache2 服务器日志,并逐行打印请求。它基于 BASH 命令:tail 和 awk。 #!/bin/bash NUMBER_OF_REQUESTS=50 LOG_FILES_PREFIX=/var/log/apache2/access tail -n $NUMBER_OF_REQUESTS $LOG_FILES_PREFIX* | awk -F'"' ' # 确保 IP 地址、请求和用户代理字段存在 $1 ~ /^+\.+\.+\.+/ …

通过BASH脚本显示树莓PI的温度和频率

我们很容易可以通过以下BASH脚本来显示当前树莓PI的温度和频率. #pi@raspberrypi:~ $ cat ./cpu_freq.sh #!/bin/bash temp=`head -n 1 /sys/class/thermal/thermal_zone0/temp | xargs -I{} awk "BEGIN {printf \"%.2f\n\", {}/1000}"` echo $((`cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq`/1000)) MHz, $temp degrees 然后, 我们可以每3秒来显示这个信息: # 每3秒显示 while …