Linux运维命令大全涵盖了系统管理、文件操作、网络配置、进程管理、性能监控等多个方面,掌握这些命令是高效完成运维工作的基础,以下从不同维度详细介绍常用命令及其使用场景,帮助运维人员快速定位和解决问题。

在文件与目录管理中,ls
命令是最基础的文件列表工具,通过-l
参数可显示详细信息(如权限、所有者、大小),-a
参数可隐藏文件,-h
参数以人类可读格式显示文件大小。cd
命令用于切换目录,cd ..
返回上级目录,cd -
在最近两次目录间切换。cp
命令用于复制文件或目录,-r
参数递归复制目录,-p
保留文件属性;mv
命令可重命名或移动文件,-i
参数覆盖前提示;rm
命令删除文件,-r
参数递归删除目录,-f
参数强制删除不提示。mkdir
创建目录,-p
参数可创建多级目录;touch
命令用于创建空文件或更新文件时间戳;find
命令按名称、大小、时间等条件查找文件,例如find / -name "*.log" -mtime +7
查找7天前的日志文件。
文本处理方面,cat
命令查看文件内容,-n
显示行号;more
和less
支持分页查看,less
可向前翻页;grep
用于文本搜索,-i
忽略大小写,-v
反向匹配,-n
显示行号;sed
流编辑器用于替换文本,例如sed 's/old/new/g' file
替换文件中所有old为new;awk
用于文本分析,例如awk '{print $1,$3}' file
打印每行的第1和第3列;sort
对文本行排序,-n
按数字排序,-r
倒序;uniq
去除重复行,需配合sort
使用;wc
统计文件行数、单词数和字节数,-l
仅统计行数。
系统信息与监控命令中,top
动态显示进程资源占用,-c
显示完整命令行,-p
指定进程ID;htop
是top的增强版,支持鼠标操作和进程树;free
查看内存使用,-h
以人类可读格式显示;df
查看磁盘空间,-h
显示友好单位,-T
显示文件系统类型;du
统计目录大小,-sh
显示总大小;ps
查看进程状态,-ef
显示所有进程,-aux
显示详细信息;kill
终止进程,-9
强制终止;killall
通过进程名终止进程;uptime
查看系统负载和运行时间;uname -a
显示系统全部信息;lscpu
查看CPU详细信息;lsmem
查看内存布局。
网络配置与诊断命令中,ifconfig
或ip addr
查看和配置网卡IP,ip link set eth0 up/down
启用/禁用网卡;ping
测试网络连通性,-c
指定发送次数;netstat
查看网络连接、路由表等,-tuln
显示监听端口;ss
是netstat的替代工具,速度更快;telnet
测试端口连通性;ssh
远程登录,-p
指定端口;scp
安全复制文件,-r
递归复制目录;wget
或curl
下载文件,curl
支持更多协议;traceroute
跟踪网络路由;nslookup
或dig
查询DNS解析;iptables
管理防火墙规则;firewall-cmd
(CentOS 7+)管理firewalld防火墙;tcpdump
抓取网络数据包,-i
指定网卡,-w
保存到文件。

用户与权限管理方面,useradd
创建用户,-m
创建家目录;userdel
删除用户,-r
删除家目录;passwd
修改用户密码;su
切换用户,切换到目标用户并加载其环境变量;sudo
以其他用户身份执行命令;chmod
修改文件权限,rwx
分别代表读、写、执行,755
表示所有者可读写执行,组和其他用户可读执行;chown
修改文件所有者,-R
递归修改目录;chgrp
修改文件所属组;visudo
编辑sudoers文件;last
查看用户登录历史;who
或w
查看当前登录用户;id
查看用户UID、GID及所属组。
系统服务管理中,systemctl
是现代Linux发行版的服务管理工具,start/stop/restart
启动/停止/重启服务,enable/disable
设置开机自启,status
查看服务状态;service
(旧版)管理服务,如service nginx start
;chkconfig
(CentOS 6及以前)设置开机自启;journalctl
查看系统日志,-u
指定服务日志,-f
实时跟踪;dmesg
查看内核启动日志;tail -f
实时查看日志文件,如tail -f /var/log/nginx/access.log
。
软件安装与管理方面,yum
(CentOS/RHEL)或apt
(Ubuntu/Debian)是包管理工具,yum install package
安装软件,yum remove package
卸载软件,yum update
更新软件;rpm
管理rpm包,-ivh
安装,-e
卸载,-qa
查询已安装包;dpkg
管理deb包,-i
安装,-r
卸载;tar
压缩解压文件,-czvf
打包并压缩为tar.gz,-xzvf
解压tar.gz文件;zip
和unzip
处理zip压缩包;yum list installed
或dpkg -l
查看已安装软件;which
命令查找可执行文件路径;locate
快速查找文件(需先更新数据库)。
磁盘与文件系统管理中,fdisk
或parted
分区管理,fdisk /dev/sdb
进入分区界面;mkfs
格式化文件系统,如mkfs.ext4 /dev/sdb1
;mount
挂载文件系统,mount /dev/sdb1 /mnt
挂载到/mnt目录;umount
卸载文件系统;fsck
检查修复文件系统;dd
低级复制磁盘或文件,如dd if=/dev/zero of=testfile bs=1M count=100
创建100MB测试文件;partprobe
更新分区表;swapoff
/swapon
禁用/启用交换分区;resize2fs
调整ext文件系统大小。

备份与恢复方面,rsync
远程同步文件,-avz
参数保留权限并压缩,--delete
删除目标目录多余文件;tar
备份目录,tar -czvf backup.tar.gz /data
备份/data目录;scp
远程备份文件;dd
备份磁盘镜像,dd if=/dev/sda of=/path/to/disk.img
备份整个磁盘;mysql_dump
备份数据库,mysqldump -u root -p database > backup.sql
;restore
或tar
恢复备份文件;crontab
设置定时任务,如0 2 * * * tar -czvf /backup/$(date +\%Y\%m\%d).tar.gz /data
每天凌晨2点备份。
相关问答FAQs:
Q1: 如何查看Linux系统当前运行的所有进程及其资源占用情况?
A1: 可使用top
命令动态查看进程资源占用,按P
键按CPU占用排序,按M
键按内存占用排序;或使用ps -ef
查看所有静态进程列表;若需更详细信息,可执行ps -aux --sort=-%cpu
按CPU占用倒序排列,或使用htop
命令(需安装)以更友好的界面查看进程树和实时资源占用。
Q2: Linux中如何查找并删除某目录下所有扩展名为.tmp的文件?
A2: 可使用find
命令结合-exec
或xargs
实现,具体命令为:find /path/to/directory -name "*.tmp" -type f -exec rm -f {} \;
,其中-name "*.tmp"
匹配.tmp文件,-type f
仅查找普通文件,-exec rm -f {} \;
对查找到的文件执行强制删除操作;或使用find /path/to/directory -name "*.tmp" -type f | xargs rm -f
通过管道传递给xargs删除。