Linux内核命令学习方法概览

用命令行搞 Linux,感觉就像直接和机器对话,一个命令下去,信息全都明清楚白地反馈上来,实在、直接、不绕弯。许多人刚上手,觉得一堆命令挺吓人,实则用熟了,也就那几样最常用,什么系统信息、硬件状态、进程内存这些,习惯了,三下五除二就查出来了。没必要搞那么多界面操作,直接敲代码,效率高得很。

在系统信息这块,一般大家都先看机型、内核这些基础数据。`uname -a`这句用得多,系统是啥版本、架构咋样,一看就懂。查发行版本,打`lsb_release -a`,信息很全。像主机名 `hostname`,都是一行命令搞定。平时排查问题,和这些基本信息打交道是家常便饭。越是服务器环境,越离不开这些基础。

查硬件,命令更是一堆,什么 CPU、内存、硬盘、外设信息,想看就看。CPU用 `lscpu`,连型号、多少核心全都能查得清清楚楚。看内存情况跑 `lsmem`,细致点就看物理块排布。硬盘分区啥的,用`lsblk`扫一遍,连 U 盘啥的`lsusb`也能查出来。有时候要查主板、内存条这些设备的厂商型号,跑 `dmidecode` 挺顺手的。这样一圈命令下来,机器配置一览无遗。

进程这部分,刚接触 Linux 的人常常搞糊涂:到底哪个程序在跑?CPU被谁占满了?内存用到什么程度?这些问题都是靠进程相关命令解决。最基本的 `ps`,用 `ps aux` 能把所有当前进程都列出来,每一列都有讲究,PID、用户、CPU/内存占比啥都有。想看层级结构?用 `pstree`,进程父子关系一目了然。实时监控方面,`top` 是老牌选手,`htop`界面友善些,能手动杀进程,筛选重点。调整某进程优先级,用 `nice` 或 `renice`,有些服务要求优先跑,这命令就挺实用。实在卡死了,要杀进程,`kill` 或 `killall` 都能用,能指定进程名或属性批量处理。

内存这块也一样说,查占用、分析缓存、统计细节,命令直接给答案。`free -h`查全部内存和 swap 区占用,后面带个参数还能调显示方式。`slabtop`专门查内核缓存,`smem`能按照进程细查占用。如果是和虚拟内存、磁盘 I/O相关,就靠 `vmstat` 和 `iostat`,实时察看每个方面性能。如果感觉系统变慢,一般先查查这些数据,十有八九都能找到缘由。

说到磁盘和文件系统,用到最多估计就是 `df` 和 `du`。想知道某个目录到底占了多少空间,`du -sh 路径`最直接。整体磁盘快满了,`df -h`一行就能查当前各分区容量。分区表和挂载情况看`fdisk`和`lsblk`。要改分区,搞文件系统,常用的是 `mkfs`。有时候文件系统挂了,不能访问了,实则只要搞个 `fsck`就能修修补补。日常找谁在用某个文件夹,也是跑`lsof`,直接按路径查有人在用啥资源。不够细还可以看文件变化,用`inotifywait`,监控超级直观。

网络配置和排查更是离不开命令。服务器连不上时,最先跑的就是 `ping` 和 `traceroute`,能查到是网络断了还是哪里堵住了。网络接口用 `ifconfig` 或者新的 `ip` 命令,能看 MAC 地址、IP 设置啥都全。想改路由表就用`route`,要查端口监听的程序用 `netstat`或者速度更快的 `ss`。像 DNS 查找奔 `nslookup`,偶尔想抓网络包分析问题,`tcpdump`和`wireshark`这两个工具都是专家常备。网络出问题,命令排查起来特别清楚,自己分析跟楼下修水管一样,哪里漏水一查就清楚。

用户和权限这部分,实则很常见,尤其是在团队协作或多用户环境下,加人删人都能用命令来。加用户 `useradd`,删 `userdel`,要改属性用 `usermod`,密码多半跑 `passwd` 超级方便。想看权限,就查当前用户和组 `id`。权限控制一直是 Linux 的门槛,`chmod` 改访问权限,`chown` 改文件所有者,改文件属组用 `chgrp`,设置默认新建文件权限直接敲`umask`。有人觉得麻烦,实则熟了就顺手就来,像维修师傅拿扳手拧螺丝,都是门道。

日常运维查系统状况根本就离不开各种监控命令。`uptime` 看机器开了多久,负载是否异常;当前谁在机器上,用 `who` 或 `w`,能看登录情况,配合 `last` 查登录记录,追溯问题时很关键。内核信息看 `dmesg`和`journalctl`,找出内核报错或驱动异常。查日志还能结合 `tail` 和 `head`,把最新或最前的信息翻出来。日志单独查关键字,更离不开 `grep`。无论查谁在用机器还是排查问题,命令都在手心攥着。

需要关机、重启的时候,实则比什么其它模式都要直接,命令行一个输入就能安全地搞定。`shutdown` 结束任务,重启用 `reboot`,彻底断电那就 `halt` 或 `poweroff`。大家习惯用什么都无所谓,命令一输,机器立刻执行,没有拖拖拉拉。

最后说包管理这一块,实则不同的 Linux 发行版命令也不一样,列如 Ubuntu、Debian 系列用 `apt`,CentOS、RedHat 跑 `yum`,Fedora 换成 `dnf`,Arch Linux 则是 `pacman`。装软件、卸载程序、更新库都靠这些命令,命令学会了,系统更新维护一气呵成。

实则这些命令圈起来不就是日常 Linux 运维和诊断的家常便饭?别的系统点开窗口慢慢调,Linux这边直接下命令,信息又多又全,速度真往上提。工作中只要遇到奇怪的小毛病,大部分时候回头捡捡这些命令,把各项信息扒出来一看,基本都能对症下药。命令没什么神秘的,听着唬人,实则就是有条有理地查数据、改配置。谁只要用习惯了,生活工作都会变得顺畅不少,就算是新手稍微坚持一下,过个两天三天也就多了点底气,遇到啥难题第一时间就想到敲命令试试,自己能解决,特别有成就感。

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
别碰我齐刘海h的头像 - 鹿快
评论 抢沙发

请登录后发表评论

    暂无评论内容