
Linux运维工程师面试题(部分)-复习
发布日期:2025-04-10 15:35:17
浏览次数:10
分类:精选文章
本文共 2421 字,大约阅读时间需要 8 分钟。
Linux系统常用命令与操作指南
目录
- 查看文件数
- 查看系统连接数
- 生成随机密码
- ps命令解读
- top与ps的区别
- shell生成随机数
- 匹配特定配置文件
- 批量创建用户和密码
- 查找特定文件
- 打包文件
- 查看文件占用情况
- 查看端口信息
- 常用服务端口号
查看文件数
要查看当前目录(包含子目录)下文件的总数,可以使用以下命令:
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命令解读
ps命令的常用参数
ps -l
:显示程序的详细信息。ps aux
:显示所有进程的状态。
ps状态解读
- R:运行中。
- S:睡眠状态,可以唤醒。
- D:不可中断的等待I/O。
- T:停止或除错状态。
- Z:僵尸状态。
其他参数
- TTY:显示终端位置。
- VSZ:进程使用的虚拟内存(KB)。
- RSS:进程使用的固定内存。
- %MEM:进程占用的内存百分比。
top与ps的区别
- top:动态显示程序状态,支持按资源(CPU、内存)排序。
- ps:静态显示某个时间点的程序状态。
shell生成随机数
要生成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
查找特定文件
查找大小超过1M的.log文件
find /var/log -name "*.log" -type f -size +1024k | wc -l
删除10天内未修改的文件
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/HTTPS:80
- FTP:21
- SSH/SFTP:22
- SMTP:25/465/993
- POP3/IMAP:110/995
以上命令和技巧希望能为您提供实用的参考,欢迎在评论区留言交流!
发表评论
最新留言
不错!
[***.144.177.141]2025年04月30日 04时13分47秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
linux系统下查看内存使用情况
2023-02-05
Linux系统下查看硬件信息命令大全
2023-02-05
LInux系统两套管理网络连接的方案interfaces和Network-Manager
2023-02-05
linux系统中 修改oracle数据库字符集问题
2023-02-05
Linux系统中/etc/init.d和/etc/rc.d/rc.local的区别
2023-02-05
Linux系统中cgroup介绍
2023-02-05
linux系统中chmod用法详解
2023-02-05
Linux系统中sh脚本编写
2023-02-05
Linux系统中使用 DD 命令测试 USB 和 SSD 硬盘的读写速度
2023-02-05
linux系统中如何写线程,Linux下如何写可重启的多线程子系统
2023-02-05
Linux系统中安装Git(详细教程)
2023-02-05
Linux系统中安装Maven
2023-02-05
Linux系统中有关/dev/null和/dev/zero文件说明及实践
2023-02-05
Linux系统中的日志文件(非常详细)零基础入门到精通,收藏这一篇就够了
2023-02-05
Linux系统中的系统盘和数据盘是什么意思?
2023-02-05
Linux系统中的默认安装目录 - 不能随意更改名字
2023-02-05
Linux系统中进程运行时间的五大精准检测法
2023-02-05
Linux系统中,shell脚本的异步执行
2023-02-05
Linux系统之软件管理:Ubuntu彻底删除软件及配置文件
2023-02-05