☰
Linux运维实战:CentOS 7.9高频命令速查与操作指南
2026/10/15 11:03:33 网站建设 项目流程

刚接触Linux的人往往会面临一个场景:一台刚装好CentOS 7.9的服务器或者虚拟机摆在面前,只有一个黑乎乎的终端窗口,光标在闪烁,接下来该干什么?是敲ls看看当前目录,还是直接ping baidu.com测网络?网上教程多如牛毛,但大多数要么只罗列命令参数,不管实际场景,要么直接丢出一大段脚本让人照抄,抄完还是不明白为什么。这篇文章就是为解决这个问题而写的,所有命令都在CentOS 7.9环境下实测过,没有任何花哨功能,都是生产环境里真正高频使用的操作,覆盖文件管理、文本查看、用户权限、系统监控、网络传输、压缩解压等日常运维必备技能。无论你是刚入行的运维新人、转行做后端开发的程序员,还是自己搭服务器练手的技术爱好者,都可以把这份指南当作手边的操作手册,跟着步骤敲一遍,配合各个命令的回显输出截图示意,你很快就能摆脱“面对终端不知道敲什么”的窘境。

1. 环境准备与命令基础概念

1.1 准备一台CentOS 7.9环境

实操之前先解决环境问题。如果你手上还没有Linux机器,最省事的办法是用虚拟机软件装一个CentOS 7.9,内存分配2GB、磁盘20GB就足够跑通本文所有命令。安装过程中记得选择“最小化安装”或者带“开发工具”的安装包,前者能让你体会手动装命令的过程,后者则省去后面补装工具的麻烦。

装完之后,你大概率会面对一个纯文本登录界面。输入root用户名和密码登录进去,第一件事就是确认系统版本:

cat /etc/centos-release

正常会输出CentOS Linux release 7.9.2009 (Core)。这一步不是走形式,很多命令的行为在不同版本上有细微差别,确认版本之后,后面提到的参数、输出格式才对得上号。比如CentOS 7用systemd管理服务,而6代还是init脚本,这直接影响systemctl命令的使用方式。

如果觉得虚拟机里操作不方便,也可以开启SSH服务,用本地的终端模拟器远程连进去。我个人建议把所有练习都放到远程终端里做,因为大部分生产服务器你根本摸不到物理机,远程操作才是常态。开启SSH服务的命令:

systemctl start sshd systemctl enable sshd ip addr

ip addr用来查看IP地址,记下ens33或eth0网卡对应的地址,然后在本地电脑上用SSH客户端连接即可。

1.2 理解命令的基本结构

Linux命令看起来五花八门,但底层结构就一句话:命令名 + 选项 + 参数。拿一个实际例子说明:

ls -lh /var/log/messages

这里ls是命令名,-lh是选项(l表示长格式显示,h表示人类可读的大小),/var/log/messages是操作对象。绝大部分命令都遵循这个结构,你只需要记清楚“想干什么”——复制文件用cp,移动用mv,删除用rm,查看进程用ps,逻辑非常直白。

我的建议是不要试图一次记住所有参数。每个命令只需要掌握两三个最高频的用法,剩下的等到真实场景里遇到了,再用man命令查帮助也不迟:

man ls

man会打开完整的帮助文档,按q键退出。这个习惯能帮你省掉大量死记硬背的时间,用得多了,参数自然就记住了。

提示:最小化安装的系统里可能没有man命令,先执行yum install -y man补上。顺便养成“读文档”的习惯,这比收藏任何教程都管用。

1.3 绝对路径与相对路径

路径问题算是新手最常见的卡壳点。绝对路径是从根目录/开始写的完整路径,比如/etc/nginx/nginx.conf,在任何位置执行都能准确找到目标。相对路径则是相对于当前目录的写法,比如你在/etc目录下,输入nginx/nginx.conf就能访问同一个文件。

