linux系统运维命令大全
linux系统运维命令大全详细介绍
以下是 Linux 系统运维中常用的命令分类汇总,涵盖系统监控、文件操作、网络管理、用户管理等核心领域,附常用示例及说明:
一、系统监控与状态检查
1. 系统资源监控
- top/htop
- 功能:实时查看 CPU、内存、进程资源占用(htop 交互性更强,支持鼠标操作)
- 示例:
top(按M排序内存占用,按P排序 CPU 占用)
- free
- 功能:查看内存使用情况(物理内存、swap 分区)
- 示例:
free -h(以人类可读格式显示)
- df
- 功能:查看磁盘空间使用情况
- 示例:
df -hT(显示各分区文件系统类型及容量)
- du
- 功能:查看目录 / 文件大小
- 示例:
du -sh /var/log(查看 /var/log 目录总大小)
- vmstat
- 功能:监控虚拟内存、CPU、IO 等系统性能指标
- 示例:
vmstat 5(每 5 秒输出一次统计信息)
2. 进程管理
- ps
- 功能:查看进程状态
- 示例:
ps aux(BSD 格式,显示所有用户进程)ps -ef(System V 格式,显示进程 PID 及父进程 PPID)
- kill/pkill
- 功能:终止进程(kill 需 PID,pkill 支持名称匹配)
- 示例:
pkill -9 firefox(强制终止所有 firefox 进程)
- lsof
- 功能:查看打开的文件及进程关联
- 示例:
lsof -i:80(查看占用 80 端口的进程)
- netstat
- 功能:网络统计(需安装,部分系统用
ss替代) - 示例:
netstat -tunlp(查看监听的 TCP/UDP 端口及对应进程)
- 功能:网络统计(需安装,部分系统用
3. 日志与诊断
- journalctl(systemd 日志)
- 示例:
journalctl -xef(实时追踪系统日志)
- 示例:
- tail
- 示例:
tail -f /var/log/nginx/access.log(实时监控日志更新)
- 示例:
- dmesg
- 功能:查看内核启动日志
二、文件与目录操作
1. 基础操作
- ls(列表)、cd(切换目录)、mkdir(创建目录)、rmdir(删除空目录)
- cp(复制)、mv(移动 / 重命名)、rm(删除)
- 示例:
cp -r /src /dst(递归复制目录)
- 示例:
- cat(查看文件内容)、vim/nano(编辑文件)、less/more(分页查看)
- 示例:
cat /etc/hosts(直接显示文件内容)
- 示例:
- find
- 功能:文件搜索
- 示例:
find /var/log -name "*.log"(查找 /var/log 下所有.log 文件)
2. 文本处理
- grep
- 功能:文本搜索
- 示例:
grep "error" /var/log/app.log(查找含 "error" 的日志行)
- awk
- 功能:文本分析与处理(按列操作)
- 示例:
df -h | awk '{print $5}'(提取磁盘使用率列)
- sed
- 功能:流文本编辑(替换、删除等)
- 示例:
sed 's/old/new/g' file.txt(全局替换 old 为 new)
- sort/uniq
- 示例:
sort access.log | uniq -c(统计日志中重复 IP 的出现次数)
- 示例:
3. 压缩与归档
- tar
- 示例:
- 打包压缩:
tar -zcvf data.tar.gz /data(gzip 压缩) - 解压缩:
tar -zxvf data.tar.gz
- 打包压缩:
- 示例:
- gzip/bzip2/xz
- 功能:单独压缩文件(不打包目录)
- zip/unzip
- 示例:
zip -r archive.zip /folder(压缩目录)
- 示例:
三、用户与权限管理
1. 用户管理
- useradd/userdel
- 示例:
useradd -m -s /bin/bash user1(创建用户并分配家目录)
- 示例:
- passwd
- 示例:
passwd user1(修改用户密码)
- 示例:
- groups/usermod
- 示例:
usermod -aG sudo user1(将 user1 加入 sudo 组)
- 示例:
2. 权限管理
- chmod
- 功能:修改文件权限(数字法 / 符号法)
- 示例:
chmod 755 /var/www/html(赋予目录所有者读写执行权限,其他用户读执行)
- chown
- 功能:修改文件所有者 / 所属组
- 示例:
chown root:www-data /var/www/file.php(所有者 root,所属组 www-data)
- sudo
- 示例:
sudo apt-get install nginx(以管理员权限执行命令)
- 示例:
四、网络与服务管理
1. 网络工具
- ping
- 示例:
ping -c 3 www.baidu.com(发送 3 次 ICMP 请求)
- 示例:
- curl/wget
- 功能:网络请求工具(curl 支持更多协议,wget 专注下载)
- 示例:
wget https://example.com/file.tar.gz
- ifconfig/ip
- 功能:查看 / 配置网络接口(ifconfig 属 net-tools,新系统推荐
ip命令) - 示例:
ip addr show eth0(查看 eth0 网卡 IP 地址)
- 功能:查看 / 配置网络接口(ifconfig 属 net-tools,新系统推荐
- nmap
- 功能:端口扫描与网络探测
- 示例:
nmap -p 1-1000 192.168.1.1(扫描 1-1000 端口)
2. 服务与进程管理
- systemctl(systemd 系统,如 CentOS 7+/Ubuntu 16.04+)
- 示例:
- 启动服务:
systemctl start nginx - 开机自启:
systemctl enable nginx - 查看状态:
systemctl status nginx
- 启动服务:
- 示例:
- service/chkconfig(传统 SysVinit 系统,如 CentOS 6)
- 示例:
service httpd restart
- 示例:
- ss
- 功能:替代 netstat,更高效查看网络连接
- 示例:
ss -ltnp(查看监听的 TCP 端口及进程)
五、磁盘与存储管理
- fdisk
- 功能:磁盘分区(需谨慎!)
- 示例:
fdisk /dev/sda(交互式分区工具)
- mkfs
- 功能:格式化分区
- 示例:
mkfs.ext4 /dev/sda1(格式化为 ext4 文件系统)
- mount/umount
- 示例:
mount /dev/sda1 /mnt/data(挂载分区到 /mnt/data)
- 示例:
- parted
- 功能:管理 GPT 分区(支持大于 2TB 磁盘)
六、软件包管理
1. Debian/Ubuntu 系(.deb 包)
- apt-get/apt
- 示例:
- 安装:
apt-get install nginx - 卸载:
apt-get remove nginx - 清理缓存:
apt-get autoclean
- 安装:
- 示例:
2. RedHat/CentOS 系(.rpm 包)
- yum/dnf(CentOS 8 + 用 dnf 替代 yum)
- 示例:
yum install httpd
- 示例:
3. 通用工具
- wget/curl + 脚本(如安装 Docker):bash
https://get.docker.com
七、高级工具与实用技巧
- screen/tmux
- 功能:终端会话管理(断开连接后进程继续运行)
- 示例:
screen -S mysession(创建会话)
- rsync
- 功能:高效文件同步(支持本地 / 远程,增量传输)
- 示例:
rsync -avzh /local/folder user@remote:/remote/folder
- netcat/nc
- 功能:网络调试工具(端口监听、传输数据)
- 示例:
nc -l 8080(监听 8080 端口)
- shutdown/reboot/halt
- 示例:
shutdown -h now(立即关机)
- 示例:
八、常用快捷键与效率工具
- Ctrl + C:终止当前进程
- Ctrl + Z:暂停进程(可通过
bg恢复后台运行,fg恢复前台) - Tab:自动补全(文件、命令、路径)
- man:查看命令手册(如
man ls) - which:查找命令路径(如
which python)
注意事项
- 发行版差异:部分命令在不同 Linux 发行版(如 Debian、RedHat、Arch)中可能名称或用法不同(如
systemctlvsservice)。 - 权限管理:涉及系统级操作(如修改配置文件、安装软件)需用
sudo或切换至 root 用户。 - 安全意识:谨慎使用
rm -rf /、chmod 777等高危命令,操作前确认路径正确性。
建议通过man [命令]或--help获取详细用法(如ls --help),或参考在线文档(如Linux Man Pages)。