小白运维linux命令总结
小白运维linux命令总结详细介绍
以下是针对 Linux 运维新手的常用命令总结,按功能分类整理,附带核心用法和示例,帮助快速上手:
一、基础操作(必学)
1. 文件 / 目录管理
| 命令 | 功能 | 常用选项及示例 |
|---|---|---|
ls |
列出文件 / 目录 | ls -l(详细信息)、ls -a(显示隐藏文件)、ls -h(人类可读大小) |
cd |
切换目录 | cd /var/log(进入目录)、cd ..(返回上级)、cd ~(回到用户主目录) |
mkdir |
创建目录 | mkdir -p /data/log(递归创建多级目录) |
rm |
删除文件 / 目录 | rm file.txt(删除文件)、rm -r dir(删除目录)、rm -f(强制删除,不询问) |
cp |
复制文件 / 目录 | cp src.txt dest.txt(复制文件)、cp -r dir1 dir2(复制目录) |
mv |
移动 / 重命名文件 / 目录 | mv old.txt new.txt(重命名)、mv file /data(移动文件) |
cat |
查看文件内容 | cat file.txt(显示全部内容)、cat > new.txt(创建文件并输入内容) |
more/less |
分页查看文件(适合大文件) | less large.log(按空格翻页,按q退出) |
nano/vim |
文本编辑(nano 简单,vim 强大) | nano config.conf(直接编辑,适合新手)、vim file.txt(进入后按i编辑,:wq保存退出) |
find |
查找文件 / 目录 | find /data -name "*.log"(在 /data 下找.log 文件)、find . -size +10M(找当前目录大于 10M 的文件) |
grep |
搜索文件内容中的关键词 | grep "error" access.log(查找包含 error 的行)、grep -i(忽略大小写)、grep -r(递归搜索目录) |
2. 权限管理
| 命令 | 功能 | 常用选项及示例 |
|---|---|---|
chmod |
修改文件权限 | chmod 755 script.sh(所有者可读 / 写 / 执行,其他用户可读 / 执行)chmod u+x file(给所有者添加执行权限) |
chown |
修改文件所有者 / 所属组 | chown root:root file.txt(设置所有者为 root,所属组为 root) |
chgrp |
修改文件所属组 | chgrp users dir(设置目录所属组为 users) |
二、系统监控与进程管理
1. 进程查看
| 命令 | 功能 | 常用选项及示例 |
|---|---|---|
ps |
查看进程状态 | ps aux(显示所有用户的进程)、ps -ef(显示进程树) |
top |
实时监控进程(动态更新) | 按M按内存排序,按P按 CPU 排序,按q退出 |
kill |
终止进程 | kill 1234(正常终止进程)、kill -9 1234(强制终止) |
pstree |
查看进程树结构 | pstree(直观显示进程父子关系) |
2. 系统状态
| 命令 | 功能 | 常用选项及示例 |
|---|---|---|
uptime |
查看系统运行时间 | uptime(显示运行时间、负载平均值) |
free |
查看内存使用情况 | free -h(以人类可读格式显示内存和 swap) |
df |
查看磁盘空间 | df -h(显示各分区空间使用情况) |
du |
查看目录 / 文件大小 | du -sh /data(查看 /data 目录总大小) |
三、网络与服务
1. 网络诊断
| 命令 | 功能 | 常用选项及示例 |
|---|---|---|
ping |
测试网络连通性 | ping www.baidu.com(检查网络是否通,按Ctrl+C停止) |
ifconfig |
查看 / 配置网络接口(旧工具) | ifconfig eth0(查看 eth0 网卡信息) |
ip |
现代网络配置工具 | ip addr(查看 IP 地址)、ip route(查看路由表) |
netstat |
查看网络连接状态 | netstat -antp(显示所有 TCP 连接及对应进程) |
curl/wget |
下载文件 | curl -O https://example.com/file.zip(下载文件并保留原名)wget https://url(下载文件) |
2. 服务管理(systemd 系统,如 CentOS 7+/Ubuntu 16+)
| 命令 | 功能 | 常用选项及示例 |
|---|---|---|
systemctl |
管理系统服务(启动 / 停止 / 重启) | systemctl start nginx(启动 nginx 服务)systemctl enable nginx(设置开机启动)systemctl status nginx(查看服务状态) |
四、软件包管理(分发行版)
1. Debian/Ubuntu(.deb 包)
| 命令 | 功能 | 常用选项及示例 |
|---|---|---|
apt |
安装 / 删除软件 | apt install nginx(安装 nginx)、apt remove nginx(删除)apt update(更新软件源)、apt upgrade(升级所有软件) |
2. RedHat/CentOS(.rpm 包)
| 命令 | 功能 | 常用选项及示例 |
|---|---|---|
yum/dnf |
安装 / 删除软件(yum 旧,dnf 新) | yum install httpd(安装 httpd)、dnf update(更新系统) |
五、磁盘与文件操作进阶
| 命令 | 功能 | 常用选项及示例 |
|---|---|---|
tar |
压缩 / 解压文件 | tar -czvf file.tar.gz dir(压缩 dir 目录为 gz 格式)tar -xzvf file.tar.gz(解压 gz 文件) |
gzip/bzip2 |
压缩文件(不打包目录) | gzip log.txt(压缩为 log.txt.gz)、gunzip log.txt.gz(解压) |
fdisk |
磁盘分区管理 | fdisk /dev/sda(交互式分区,常用n新建,w保存) |
dd |
磁盘读写 / 克隆 | dd if=/dev/sda of=/backup.img(克隆磁盘到镜像文件) |
六、文本处理(神器三剑客)
| 命令 | 功能 | 常用选项及示例 |
|---|---|---|
grep |
文本搜索 | grep "关键词" 文件(找包含关键词的行) |
awk |
按列处理文本(数据提取) | awk '{print $1}' log.txt(打印第一列)、awk -F: '{print $1}' /etc/passwd(以:分隔,取第一列) |
sed |
文本替换 / 编辑(流处理) | sed 's/旧内容/新内容/g' file.txt(全局替换旧内容为新内容) |
七、用户与权限
| 命令 | 功能 | 常用选项及示例 |
|---|---|---|
useradd |
创建用户 | useradd -m -s /bin/bash username(创建用户并生成主目录) |
userdel |
删除用户 | userdel -r username(删除用户及主目录) |
passwd |
修改用户密码 | passwd(修改当前用户密码)、passwd username(管理员修改其他用户密码) |
sudo |
以管理员权限执行命令 | sudo apt install xxx(普通用户用管理员权限安装软件) |
八、日志查看
| 命令 | 功能 | 常用选项及示例 |
|---|---|---|
tail |
查看文件尾部内容(实时更新) | tail -f access.log(实时监控日志更新)、tail -n 10 log.txt(显示最后 10 行) |
cat |
查看完整日志(适合小文件) | cat /var/log/syslog(直接显示日志内容) |
九、实用技巧(必记)
- 管道与重定向
|:管道,将前一个命令的输出作为后一个命令的输入(例:ps aux | grep nginx)。>:覆盖写入文件(echo "内容" > file.txt),>>:追加写入文件。
- 命令补全
- 按
Tab键自动补全命令或路径,连续按两次显示所有可能选项。
- 按
- 获取帮助
man 命令(例:man ls查看详细手册)、命令 --help(快速帮助)。
- 快捷键
Ctrl+C:终止当前命令,Ctrl+Z:暂停进程,Ctrl+L:清屏,Ctrl+U:删除当前行所有内容。
总结:运维必背核心命令
- 文件操作:
ls,cd,mkdir,rm,cp,mv,cat,grep,find - 权限管理:
chmod,chown - 进程监控:
ps,top,kill - 网络诊断:
ping,curl,netstat,systemctl - 软件包管理:
apt/yum/dnf - 日志处理:
tail,grep
新手建议:从基础命令开始,通过实践(如搭建 LNMP 环境、处理日志)巩固,遇到问题多查man手册和搜索引擎(如 “Linux xxx 命令用法”)。逐步学习 shell 脚本和自动化工具(如 Ansible),提升效率!