理解这个区别的关键在于提示符。Linux默认提示符会显示当前目录,比如[root@localhost etc]#,这里etc就是当前所在目录。我用一个类比帮你记住这个关系:绝对路径就是快递的完整收货地址(省市区街道门牌号),相对路径就是你说“我在你楼下超市门口,往前走50米就到了”——前者全世界通用,后者只有站在正确位置才有效。

日常操作中,我会优先使用绝对路径写脚本和配置文件,因为脚本执行环境不可控,相对路径容易出问题。但纯手敲命令时,相对路径能省很多字,配合Tab键自动补全,效率极高。

2. 文件与目录操作:日常使用频率最高的命令

2.1 查看目录内容:ls的实用进阶

ls可能是你接触的第一个Linux命令,但它的进阶用法很多人未必真吃透了。基础版大家都熟悉,核心实战参数我列一下:

ls -l # 长格式显示,含权限、属主、大小、修改时间 ls -a # 显示隐藏文件(以.开头的文件) ls -lh # 大小以K、M、G为单位显示,可读性更强 ls -lt # 按修改时间排序,最新的排最上面,排查问题常用 ls -R # 递归显示子目录内容

ls -l的输出信息量很大,我把第一行拆开解释一下:

-rw-r--r--. 1 root root 1810 Mar 21 09:33 nginx.conf

第一个字符-表示普通文件,d表示目录,l表示软链接。后面九个字符分成三组,每组三个,分别代表文件属主(u)、属组(g)、其他人(o)的读(r)、写(w)、执行(x)权限。后面的数字1是硬链接数,root root是属主和属组,1810是文件大小,Mar 21 09:33是最后修改时间。

实际工作里最常用的组合是ls -lhrt:h是易读大小,r是逆序排列,t按时间排序。这样能快速找到目录里最旧或最新的文件,排查日志增长和临时文件堆积问题时特别顺手。

2.2 切换目录与目录管理操作

cd命令几乎没有学习成本,但有一个很多人没用过的技巧。输入cd -可以回到上一次所在的目录,在两个目录间来回切换时非常好用。比如你先在/etc/nginx查看配置,又去了/var/log/nginx看日志,想再回到刚才的配置目录,直接cd -,省得重新敲路径。

pwd是显示当前工作目录,看似不起眼,但写脚本、配定时任务时经常用它来确认路径,避免相对路径错误。

创建目录时,mkdir有一个参数必须掌握,就是-p。mkdir -p /data/logs/2025/nginx能一次性创建多层不存在的目录,而且如果目录已存在也不会报错。这在自动化脚本里几乎是标配写法,因为脚本执行时不能假设目录一定存在。

删除目录用rmdir只能删空目录,实际很少用。通常直接用rm -rf,后面套一个危险操作提醒:

注意:rm -rf /是所有Linux人必须刻在脑子里的禁忌。/后面加个空格,再写个目录名,整个目录就没了。删文件前先ls确认内容,养成习惯不要为省事跳过去,任何人在疲惫状态下都可能手滑。

2.3 复制、移动与删除文件

cp和mv命令覆盖了文件操作的三大基本动作——复制、改名、挪位置。我总结了一个速查逻辑:cp是复制(源文件保留),mv是移动(源文件消失,同时兼有重命名功能)。

常用参数如下:

cp -r /data/app /data/app_backup # 递归复制目录 cp -p nginx.conf nginx.conf.bak # 保留权限和修改时间 mv /data/old.txt /data/new.txt # 重命名 mv /data/old.txt /backup/ # 移动到其他目录

实战中我最常用的一个场景是修改配置文件前先备份:cp nginx.conf nginx.conf.bak.20250101,有了备份再改动心里就有底了。改完配置验证没问题,再决定是保留备份还是清理旧文件。

mv在磁盘空间不足时还有一个妙用:当你需要处理一个大文件又不想直接删除(怕误操作),可以先mv到临时目录,确认服务一切正常后再删。反正mv只是在文件系统层面改个路径记录,不涉及数据拷贝,瞬间完成。

