linux笔记

文章列举了一系列Linux命令行操作,包括查看当前目录下每个子目录的文件数量、常用命令的使用次数、文件大小统计、访问IP和页面的分析以及Nginx访问日志的解析。此外,还提供了一个服务器系统配置初始化脚本,涉及时区设置、防火墙关闭、SSH超时时间等优化配置。
摘要由CSDN通过智能技术生成

linux 查看当前目录下每个子目录的文件数量

find . -maxdepth 1 -type d | while read dir; do count=$(find "$dir" -type f | wc -l); echo "$dir : $count"; done

-maxdepth 1 过滤目录的深度

-type d 文件类型为目录

-type f 文件类型为文件

查看最常用的命令和使用次数

history | awk '{if ($2 == "sudo") a[$3]++; else a[$2]++}END{for(i in a){print a[i] " " i}}' | sort -rn | head;

逆序查看文件

awk '{a[i++]=$0} END {for (j=i-1; j>=0;) print a[j--] }' filename;

统计一下服务器下面所有的 jpg 的文件的大小

find / -name *.jpg -exec wc -c {} \;|awk '{print $1}'|awk '{a+=$1}END{print a}'

查看访问前十个ip地址

awk '{print $1}' |sort|uniq -c|sort -nr |head -10 access_log

访问次数最多的10个文件或页面

cat log_file|awk '{print $11}'|sort|uniq -c|sort -nr | head -10

cat log_file|awk '{print $11}'|sort|uniq -c|sort -nr|head -20

awk '{print $1}' log_file |sort -n -r |uniq -c | sort -n -r | head -20

查看某一个IP访问了哪些页面:

grep ^111.111.111.111 log_file| awk '{print $1,$7}'

Nginx 访问日志分析脚本

#!/bin/bash

\# 日志格式: $remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for"

LOG_FILE=$1

echo "统计访问最多的10个IP"

awk '{a[$1]++}END{print "UV:",length(a);for(v in a)print v,a[v]}' $LOG_FILE |sort -k2 -nr |head -10

echo "----------------------"

echo "统计时间段访问最多的IP"

awk '$4>="[01/Dec/2018:13:20:25" && $4<="[27/Nov/2018:16:20:49"{a[$1]++}END{for(v in a)print v,a[v]}' $LOG_FILE |sort -k2 -nr|head -10

echo "----------------------"

echo "统计访问最多的10个页面"

awk '{a[$7]++}END{print "PV:",length(a);for(v in a){if(a[v]>10)print v,a[v]}}' $LOG_FILE |sort -k2 -nr

echo "----------------------"

echo "统计访问页面状态码数量"

awk '{a[$7" "$9]++}END{for(v in a){if(a[v]>5)print v,a[v]}}'

服务器系统配置初始化脚本

#/bin/bash

\# 设置时区并同步时间

ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

if ! crontab -l |grep ntpdate &>/dev/null ; then

(echo "* 1 * * * ntpdate time.windows.com >/dev/null 2>&1";crontab -l) |crontab

fi

\# 禁用selinux

sed -i '/SELINUX/{s/permissive/disabled/}' /etc/selinux/config

\# 关闭防火墙

if egrep "7.[0-9]" /etc/redhat-release &>/dev/null; then

systemctl stop firewalld

systemctl disable firewalld

elif egrep "6.[0-9]" /etc/redhat-release &>/dev/null; then

service iptables stop

chkconfig iptables off

fi

\# 历史命令显示操作时间

if ! grep HISTTIMEFORMAT /etc/bashrc; then

echo 'export HISTTIMEFORMAT="%F %T `whoami` "' >> /etc/bashrc

fi

\# SSH超时时间

if ! grep "TMOUT=600" /etc/profile &>/dev/null; then

echo "export TMOUT=600" >> /etc/profile

fi

\# 禁止root远程登录

sed -i 's/#PermitRootLogin yes/PermitRootLogin no/' /etc/ssh/sshd_config

\# 禁止定时任务向发送邮件

sed -i 's/^MAILTO=root/MAILTO=""/' /etc/crontab

\# 设置最大打开文件数

if ! grep "* soft nofile 65535" /etc/security/limits.conf &>/dev/null; then

cat >> /etc/security/limits.conf << EOF

\* soft nofile 65535

\* hard nofile 65535

EOF

fi

\# 系统内核优化

cat >> /etc/sysctl.conf << EOF

net.ipv4.tcp_syncookies = 1

net.ipv4.tcp_max_tw_buckets = 20480

net.ipv4.tcp_max_syn_backlog = 20480

net.core.netdev_max_backlog = 262144

net.ipv4.tcp_fin_timeout = 20

EOF

\# 减少SWAP使用

echo "0" > /proc/sys/vm/swappiness

\# 安装系统性能分析工具及其他

yum install gcc make autoconf vim sysstat net-tools iostat if

xargs 用法

使用该方法,您可以快速重命名目录中的文件。

eg:$ ls | xargs -t -i mv {} {}.bak

-i 选项告诉 xargs 用每项的名称替换 {}。

eg:统计一个源代码目录中所有php文件的行数:

find . -type f -name "*.php" -print0 | xargs -0 wc -l

eg:查找所有的jpg 文件,并且压缩它们:

find . -type f -name "*.jpg" -print | xargs tar -czvf images.tar.gz

oracle 执行计划

在你要执⾏的SQL语句前加

explain plan for

,此时将⽣成的执⾏计划存储到计划表中,语句如下:explain plan for SQL语句

在计划表中查询刚刚⽣成的执⾏计划,语句如下:

select * from table(dbms_xplan.display);

md5sum.该命令将生成文件的 32 位 MD5 散列值:

md5sum file1

md5sum 是一个非常强大的用于安全性实施的命令。您所管理的某些配置文件(如 listener.ora、tnsnames.ora 和 init.ora)对于成功的 Oracle 基础架构非常重要,任何修改都可能会导致停机。这些通常是更改控制过程的一部分。不要相信别人所说的这些文件并未更改,使用 MD5 校验和执行该命令。创建一个校验和文件,并在每次执行计划的更改时重新创建该文件。作为合规性的一部分,使用 md5sum 命令检查该文件。如果某个人无意中更新了这些重要文件中的一个,您就会立即捕获更改。

全系统中搜索,包含某数据的文件名

[root@localhost tmp]# find / -type f -name '*.txt' | xargs -i grep -l 'xiake' {}`

`/var/log/nginx/mima.txt`

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值