最全的Linux教程,Linux从入门到精通
======================
-
linux从入门到精通(第2版)
-
Linux系统移植
-
Linux驱动开发入门与实战
-
LINUX 系统移植 第2版
-
Linux开源网络全栈详解 从DPDK到OpenFlow
第一份《Linux从入门到精通》466页
====================
内容简介
====
本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。
本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。
需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
-
u 进程所属用户
-
x 没有终端控制的进程
在你查看某一个服务进程时,可以先查看下这个服务到底安装过没。使用chkconfig
命令查看nginx
服务进程,这里强调一下chkconfig
命令针对的是rpm
包安装的服务。没有安装的小伙伴可以去参考官方文档了解下,多学一点总该没坏处吧,万一以后用到了也会轻松一些:
chkconfig --list | grep nginx
ps -aux
这样使用在centos6.5的版本中会报出一个警告,但是不妨碍你查看得到的结果。使用过centos7的小伙伴你会发现就算加上“-”也不会出现警告的,这个“-”嘛大多数命令后面都接上了,习惯就好。
可以使用ps命令查看如下等等服务的进程,细心的同学肯定发现了用到了管道符grep
进行过滤,只获取你想要的服务进程。只列举了几个,其它的就不一一列举了:
-
ps aux | grep httpd 查看
Apache
进程 -
ps aux | grep nginx 查看
nginx
进程 -
ps aux | grep mysql查看
msyql
进程 -
ps aux | grep java 查看
java
进程
以上就是ps aux命令的用法
再来看看ps -le
命令的用法:
-
-l 以长格式显示进程
-
-e 显示所有进程
ps -le | grep nginx与aux命令其实作用差不多,只是显示的形式不同而已。
以上是ps -le命令的用法
上面了解完ps命令后,接着来学习一下top命令
top [选项],下面给出-d|-b|-n的含义:
-
-d 秒数:指定top命令每隔几秒刷新,默认3秒。
-
-b:使用批处理模式输出,一般和“-n”选项合用。
-
-n次数:指定top命令执行的次数, 一般和“-b”选项合用。
例如:top -b -n 1 > top.log
定向输出到top.log文件中,可以看到更多的信息。值得注意的是,“>”这个符号试将内容清空掉再新增进去,“>>”这个符号是将内容直接追加到文件内容后面。下图会给你一个直观的感觉:
top 命令:[在top命令的交互模式可以执行的命令]
| 内容 | 含义 |
| — | — |
| ?或h | 显示交互模式的帮助 |
| P | 以CPU使用率排序,默认为此项。 |
| M | 以内存使用率排序 |
| N | 以PID排序 |
| q | 退出top |
top
命令如下图所示5行,下面的表格,详细的列出了每行命令的含义
- 任务队列信息:这里列出重点
load average
,表示系统平均负载,方便你判断系统的健康状态。
| 内容 | 含义 |
| — | — |
| 06:10:21 | 系统时间 |
| 3:48 | 系统运行时长 |
| 2 users | 当前登录用户个数 |
| load average
0.00, 0.00, 0.00 | 系统在之前1分钟,5分钟,15分钟的平均负载。一般小于1小时,负载小。如果大于1,系统已经超出负荷【重点】 |
- 进程信息状态:关注重点
0 zombie
,僵尸进程。
| 内容 | 含义 |
| — | — |
| Tasks: 97 total | 系统中的进程总数 |
| 1 running | 正在运行的进程数 |
| 96 sleeping | 休眠的进程 |
| 0 stopped | 正在停止的进程 |
| 0 zombie
| 僵尸进程,如果不是0,需要手工检查僵尸进程【重点】 |
- CPU信息:CPU这里也有一个需要关注的重点99.8%id,空闲CPU百分比,用于判断系统健康状态。
| 内容 | 含义 |
| — | — |
| Cpu(s): 0.0%us | 用户模式占用CPU百分比 |
| 100.0%sy | 系统模式占用CPU百分比 |
| 0.0%ni | 改变过优先级的用户进程占用CPU百分比 |
| 100.0%id
| 空闲CPU百分比【重点】 |
| 0.0%wa | 等待输入/输出占用CPU百分比 |
| 0.0%hi | 硬中断请求服务占用CPU百分比 |
| 0.0%si | 软中断请求占用CPU百分比 |
| 0.0%st | 虚拟时间百分比 |
- 内存信息:关注重点,空闲物理内存,内存占用越高,你的系统越卡,这时服务器负载压力会增加,就要考虑加内存了,或者其它业务需求,配置多台服务器集群。
| 内容 | 含义 |
| — | — |
| Mem:1918460k total | 物理内存总量,单位KB |
| 733684k used | 已使用物理内存 |
| 1184776k free
| 空闲物理内存【重点】 |
| 62880k buffers | 作为缓冲的内存数量 |
- 交换分区(
Swap
)信息:Swap分区不要觉得它占用了很多空间,就去调小,这样做是不对的,重点关注空闲交换分区大小。值得注意的是,安装linux时swap分区需要配置的,一般为内存的两倍,但没有特别要求。
| 内容 | 含义 |
| — | — |
| Swap: 2064376k total | 交换分区(虚拟内存)的总大小 |
| 0k used | 已使用交互分区大小 |
| 2064376k free
| 空闲交换分区大小【重点】 |
| 153956k cached | 作为缓存的交互分区大小 |
以上是top命令的用法及作用
学习完top命令后,接着就是最后一个pstree命令了
pstree
命令
-
-p 进程的pid
-
-u 进程所属用户
例如:pstree -p -u 查看所有用户进程pid
以上是pstree命令的介绍
kill
,killall
,pkill
杀死进程【注意:不到万不得已的情况下,不要轻易杀死进程】。
别整天天杀杀杀(纳尼?玩三国杀玩多了?骚一波。),我们不是一个杀手,而是一位系统管理员或者一位研发人员,需要谨慎一些维护好系统。
-
kill [进程ID]
-
kill -l 查看可用的进程信号
例如:
-
kill -1 3033 重启进程
-
kill -9 3034 强制杀死进程
以上是kill命令的介绍
想要深入掌握kill命令,客官接着往下看,得了解一些常用的信号代表的意义,列出了部分信号的含义,方便使用:
| 信号代号 | 信号名称 | 说明 |
| — | — | — |
| 1 | SIGHUP
| 让进程立即关闭,重新读取配置文件后重启 |
| 2 | SIGINT | 程序终止信号,终止前台进程,相当于快捷键ctrl+c |
| 8 | SIGFPE | 发生致命的算术运算错误时发出,不仅包括浮点运算错误,还包括溢出及除数为0等其它所有的算术的错误 |
| 9 | SIGKILL
| 立即结束程序的运行,本信号不能被阻塞、处理或忽略,一般用于强制终止进程 |
| 14 | SIGALRM | 时钟定时信号,alarm函数使用该信号 |
| 15 | SIGTERM | 正常结束进程的信号,kill命令默认信号.(假如进程已经发生问题,这个信号无法正常终止进程的,此时会尝试SIGKILL信号) |
| 18 | SIGCONT | 让暂停的进程恢复执行,不能被阻断 |
| 19 | SIGSTOP | 可以暂停前台进程,相当于快捷键ctrl+z,不能被阻断 |
killall
[选项][信号]后面必须接进程名
按进程名杀死进程
-
-i:交互式,询问是否要杀死某个进程
-
-I:忽略进程名的大小写
例如:killall -i -9 httpd 确认是否杀死apache进程
pkill
[选项][信号]后面必须接进程名
- 按进程名杀死进程
最后的话
最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!
资料预览
给大家整理的视频资料:
给大家整理的电子书资料:
如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
存中…(img-rqqdTSRs-1715824704406)]
给大家整理的电子书资料:
[外链图片转存中…(img-p0MNHH6f-1715824704407)]
如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!