2.4 通配符与特殊文件

通配符是Linux命令里高效的批量操作工具,主要有三个:

  • *:匹配任意多个字符
  • ?:匹配任意一个字符
  • [ ]:匹配指定字符集中的任意一个,[0-9]表示0到9任一数字

举个例子,查看所有2024年的日志文件变形:

ls /var/log/nginx/access.log.2024*

清理一小时内生成的临时文件、批量改名、批量删除,这些任务配合通配符会非常快。但你也要意识到通配符的扩展机制是shell先把它替换成匹配到的文件名再交给命令,如果当前目录文件特别多(比如上万个),命令长度可能超过系统限制(ARG_MAX通常为2MB),这时候用find命令配合-exec或管道更合适。

软链接也是需要理解的概念。ln -s /data/www /var/www/html创建的软链接,可以理解成Windows的快捷方式。配置Nginx网站根目录时经常用到这种手法,数据存在数据盘,网站目录在系统盘,通过一条软链接把两者连起来,既省空间也能规避分区大小限制。判断一个文件是不是软链接,ls -l看第一个字符是l即可。

3. 文件内容查看与搜索:日志排查的核心能力

3.1 从头到尾读文件:cat与less的选择

遇到配置文件需要看内容,新手第一反应是cat。cat适合查看短文件(几十行以内)。文件超过一屏内容,cat会造成大量输出刷屏,后面的内容根本来不及看。

这时候用less代替,它支持分页浏览和上下滚动,还能按/关键词搜索定位,按n跳到下一个匹配项,G跳到文件末尾,gg回文件开头。我习惯用less查看Nginx或应用日志:

less /var/log/messages

查看文件开头部分用head,默认显示前10行。查看文件末尾用tail,默认显示后10行。日志类文件通常最新的内容都在末尾,所以tail的出场率明显高于head。

3.2 实时滚动查看日志:tail -f

要说运维排查问题最实用的命令,tail -f绝对排前三。它能让文件新增内容实时滚动输出到终端,你在另一个终端修改配置文件或者触发一个请求,这边立即能看到对应日志。命令格式:

tail -f /var/log/nginx/access.log

看Nginx访问日志时,配合grep过滤出一个IP或接口的日志,就能清楚看到请求状态码、响应时间、来源地址,快速定位问题。生产环境调试接口异常时,我常同时开两个终端,一个跑tail -f看应用日志,另一个发测试请求,效率非常高。

如果觉得滚动输出太快,可以加-n 50参数先显示最后50行再进入跟随模式,防止刷屏一时反应不过来。

3.3 文本搜索利器grep

grep的本质是文本过滤工具,它从输入流或文件里提取匹配指定模式的行并输出。最常用的几个参数:

grep "error" /var/log/messages # 普通搜索 grep -i "error" app.log # 忽略大小写 grep -r "timeout" /etc/nginx/ # 递归搜索目录下所有文件 grep -n "listen" nginx.conf # 显示行号 grep -v "^#" nginx.conf # 反向匹配,排除以#开头的行 grep -E "error|warning" app.log # 扩展正则,匹配多个关键词

grep -v "^#"这个用法特别适合读取配置文件。把注释行和空行过滤掉,剩下的全是生效配置,一眼看清全貌:

grep -vE "^#|^$" /etc/nginx/nginx.conf

grep配合管道符号还能实现更强大的操作。比如查看某一个Tomcat进程的启动参数:

ps -ef | grep tomcat

这个组合说明了一个更通用的思想:Linux的哲学是“一个命令只做一件事,然后用管道把多个命令串起来”。ps管进程列表,grep管过滤,两者结合完成一个复杂任务。你学会了这一个组合的思考方式,后面就能自己发明更多组合。

3.4 统计文本内容:wc与sort、uniq组合

