菜鸟科技网

Linux面试高频命令有哪些?

在Linux运维或开发岗位的面试中,命令操作是核心考察点,既包括基础命令的熟练度,也涉及场景化问题解决能力,以下从常用命令分类、实际应用场景及进阶技巧展开,帮助系统梳理面试重点。

Linux面试高频命令有哪些?-图1
(图片来源网络,侵删)

文件与目录管理是Linux操作的基础。ls命令是最常用的列表命令,ls -l显示详细权限(如-rw-r--r--表示文件所有者可读写,组用户和其他用户只读),ls -a隐藏文件(如.bashrc),ls -h以人类可读格式显示大小(如1KMG),创建文件用touch filename,创建目录用mkdir dir,多级目录需加-p(如mkdir -p a/b/c),复制文件时,cp -r用于递归复制目录(如cp -r src/ dest/),cp -p保留权限、时间戳等属性;移动或重命名文件用mv,删除文件用rm -f(强制删除不提示),删除目录需加-r-rf(慎用,直接删除且不提示),查找文件时,find /path -name "filename"按名称查找(支持通配符,如*.log),grep "pattern" file在文件中搜索文本(-i忽略大小写,-r递归目录)。

文本处理能力是区分熟练度的重要标准,查看文件内容,cat适合小文件(如cat config.conf),more/less适合大文件(支持分页和上下滚动,less可搜索),head -n 10 file查看前10行,tail -n 10 file查看后10行,tail -f file实时监控日志(如tail -f /var/log/nginx/error.log),编辑文件时,vim是主流工具:i进入插入模式,Esc退出编辑模式,wq保存退出,q!强制退出不保存,文本处理三剑客中,awk适合按列处理(如awk '{print $1, $3}' file打印第1、3列),sed用于流编辑(如sed 's/old/new/g' file全局替换),cut用于列提取(如cut -d: -f1 /etc/passwd以冒号为分隔符提取用户名)。

系统监控与进程管理是运维核心,查看系统负载,top动态显示进程(%Cpu(s)显示CPU使用率,Mem显示内存占用),htoptop的增强版(支持彩色和交互操作),uptime显示负载平均值(如load average: 0.1, 0.2, 0.3分别代表1分钟、5分钟、15分钟),进程管理中,ps -ef查看所有进程(UID为用户ID,PID为进程ID),ps aux查看详细进程信息(%CPU%MEM分别表示CPU和内存占用率),kill -9 PID强制杀死进程(-9为信号码,表示强制终止),nohup command &让命令在后台运行(如nohup python app.py &,输出默认写入nohup.out),磁盘与内存管理方面,df -h查看磁盘使用情况(Filesystem为文件系统,Use%为使用率),du -sh *查看当前目录下文件/目录大小(-s汇总,-h人类可读),free -h查看内存使用(-hM/G显示,-mMB显示)。

网络配置与排查是开发运维必备技能,网络配置中,ifconfig查看/配置网卡(ifconfig eth0 192.168.1.100 netmask 255.255.255.0),ip addrifconfig的替代命令(ip addr show eth0查看网卡信息),route -n查看路由表,netstat -tuln查看监听端口(-tTCP,-uUDP,-l只显示监听,-n不解析域名),ss -tulnnetstat的升级版(性能更好),网络排查中,ping www.baidu.com测试网络连通性,traceroute www.baidu.com跟踪路由路径(显示经过的每个节点IP),telnet ip port测试端口是否可达(如telnet 192.168.1.1 80),curl www.baidu.com发送HTTP请求(-I只获取响应头,-v显示详细过程),wget url下载文件(-b后台下载)。

Linux面试高频命令有哪些?-图2
(图片来源网络,侵删)

权限管理是Linux安全的核心,文件权限通过chmod修改,如chmod 755 file(所有者rwx,组用户和其他用户r-x),数字权限中r=4w=2x=1chmod u+x file给所有者添加执行权限(u用户,g组,o其他,a所有,添加,删除),文件所有者通过chown修改,如chown user:group file(同时修改用户和组),chown -R user dir递归修改目录所有者,用户管理中,useradd username创建用户,passwd username设置密码,userdel username删除用户(-r同时删除家目录),groupadd groupname创建组,gpasswd -a user group将用户添加到组。

实际面试中,常结合场景提问,如“如何查找大文件并删除?”可用find / -type f -size +100M -exec rm -rf {} \;(查找大于100M的文件并删除);“如何查看Nginx最近100行错误日志?”用tail -n 100 /var/log/nginx/error.log;“如何后台运行一个Python脚本并记录日志?”用nohup python script.py > output.log 2>&1 &2>&1将错误输出重定向到标准输出)。

相关问答FAQs

Q1: Linux中grepsedawk的区别是什么?
A: grep主要用于文本搜索(如grep "error" log.txt过滤包含“error”的行);sed用于流编辑,支持增删改查(如sed 's/old/new/g' file替换文本);awk按列处理,支持复杂逻辑(如awk '{if($1>100) print $2}' file筛选第一列大于100的第二列数据),简单说,grep搜文本,sed改文本,awk处理列数据。

Q2: 如何用一条命令查看当前目录下所有子目录的大小?
A: 使用du -sh *命令:-s汇总每个子目录的大小,-h以人类可读格式(如KM)显示,匹配当前目录下所有文件和目录,输出可能为1M dir12M dir2,表示dir1大小为1M,dir2为2M。

分享:
扫描分享到社交APP
上一篇
下一篇