Linux 基础操作全攻略:从入门到实战

📅 2026/6/28 22:28:43
Linux 基础操作全攻略:从入门到实战
前言Linux 是运维、开发、云计算领域的必修课。本文基于 Rocky Linux 10 环境系统梳理了日常工作中最常用的 Linux 操作命令和核心概念适合新手入门也适合老手查漏补缺。一、命令学习方法论1. 认识陌生命令命令作用whatis ls显示命令的简短描述whereis ls查找命令的绝对路径echo $PATH查看命令搜索路径2. 获取帮助ls -h/ls --help—— 快速选项说明info ls—— 详细文档man ls—— 手册页最常用3. 命令格式text命令 [子命令] [选项] [参数]Linux 执行命令时会自动到$PATH指定目录下查找。二、Rocky 换源阿里云镜像bash# 替换官方源为阿里云 sed -e s|^mirrorlist|#mirrorlist|g \ -e s|^#baseurlhttp://dl.rockylinux.org/$contentdir|baseurlhttps://mirrors.aliyun.com/rockylinux|g \ -i.bak /etc/yum.repos.d/rocky*.repo # 新建 aliyun-baseos.repo cat /etc/yum.repos.d/aliyun-baseos.repo EOF [aliyun-baseos] namealiyun baseos baseurlhttps://mirrors.aliyun.com/rockylinux/10/BaseOS/x86_64/os/ gpgcheck0 EOF # 更新缓存 dnf makecache yum repolist三、文件系统概览重要目录说明目录用途/root、/home/xxx超级用户/普通用户家目录/boot启动相关文件/etc配置文件重中之重/bin、/sbin命令文件/var日志、缓存等可变数据/tmp临时文件重启后清空谁创建谁删除root 除外/dev设备文件/proc内核运行状态虚拟文件系统磁盘与 inodedf -h—— 查看磁盘空间人类可读df -i—— 查看 inode 使用情况df -Th—— 查看文件系统类型ext4/xfs/ntfs 等存储满的两种情况数据占满 → 删文件或扩容inode 占满大量小文件→ 删除小文件若进程占用需先停止进程四、基础命令速查目录切换与查看bashpwd # 当前路径 cd /etc # 切换目录 ls -lah # 列出所有文件含隐藏带大小单位 ls -S # 按大小排序 ls -t # 按时间排序 ls -d # 查看目录本身属性用户身份bashwhoami # 当前有效用户 who am i # 原始登录用户 w # 查看当前登录用户及活动历史命令与补全安装bash-completion后重连终端Tab 补全更强大history -c—— 清除历史Ctrl R—— 搜索历史命令重定向与管道符号含义覆盖写入追加写入21将错误输出重定向到标准输出/dev/null黑洞丢弃数据/dev/zero无限产生 0示例将脚本输出全部丢入黑洞bash/bin/bash test.sh /dev/null 21tee同时输出到终端和文件bashecho hello | tee file.txt五、文件与目录操作创建bashmkdir -p dir1/docs/images # 递归创建 touch file1.txt file2.txt # 创建空文件或更新时间戳 touch file{1..10}.txt # 批量创建 10 个文件复制 / 移动 / 删除bashcp -r dir1 /tmp # 递归复制 cp -i file1.txt /tmp # 覆盖前确认 mv file1.txt data.txt # 重命名 mv *.txt /var/tmp # 移动多个 rm -rf /var/tmp/dir1 # 强制递归删除慎用 rmdir empty_dir # 仅删除空目录六、查看文件内容命令适用场景cat -n file小文件带行号less file大文件分页空格翻页/搜索q退出head -n 5 file查看前 5 行tail -f file实时监控尾部日志常用grep 过滤bashgrep -nir error /var/log # 递归忽略大小写显示行号 grep -v ^$ file # 过滤空行 grep -E error|warning file # 多条件匹配sed 流编辑bashsed -i s/old/new/g file.txt # 全局替换 sed -i 3i\插入行 file.txt # 第3行前插入awk 列处理bashawk {print $1, $NF} file # 打印第一列和最后一列 awk -F: {print $1} /etc/passwd awk NR2 file # 只显示第2行七、vim 编辑器速记三大模式命令模式默认→ 按i/a/o进入插入模式按:进入末行模式插入模式→ 按Esc退回命令模式可视模式→v字符、V行、Ctrlv块常用操作操作命令删除整行dd删除 3 行3dd复制整行yy粘贴p/P撤销u重做Ctrlr查找/keyword保存退出:wq强制退出:q!全局替换:%s/old/new/g显示行号:set nu执行外部命令:!ls永久配置创建~/.vimrc文件写入vimset nu set cul set ai set expandtab八、打包与压缩bash# 打包压缩自动识别后缀 tar -caf etc.tar.bz2 /etc # 解包解压自动识别 tar -xf etc.tar.bz2查看软件包安装的文件位置bashrpm -ql 软件名九、文件查找与定位find实时查找bashfind . -name *.txt # 按文件名 find / -size 10M # 大于10MB find . -mtime -7 # 7天内修改 find . -type d # 只找目录 find . -perm -666 # 权限包含读写 find . -user alice # 属主为alice find . -name *.cfg -exec cp {} /etc \; # 执行操作xargs 配合bashfind . -name *.log | xargs rm -flocate数据库快速查找bashlocate passwd sudo updatedb # 更新数据库十、命令与文件类型bashtype -a cd # 查看命令类型内置/外部/别名 alias # 查看所有别名 alias mylsls -lah # 临时别名永久需写入 ~/.bashrc file /etc/hosts # 查看文件真实类型 stat file.txt # 查看详细属性权限、时间、inode十一、链接文件硬链接同一 inode不占额外空间不能跨文件系统不能链接目录bashln source.txt hard.txt软链接独立文件指向路径可跨文件系统可链接目录bashln -s source.txt soft.txt十二、用户与组管理核心文件/etc/passwd—— 用户信息/etc/shadow—— 密码信息/etc/group—— 组信息查看信息bashid alice groups alice getent passwd alice getent group DEV组管理bashgroupadd DEV -g 2001 groupmod DEV -n DEV2 groupdel DEV2用户管理bashuseradd alice -u 2000 -G DEV,IT -d /opt/alice passwd alice usermod -aG wheel alice # 追加附加组 usermod -L alice # 锁定用户 userdel -r alice # 删除用户及家目录 su - alice # 切换用户Ubuntu 注意useradd -m -s /bin/bash alice组成员管理bashgpasswd -a alice DEV gpasswd -d alice DEV十三、文件权限管理权限类型r(4) 读w(2) 写x(1) 执行修改权限bashchown alice:IT file.txt # 修改属主:属组 chgrp DEV file.txt # 仅改属组 chmod ux file.txt # 字符法 chmod 755 file.txt # 数字法urwx,grx,orx注意要删除文件需对上级目录有写权限要进入目录需有执行权限。扩展属性chattrbashchattr i file.txt # 不可修改连 root 也不行 chattr -i file.txt # 解除 chattr a file.txt # 仅追加 lsattr file.txt # 查看属性十四、提权sudo 与 visudo将用户加入wheel组即可获得所有命令的 sudo 权限Rocky 默认配置bashusermod -aG wheel alice自定义规则编辑/etc/sudoers必须用visudobash# 允许某用户执行所有命令免密 yangge ALL(ALL) NOPASSWD: ALL # 允许组 it 执行所有命令 %it ALL(ALL) NOPASSWD: ALL # 允许特定用户执行特定命令 alice ALL(ALL) NOPASSWD: /usr/bin/cat, /usr/sbin/userdel十五、系统信息与进程管理系统信息bashlscpu free -h arch uname -a cat /etc/redhat-release cat /etc/os-release静态查看进程bashps aux # 所有进程 ps aux --sort-%cpu | head # CPU 排序 ps -eo cmd,pid,ppid,user,%cpu --sort-%mem pstree # 进程树 lsof -i :80 # 查看端口占用 netstat -tnlp # 查看监听端口或 ss -tnlp动态查看进程top交互键q退出k杀进程r调整优先级P按CPU排序M按内存排序批处理模式top -b -n 3 top.log进程控制bashkill -15 PID # 正常终止默认 kill -9 PID # 强制杀死 kill -1 PID # 重载配置 kill -19 PID # 暂停 kill -18 PID # 继续 sleep 100 # 后台运行十六、信息输出与交互bashecho Hello echo -e 第一行\n第二行 # 启用转义 echo -e \033[41;36m 红底绿字 \033[0m # 彩色输出 printf %-10s %5d\n Tom 25 # 多行写入文件EOF cat file.txt -EOF 第一行 第二行 EOF # 读取用户输入 read -p 请输入姓名: name read -s -p 密码: pass十七、文本处理小工具bashcut -d: -f1 /etc/passwd # 以:分割取第1列 tr a-z A-Z file.txt # 小写转大写 sort -r file.txt # 降序排序 uniq -c file.txt # 去重并统计次数 # 经典组合统计访问IP次数 cat access.log | awk {print $1} | sort | uniq -c | sort -nr十八、通配符与正则表达式通配符命令行*—— 任意字符{a..z}—— 连续范围[a-z]—— 单个字符正则表达式grep/sed/awk元字符含义.任意单个字符*前一个字符 0 次或多次前一个字符 1 次或多次?前一个字符 0 次或 1 次^行首$行尾\ \词首/词尾[^]取反总结本文涵盖了 Linux 日常运维中 80% 以上的高频操作从基础命令到用户权限从文件查找到进程监控都是实打实的硬技能。建议读者在虚拟机或云服务器上反复练习将每个命令亲手敲一遍才能真正内化。记住Linux 没有“下一步”按钮一切皆文件一切皆命令。后续可继续学习shell 脚本编程、服务管理systemd、网络配置、防火墙、LVM 磁盘管理等。