排查日志时经常要回答“某个IP访问了多少次”“某个错误出现了几回”这类问题。wc -l能数出行数,但它只能数总数,无法按类别统计。这时需要三件套:

grep "ERROR" app.log | wc -l # 统计错误总行数 awk '{print $1}' access.log | sort | uniq -c | sort -rn | head -20

最后这条命令是访问日志分析的高频组合:awk '{print $1}'取出每行第一个字段(通常是客户端IP),sort排序(让相同IP聚到一起),uniq -c统计每个IP出现的次数,再sort -rn按次数从大到小排列,最后head -20取前20行。这样就能快速得出访问量最高的IP列表,排查CC攻击或分析热点来源时特别有用。

sort -rn这里面的r表示反向排序,n是按数值排序而不是字典序。少了n,数字10会排在2前面,这是新手经常踩的坑。

4. 用户与权限管理:保护系统安全的基本功

4.1 用户与用户组管理

生产环境里直接使用root操作是一个非常不好的习惯。root权限意味着绕过了一切权限校验,一条误命令就可能毁掉整个系统。正确做法是日常使用普通用户,需要管理员权限时通过sudu临时提权。

创建用户的命令:

useradd zhangsan passwd zhangsan

useradd创建用户,passwd设置密码。创建后通常还要给用户添加sudo权限,方法是把用户加入wheel组:

usermod -aG wheel zhangsan

-aG的意思是append(追加)到某个组,不加-a直接-G会把用户从原来的附属组里挪出来,这是一个容易翻车的细节。

查看当前用户的命令是whoami,切换用户用su - username。注意su -和su的区别:带-会完整加载目标用户的环境变量,工作目录也会切换过去。不加-只切换用户名,环境变量还是原来那个人的,容易引发各种奇怪问题。我这里说的都是普通场景下切换用户,生产环境里更规范的临时提权方式是sudo配置对应权限,而不是直接把root密码告诉别人。

4.2 文件权限的理解与设置

权限这部分概念不难,但搞错代价大。每个文件有三组权限(属主u、属组g、其他人o),每组有读r(4)、写w(2)、执行x(1)三个位。数字表示法就是把这几个值加起来。rwx是7,r-x是5,rw-是6。

chmod命令修改权限,最常用的是数字模式:

chmod 755 /data/www # 属主全权限,属组和其他人读+执行 chmod 644 nginx.conf # 属主读写,其他人只读 chmod -R 750 /data/app # -R递归修改目录下所有文件

为什么配置文件通常是644、目录通常是755?因为配置文件只需要属主能写,其他人读取就可以了。目录需要有执行权限才能进入,所以目录至少是755,如果给纯644,其他人连cd进去都做不到。

修改属主和属组用chown:

chown root:root nginx.conf chown -R zhangsan:zhangsan /data/app

关于权限有一个实战中容易踩的坑:Nginx工作进程运行在nginx用户下,而站点目录属主是root且权限是755,那么Nginx只能读文件而不能在目录里创建新文件。如果遇到上传文件权限不足、目录无法生成缓存的报错,优先排查目录权限和运行用户是否匹配。

4.3 特殊权限与sudo配置

除了rwx常规权限,还有两个特殊位需要了解。setuid(s)作用于可执行程序,让执行该程序的用户临时获得程序属主的权限。常见例子是passwd命令,它的权限是-rwsr-xr-x,普通用户修改自己密码时,能临时用root身份改写/etc/shadow文件。setgid(s)作用于目录时,会让这个目录下新建的文件自动继承目录的属组,共享目录经常这么用。

配置sudo权限的文件是/etc/sudoers,官方要求用visudo命令编辑而不是直接vi,因为visudo保存时会做语法校验,防止写错导致sudo彻底失效。给用户只授权特定命令的写法:

zhangsan ALL=(ALL) /usr/bin/systemctl restart nginx, /usr/bin/tail -f

这种细粒度授权比直接给ALL权限安全得多。生产环境里给外包同事或临时协助者授权时,能只给一条命令就不要给一堆命令,能限定参数就不要开放全部。

