Shell常用命令

查询占用端口的进程,并关闭进程

#查看端口被占用的进程
lsof -i tcp:10082
kill -9 进程号

将当天本人的 git 提交记录生成txt文档

filename="log_$(date +"%Y%m%d").txt"
git log --author=jinguoguang --since=midnight --no-merges --pretty=format:"%s" | sort | uniq >> /Users/zhangshun/shell/$filename

# 查找当天(自午夜以来)由 YourName 提交的 Git 记录。
# 排除合并提交,只保留非合并提交。
# 使用 format 参数输出每一行记录的短 SHA 值和提交说明。
# 使用 sortuniq 命令过滤出相同的记录。
# 将过滤后的记录追加到 /Users/zhangshun/shell/log_当天日期.txt 文件中。
#请将 YourName 替换为你自己的 Git 用户名,并在执行命令前检查文件路径是否正确。

输入数字运行相应命令

#!/bin/bash  
##############################################################  
#输入数字运行相应命令  
##############################################################  
echo "*cmd menu* 1-date 2-ls 3-who 4-pwd 0-exit "  
while :  
do  
#捕获用户键入值  
 read -p "please input number :" n  
 n1=`echo $n|sed s'/[0-9]//'g`  
#空输入检测   
 if [ -z "$n" ]  
 then  
 continue  
 fi  
#非数字输入检测   
 if [ -n "$n1" ]  
 then  
 exit 0  
 fi  
 break  
done  
case $n in  
 1)  
 date  
 ;;  
 2)  
 ls  
 ;;  
 3)  
 who  
 ;;  
 4)  
 pwd  
 ;;  
 0)  
 break  
 ;;  
    #输入数字非1-4的提示  
 *)  
 echo "please input number is [1-4]"  
esac

记录linux服务器输入的命令

#!/bin/bash

# 获取当前日期和时间
timestamp=$(date +"%Y-%m-%d %H:%M:%S")

# 获取登录的 IP 地址和用户名
ip=$(echo $SSH_CLIENT | awk '{print $1}')
username=$(whoami)

# 获取输入的命令
command=$(history 1 | awk '{print $2}')

# 记录到日志文件
log_file="/var/log/command.log"
echo "$timestamp - IP: $ip - User: $username - Command: $command" >> "$log_file"

这段 Bash 脚本可以用于记录用户执行的命令,将相关信息写入日志文件。具体解释如下:

  1. timestamp=$(date +"%Y-%m-%d %H:%M:%S"):使用 date 命令获取当前日期和时间,并使用指定的格式保存在 timestamp 变量中。
  2. ip=$(echo $SSH_CLIENT | awk '{print $1}'):使用 echo $SSH_CLIENT 命令获取当前登录用户的 IP 地址和端口号,并通过 awk 命令提取出 IP 地址并保存在 ip 变量中。
  3. username=$(whoami):使用 whoami 命令获取当前登录用户的用户名,并保存在 username 变量中。
  4. command=$(history 1 | awk '{print $2}'):使用 history 命令获取最近执行的命令历史记录,并通过 awk 命令提取出最后一个命令,并保存在 command 变量中。
  5. log_file="/var/log/command.log":定义日志文件路径和名称。
  6. echo "$timestamp - IP: $ip - User: $username - Command: $command" >> "$log_file":将日志信息以特定格式输出,并追加写入到日志文件中。

你可以将这段脚本保存为一个文件(例如 record_command.sh),然后在需要记录用户命令的地方添加执行该脚本的命令(例如 ./record_command.sh),即可实现记录用户命令到指定的日志文件中。请确保日志文件的存储路径和权限设置正确。

您的鼓励,是我最大的动力
微信

微信

支付宝

支付宝


Shell常用命令
http://www.zibbo.xyz/king/cdf8534a.html
作者
King
发布于
2023年5月20日
许可协议