本文共 2421 字,大约阅读时间需要 8 分钟。
要查看当前目录(包含子目录)下文件的总数,可以使用以下命令:
sudo ls -lR | grep "^-" -c
或者:
sudo ls -lR | grep "^-" | wc -l
说明:
ls -lR
:递归查看当前目录下的所有文件和子目录。grep "^-"
:过滤以“-”开头的文件(通常隐藏文件)。wc -l
:统计符合条件的文件数。如果需要统计目录数,可以将grep
中的模式改为"^d"
。
要查看系统中每个IP地址的连接数,可以使用以下命令:
netstat -n | grep "^tcp" | awk '{print $5}' | awk -F : '{print $1}' | sort | uniq -c | sort -rn
或者:
netstat -nt | awk '{print $5}' | awk -F : '{print $1}' | sort | uniq -c | sort -rn
说明:
netstat -nt
:显示TCP和UDP的连接状态,-n
参数显示地址和端口号。awk '{print $5}'
:提取连接数对应的五个字段。awk -F :
:以冒号分隔。sort | uniq -c | sort -rn
:排序并去重,最后按连接数从高到低排序。要生成一个32位的随机密码,可以使用以下命令:
cat /dev/urandom | head -n1 | md5sum | head -c32 > /tmp/pass
说明:
/dev/urandom
:生成随机字节。head -n1
:取一行内容。md5sum
:计算MD5哈希值。head -c32
:截取32个字符。/tmp/pass
文件。ps -l
:显示程序的详细信息。ps aux
:显示所有进程的状态。要生成1-39之间的随机整数,可以使用以下命令:
expr ${RANDOM} % 39 + 1
说明:
${RANDOM}
:生成0-32767之间的随机数。%39
:取模运算,结果为0-38。+1
:转换为1-39的范围。要匹配/etc/ssh/sshd_config
文件中以“#”开头的注释行,可以使用以下命令:
grep -n "^# \{1,\}[^ ]" /etc/ssh/sshd_config
说明:
-n
:显示行号。^#
:以“#”开头。\{1,\}
:匹配1到多个字符。[^ ]
:非空白字符。要批量创建多个用户,并保存用户名和密码到文件中,可以使用以下脚本:
#!/bin/bash# 创建组(如果不存在)grep test /etc/shadow > /dev/null || groupadd test# 创建用户for i in `seq -f"%02g" 1 10` do useradd -s /bin/bash -g test user${i} > /dev/null 2>&1 user_passwd="$(echo ${RANDOM}|md5sum|head -c8)" echo "${user_passwd}" | passwd --stdin user${i} > /dev/null 2>&1 echo "user${i}:${user_passwd}" >> /home/kim/user_passwd.txtdone
find /var/log -name "*.log" -type f -size +1024k | wc -l
find /tmp !-mtime -10 -exec rm -fr {} ;
find ./ -type d -empty -exec rm -fr {} ;find ./ -type f -size 0c -exec rm -fr {} ;
要将当前目录下的所有文件打包为web.tar.gz
,排除log
和test
目录:
tar -czvf web.tar.gz ./* --exclude=./log/ --exclude=./test
df -h | awk '$5 > 50' # 查看占用率超过50%的分区
lsof -c process # 根据进程名查看lsof -p pid1,pid2 # 根据进程号查看lsof -u user # 查看用户打开的文件
lsof -a -u user -i # 查看用户的所有活跃端口
以上命令和技巧希望能为您提供实用的参考,欢迎在评论区留言交流!
转载地址:http://ihkfk.baihongyu.com/