5. 系统状态查看与进程管理:性能排查的必备技能

5.1 查看系统资源使用:free与df、du

系统卡了、内存不够了,这些问题的排查基本从以下几个命令入手。

查看内存使用:

free -h

-h以G为单位显示。输出里的buff/cache列容易被误解为“已使用”,实际上这部分内存是Linux的文件缓存,当程序需要时会自动释放。判断内存够不够,主要看available列,它代表可分配给新程序的实际内存。

查看磁盘空间使用:

df -hT

-T显示文件系统类型(xfs、ext4、vfat等),-h易读。看到某个分区使用率逼近100%,就要考虑清理或扩容。

查看当前目录占用磁盘大小:

du -sh /var/log du -sh * | sort -rh | head -10

第二条命令找出当前目录里占用最大的10个文件/目录,快速锁定磁盘空间被什么吃掉了。我发现很多生产环境磁盘告警,最后定位到的都是日志文件堆积导致,配合find清理旧日志是最常见操作。

5.2 查看进程与资源占用:ps与top

查看当前有哪些进程在运行,用ps -ef。输出列比较多,重点看PID(进程号)、PPID(父进程号)、CMD(命令)。配合grep过滤特定进程:

ps -ef | grep java

要想看进程具体占用了多少CPU和内存,用动态刷新的top命令。首次进入按大写P按CPU排序,按大写M按内存排序,按q退出。top还有一个批处理模式适合脚本采集数据:

top -bn1 | head -30

-b批处理,-n1只取一次快照。这条命令在写监控脚本时经常用到。

如果某个进程异常占用CPU又不确定它是什么,ps -ef找到PID后,再查看进程的工作目录和启动命令:

ls -l /proc/12345/cwd cat /proc/12345/cmdline

/proc目录是内核暴露给用户态的一张信息表,用文件系统的方式呈现所有运行进程的细节。理解了这一点,排查很多诡异问题时你都会自然而然想到去/proc下翻一翻。

5.3 systemd服务管理

CentOS 7后服务管理全面切换为systemd,相关命令必须重点掌握:

systemctl start nginx # 启动服务 systemctl stop nginx # 停止服务 systemctl restart nginx # 重启服务 systemctl reload nginx # 平滑重载配置,不中断连接 systemctl enable nginx # 开机自启 systemctl status nginx # 查看服务状态 systemctl disable nginx # 取消开机自启

reload和restart的区别需要记清楚。Nginx改配置后可以直接reload,它会重新加载配置并优雅重启worker进程,正在处理的连接不中断。而restart是先停再启,会造成短暂中断。生产环境里,改配置优先考虑reload,只有涉及新增监听端口等无法reload的场景才用restart。

查看服务启动报错信息,用:

journalctl -u nginx --since "2025-01-01 00:00:00"

这个命令能查到服务在指定时间之后的全部日志。服务起不来时,systemctl status只给一句“failed”,真正的细节都在日志里。

5.4 查找命令与文件:find的实战用法

find命令的定位能力非常强,但也因为它参数多让新手望而生畏。实战高频用法其实就这几种:

find /data -name "*.log" -type f # 按名字找文件 find /data -mtime +7 -type f # 找7天前修改过的文件 find /data -size +500M # 找超过500MB的大文件 find /data -name "*.tmp" -delete # 找到后直接删除 find /data -name "*.log" -exec rm -rf {} \; # 找到后执行命令

清理日志时,下面这条是我在服务器上最常用的组合,删除7天前的日志文件并把结果输出到文件供确认:

find /var/log -name "*.log" -mtime +7 -type f | tee /tmp/old_logs.txt | xargs rm -f

关于-exec和xargs的区别,-exec每条匹配都会启动一次命令,文件量大时效率偏低;xargs会把匹配结果批量传给后面的命令,效率更高,但也要注意文件名包含空格时会出错(可用-print0配合xargs -0解决)。

