大纲
一、网络命令
二、磁盘与文件系统
三、系统状态与进程管理
四、用户与权限管理
五、软件包与系统命令
六、文本处理与脚本
一、网络命令
- 使用nslookup解析百度域名:
nslookup www.baidu.com
- 用dig命令解析谷歌域名:
dig www.google.com
- 通过nslookup解析指定域名的MX记录:
nslookup -type=mx www.163.com
- 使用dig查询域名的TXT记录:
dig txt www.qq.com
- 用traceroute追踪到百度的路由:
traceroute www.baidu.com
- 使用mtr命令追踪到新浪的路由并显示丢包率:
mtr www.sina.com.cn
- 通过traceroute追踪到指定IP的路由:
traceroute 180.168.2.16
- 利用mtr -c 10命令对目标地址进行10次追踪:
mtr -c 10 www.taobao.com
- 使用tcpdump在eth0网卡抓包并保存到文件:
tcpdump -i eth0 -w dns.pcap
- 抓取指定IP的HTTP流量:
tcpdump -i eth0 host 192.168.1.100 and port 80
- 过滤ARP协议并保存抓包数据:
tcpdump -i eth0 not arp -w no_arp.pcap
- 抓取UDP 53端口的数据包:
tcpdump -i eth0 udp port 53
- 用nmap扫描百度的开放端口:
nmap www.baidu.com
- 扫描指定IP的80和443端口:
nmap -p 80,443 192.168.1.1
- 使用nmap进行快速扫描:
nmap -F www.qq.com
- 对目标主机进行操作系统指纹识别扫描:
nmap -O 10.0.0.1
二、磁盘与文件系统
- 查看磁盘挂载情况:
df -h
- 挂载新磁盘分区到/mnt/newdisk:
mount /dev/sdb1 /mnt/newdisk
- 卸载已挂载的磁盘分区:
umount /mnt/newdisk
- 查看磁盘详细信息:
fdisk -l
- 查看当前目录下各文件大小并排序:
du -sh * | sort -hr
- 查看指定目录的磁盘使用情况:
du -h /var/log
- 统计根目录下占用空间最大的前10个目录:
du -sh /root/* | sort -hr | head -n 10
- 查看文件系统类型:
df -T
- 对新磁盘进行分区:
fdisk /dev/sdb
- 格式化分区为ext4文件系统:
mkfs.ext4 /dev/sdb1
- 刷新磁盘分区表:
partprobe
- 调整ext2/ext3文件系统大小:
resize2fs /dev/sdb1
- 使用iostat查看磁盘I/O性能:
iostat
- 每隔2秒查看一次磁盘性能,共查看5次:
iostat 2 5
- 使用dd命令测试磁盘读写速度:
dd if=/dev/zero of=/tmp/testfile bs=1G count=1
- 通过fio工具测试磁盘性能:
fio --name=test --ioengine=libaio --direct=1 --rw=read --bs=4k --size=1G --numjobs=1 --runtime=60 --group_reporting
三、系统状态与进程管理
- 查看系统负载:
uptime
- 使用top命令查看系统实时状态:
top
- 通过htop命令交互式查看系统状态(需安装):
htop
- 查看系统运行时间:
who -b
- 查看内存使用情况:
free -h
- 使用vmstat查看系统资源使用情况:
vmstat 1 5
- 查看CPU信息:
lscpu
- 使用mpstat查看多核CPU使用情况:
mpstat -P ALL
- 查看所有进程:
ps -ef
- 查看指定用户的进程:
ps -u root
- 使用ps tree查看进程树:
pstree
- 杀死指定进程:
kill 1234
- 强制杀死进程:
kill -9 5678
- 根据进程名杀死进程:
pkill nginx
- 查看占用CPU最多的前5个进程:
ps -eo pid,ppid,%cpu,%mem,command | sort -k3 -r | head -n 5
- 查看占用内存最多的进程:
ps -eo pid,ppid,%cpu,%mem,command | sort -k4 -r | head -n 1
四、用户与权限管理
- 创建新用户:
useradd testuser
- 设置用户密码:
passwd testuser
- 删除用户:
userdel testuser
- 查看当前登录用户:
who am i
- 创建新用户组:
groupadd testgroup
- 将用户添加到组:
usermod -aG testgroup testuser
- 查看用户所属组:
groups testuser
- 删除用户组:
groupdel testgroup
- 查看文件权限:
ls -l file.txt
- 修改文件权限为755:
chmod 755 file.txt
- 递归修改目录权限:
chmod -R 755 dir/
- 修改文件属主:
chown testuser file.txt
- 修改文件属组:
chgrp testgroup file.txt
- 递归修改目录属主和属组:
chown -R testuser:testgroup dir/
- 设置SUID权限:
chmod u+s /bin/file
- 设置SGID权限:
chmod g+s /dir/
五、软件包与系统命令
- 查询已安装的RPM包:
rpm -qa
- 查询指定RPM包信息:
rpm -qi nginx
- 查询RPM包安装路径:
rpm -ql nginx
- 验证RPM包完整性:
rpm -V nginx
- 安装软件包:
yum install nginx
- 更新软件包:
yum update nginx
- 删除软件包:
yum remove nginx
- 查看可安装的软件包:
yum list available nginx
- 查看系统时间:
date
- 设置系统时间:
date -s "2025-06-05 12:00:00"
- 同步系统时间:
ntpdate time.nist.gov
- 清除终端屏幕:
clear
- 查看命令历史:
history
- 删除指定历史命令:
history -d 123
- 在后台运行命令:
nohup command &
- 监控命令输出变化:
watch -n 2 "top -c"
六、文本处理与脚本
- 从文件中过滤包含"root"的行:
grep "root" file.txt
- 过滤不包含"error"的行:
grep -v "error" log.txt
- 过滤以"#"开头的行:
grep "^#" config.conf
- 过滤包含数字的行:
grep "[0-9]" data.txt
- 替换文件中的字符串:
sed 's/old/new/g' file.txt
- 删除文件中的空行:
sed '/^$/d' file.txt
- 在文件每行末尾添加字符串:
sed 's/$/ added text/' file.txt
- 提取文件中的指定列:
awk -F: '{print $1}' /etc/passwd
- 按列排序文件:
sort -k2 file.txt
- 去重文件中的行:
uniq file.txt
- 统计文件行数:
wc -l file.txt
- 统计文件单词数:
wc -w file.txt
- 将文件内容转换为大写:
tr 'a-z' 'A-Z' < file.txt
- 切割文件:
split -l 100 largefile.txt smallfile_
- 合并文件:
cat file1.txt file2.txt > merged.txt
- 使用awk计算文件中某列的和:
awk -F: '{sum+=$3} END {print sum}' /etc/passwd