1. 查找文件后缀是 log 的三天前的文件删除和三天内没修改过的文件
find / -name “.log” -mtime +3 -exec rm fr {} ; find /log ! -mtime -3
2. 写一个脚本将目录下大于 100kb 的文件移动到 /tmp 下
fimd / -size +100k -exec mv {} /tmp ;
3. 将数据库备份并打包传递到远程服务器 192.168.1.1 的 /backup 目录下
mysqldump -u root -p database > database.sql ;tar -czvf database.tar.gz database.sql ; rsync -avP ./database.tar.gz [email protected]:/backup
4. 日志如下统计访问 ip 最多的前 10 个
awk ‘{print $1}’ *.log | sort | uniq -c | sort -nr | head -n
5. 把 /usr/local/ 替换成其他的目录
sed -i ‘s//usr/local// 目录 /g’ 文件
6. 查看服务器程序运行级别和修改运行级别,和服务的运行级别
查看:who -r 修改:etc/inittab 服务运行级别 chkconfig –list vsftp 修改:chkconfig –level 345 vsftp on
7. 用 tcpdump 截取本机 ip 192.168.23.1 80 端口的包
tcpdump tcp port 80 host 192.168.23.1
Tcpdump -w test host 192.168.1.1 and tcp port 80
8. 用 tcpdump 截取 ip 192.168.23.1 访问主机 ip 192.168.23.2 的 80 端口的包
tcpdump host 192.168.23.1 and 192.168.23.2 and dst port 80
9. 用 iptables 将 192.168.0.100 的 80 端口映射到 59.15.17.231 的 8080 端口
iptables -t nat -A PREROUTINT -p tcp -d 192.168.0.100 –dport 80 -j DNAT –to-destination 59.15.17.231:8080
10. 本机的 80 端口转发到 8080
iptables -t nat -A PREROUTING -p tcp –dport -j REDIRECT –to-ports 8080
11. 禁止一个用户登录,但可以使用 ftp
修改 etc/passwd 最后一个字段 改成 /bin/nologin
12. 获取 1.txt 中第二行第三列的数据,输出到 2.txt
cat 1.txt|awk ‘NR==2{print $3}’ > 2.txt
13. 查看 Linux 系统当前单个共享内存段的最大值
ipcs -a
14. 用什么命令查询指定 IP 地址的服务器端口
nmap 127.0.0.1
15. 如何让 history 命令显示具体时间
HISTTIMEFORMAT='%Y-%m-%d %H:%M:%S'
16. 查看 Linux 系统当前加载的库文件
lsof |grep /lib
17. 查看当前系统某一硬件的驱动版本。比如网卡
ethtool –i eth0
18.DNS 服务器有哪三种类型
主 从 转发
19. 查看 3306 端口被谁 占用
lsof -i:3306
20. 查看占用内存最大的 5 个进程
ps -aux|sort -k4nr|head -n 5
21. 查看占用内存最大的进程的 PID 和 VSZ
ps -aux|sort -k5nr|awk ‘BEGIN{print “PID VSZ”}{print $2,$5}’|awk ‘NR<3’
22. lsof -p 12 看进程号为 12 的进程打开了哪些文件
23. 同时执行 a 和 b 等 a 和 b 都执行完执行 c
#!/bin/bash
./a.sh &
./b.sh &
wait
echo adf
24.snmpdf 通过 SNMP 监视远程主机的磁盘空间
snmpdf -v 1 -c public localhost
获取 192.168.6.53 的所有开放端口状态
snmpnetstat -v 2c -c public -a 192.168.6.53
25. 简述编译 kernel 的大体步骤
(1) 下载解压缩新版本的内核到 /usr/src 下
(2) 将以前版本链接删除,建立新的连接
(3) 编译内核,编译模块,安装模块
(4) 修改 grub.conf ,然后重启
26.diff/patch 的作用和用法
命令 diff A B > C , 一般 A 是原始文件,B 是修改后的文件,C 称为 A 的补丁文件。
patch A C 就能得到 B, 这一步叫做对 A 打上了 B 的名字为 C 的补丁
27. 执行 bin/myprog 返回 0 打印 ok 1 打印 bad 2 打印 error 其他打印 wrony
./bin/myprog
if $? = 0;then
echo'OK'
elif $? =1;then
echo'bad'
else
echo'error'
fi
28. 求一组数的最大值和最小值
#!/bin/sh
min=$1
max=$1
sum=$1
shift
while [$# -gt 0]
do
if [$min -gt $1]
then
min=$1
fi
if [$max -lt $1]
then
max=$1
fi
sum=expr $sum +$1
shift
done
sum=echo '$sum/5'|bc -l
echo min=$min
echo max=$max
echo aver=$sum
28. 执行可执行程序 test 并把输出和错误写到 err.log
./test > & err.log
29. 用 telnet 连接校内服务器 mail.xiaonei.com 发一封信
mail -v -s “hello” [email protected]
30. 添加路由表并查看
route add -net 203.208.39.104 netmask 255.255.255.255 gw 192.168.1.1
netstat –r
31. 正则匹配 ip
((25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d).){3}(25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|[1-9])