6. 压缩打包与网络传输:发布部署的必备操作

6.1 tar打包压缩与解压

Linux打包压缩的霸主是tar,几乎统治了所有软件发布场景。基本用法不需要死记,把下面几个组合抄下来:

tar -czvf app.tar.gz /data/app # 打包并gzip压缩 tar -xzvf app.tar.gz # 解压gz包 tar -cjvf app.tar.bz2 /data/app # 打包并bzip2压缩,压缩率更高 tar -xjvf app.tar.bz2 # 解压bz2包 tar -xvf app.tar # 解压纯打包(无压缩)

记忆方法:c是create创建,z是gzip压缩,j是bzip2压缩,v是verbose显示过程,f指文件,x是解压。所以不管看到.tar.gz、.tar.bz2还是.tar,对应的参数组合都顺理成章也能拼出来。

解压时如果想指定目录,加-C参数:

tar -xzvf app.tar.gz -C /opt/app

打包排除某些目录或文件:

tar -czvf backup.tar.gz /data --exclude=/data/logs --exclude=/data/cache

这个排除参数在备份场景太重要了,不排掉日志和缓存,备份文件体积会膨胀几倍,浪费磁盘和时间。

6.2 网络下载与测试:curl和wget

软件安装包下载、接口测试、HTTP请求调试,这两个命令足够覆盖。

wget面向下载任务,最常用参数:

wget -O nginx.tar.gz https://example.com/nginx.tar.gz # 下载并重命名 wget -c https://example.com/big.tar.gz # 断点续传 wget -bhttps://example.com/app.tar.gz # 后台下载

curl功能更全面,不仅能下载还能发送各种HTTP请求。调试接口时我非常依赖它:

curl -I https://example.com/ # 只看HTTP头 curl -X POST -d "name=test" https://example.com/api curl -H "Content-Type: application/json" -d '{"key":"value"}' https://example.com/api

-I只获取响应头,-X指定请求方法,-d带请求体,-H加自定义头。后端开发排查接口返回状态码、响应时间,或者确认服务器到外部网络是否连通,这些命令足够用了。

6.3 远程文件传输scp与rsync

远程拷贝文件是跨服务器操作的基础能力。scp最简单直接:

scp nginx.tar.gz root@192.168.1.100:/opt/ scp -r /data/app root@192.168.1.100:/data/

如果需要做目录同步、增量备份,用rsync,它只传变化的部分,效率高得多:

rsync -avz --delete /data/app/ root@192.168.1.100:/data/app/

-a归档模式保留权限和时间戳,-v显示过程,-z压缩传输,--delete让目标目录与源目录严格一致(删除目标端多余文件)。使用--delete要格外谨慎,它会清掉目标目录里源目录没有的文件,路径写错就麻烦了,我建议第一次同步时不要加这个参数,确认两边内容差异后再说。

6.4 查看网络端口占用与连接状态

网络排查也是高频场景。查看一个端口被什么进程占用:

netstat -tlnp | grep 80

-t显示TCP,-l显示监听状态(LISTEN),-n不解析域名以数字显示,-p显示进程号。没有-p就看不到PID,这时需要root权限才能显示进程名。

更轻量的替代命令是ss,CentOS 7里netstat有时未预装,ss才是官方推荐的工具:

ss -tlnp | grep 80

查看服务器到底有哪些监听端口、哪些端口对外提供服务,一台新接手服务器直接ss -tlnp扫一遍,开放的端口和对应进程就一目了然了。

7. 常见问题排查实录与经验心得

7.1 命令找不到(command not found)

执行命令报command not found,好几个可能原因:命令没装、命令的路径不在PATH环境变量里、敲错了命令名。先检查命令是否装过:

which nginx

没有输出说明没找到,用yum install安装。如果命令确实存在但which找不到路径,可能是安装到了/usr/local/bin而PATH里没包含这个目录,可以用find / -name "nginx"搜一下。CentOS 7最小化安装里,很多工具比如ifconfig、netstat都在net-tools包里,需要单独安装。

7.2 权限不足(Permission denied)

权限不足提示在操作文件时最常出现。如果是普通用户操作系统目录,优先检查当前身份:

id

确认是否有必要使用sudo提权。如果是操作自己的目录仍然报权限不足,用ls -ld看看目录权限是不是被误改。一种常见情况:目录权限从755被改成700,其他用户进不去了,连Nginx这样的服务用户也无法读取网站文件。临时应急可以chmod o+x /data给“其他人”加执行权限,但更合理的修复方式是chown调整目录属主和属组,而不是一股脑放宽权限。

7.3 端口被占用(Address already in use)

启动服务时提示address already in use,说明端口已被别的进程占用。定位到占用者再决定是停掉它还是改端口:

ss -tlnp | grep 8080

看到PID后,用ps -ef | grep PID确认是什么进程。如果确定是残留的僵尸进程,可以kill PID结束。如果源端口被系统保留(比如CentOS 7里某些端口段被保留),还会看到Cannot assign requested address的报错,检查/proc/sys/net/ipv4/ip_local_port_range和ip_local_reserved_ports。

7.4 磁盘空间耗尽后的自救步骤

df -h看到使用率100%,连日志都写不进去了,这种情况每个运维都遇到过。处理流程:

先找出大文件:

du -sh /* 2>/dev/null | sort -rh | head -10

定位到日志目录后,查看最大日志文件并确认它还在被进程占用:

ls -lhS /var/log/nginx/ lsof | grep deleted

删除被进程占用的日志文件有个陷阱:文件被删后空间不会立即释放,因为进程还持有该文件的句柄。正确的清理方式是清空文件而不是删除:

> /var/log/nginx/access.log

用>把文件内容截断为0字节,空间立即释放,服务不用重启。

7.5 我的几个习惯与操作建议

文章最后分享几个我从实际工作里沉淀下来的习惯,谈不上什么高深理论,但确实帮我省过很多麻烦。

第一条,危险的删除操作前,先把路径写在纸上或者心里默念一遍再回车。我见过太多因为路径多打一个空格导致目录被误删的案例。尤其rm -rf这种命令,宁可多花两秒确认,也不要赌自己的输入一定准确。更好的习惯是完全不用rm -rf删除重要目录,而是用mv挪到临时目录,确认没问题再彻底清理。

第二条,改配置前永远先做备份。哪怕只是多加一行注释,也先cp一份带日期的备份文件。这些备份文件不占多少空间,但回滚时能救命。我通常在项目目录下建一个backup文件夹放这些历史配置,每季度统一清理一次。

第三条,学会看日志比学会更多命令更重要。很多问题其实日志里都写得清清楚楚,只是新手不知道去哪看、看哪行。遇到报错先别急着搜答案,先看/var/log/messages、/var/log/secure、服务的日志文件,往往比自己猜原因高效得多。日志文件不存在时,多半是rsyslog服务没启动或配置文件里日志级别设置过高,也属于排查方向之一。

最后一条,把常用命令组合封装成脚本。比如每次排查内存用free -h、看磁盘用df -hT、查大目录用du -sh *,完全可以写成一个sysinfo.sh放到/usr/local/bin下,一步跑完。刚开始学的时候,多敲命令本身就是在练肌肉记忆,但熟练之后,把这些固定动作自动化,省下来的时间拿去看看新知识,投资回报率很高。

这份指南覆盖的命令都是我平时跑服务器时真正在用的,按顺序过一遍,配合实际服务器操作效果更好。你可以在自己的测试机上把命令全部敲一遍,体会每条命令的反馈,再用上一段时间,自然会形成肌肉记忆。到时候你面对一个陌生服务器,至少能做到不慌不忙,知道该从哪里下手查起,这大概就是入门到进阶的第一步了。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询