我的编程空间,编程开发者的网络收藏夹
学习永远不晚

应该了解决的Linux知识有哪些

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

应该了解决的Linux知识有哪些

本篇内容介绍了“应该了解决的Linux知识有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

几种比较典型的Linux系统

首先对目前的Linux版本有个大体的印象,大体分Desktop版和Server版,已经是百花齐放。

  • Ubuntu 最常见的Linux个人发行版,一位有情怀的南非富豪,有了钱你也可以这么做

  • CentOS 最常用Linux服务器发新版,RHEL的开放版本,因版权而生的轮子

  • Arch 滚动升级,海量二进制包,社区活跃,个人最爱

  • Gentoo 安装软件需要从源码开始编译,稳定,但用起来会很痛

  • LFS 从零构建Linux,跟着做一遍,Linux每根毛都看的清清楚楚

  • Kali 专做渗透用的,代表了发行版的一个发展路径,就是领域

首先要了解的概念

  • KISS Keep it Simple and Stupid,据说是哲学

  • 一切皆文件 通常是文件的东西叫文件,进程、磁盘等也被抽象成了文件,比较离谱的管道、设备、socket等,也是文件。这是Linux最重要的组织方式。

  • 管道 | 分隔,前面命令的输出作为后面命令的输入,可以串联多个

  • 重定向< 将文件做为命令的输入

  • > 将命令的输出输出到文件

  • >> 将命令的输出追加到文件

  • SHELL 首先确认你的shell,一般最常用的是bash,也有不少用csh,zsh等的,通过echo  $SHELL可以看到当前用户的shell,对应的配置文件也要相应改变。比如.zshrc,.bashrc

四大元素

进入linux,我们首先关注的是四个元素:内存,cpu,存储,网络。Linux提供了足够的命令,让你窥探它的每个角落。接下来的命令都是些最常用的,不管精通不精通,想不起来要打屁股。

应该了解决的Linux知识有哪些

CPU

  • 使用top查看cpu的load,使用shift+p按照cpu排序。需要了解wa,us等都是什么意思

  • 使用uptime查看系统启动时间和load,load是什么意思呢?什么算是系统过载?这是个高频问题,别怪我没告诉你

  • ps命令勃大茎深,除了查进程号外,你还需要知道R、S、D、T、Z、<、N状态位的含义

  • top和ps很多功能是相通的,比如watch "ps -mo %cpu,%mem,pid,ppid,command ax" 相当于top的进程列表;top  -n 1 -bc 和ps -ef的结果相似。

  • 有生就有死,可以用kill杀死进程。对java来说,需要关注kill -9、kill -15、kill -3的含义,kill的信号太多了,可以用kill  -l查看,搞懂大多数信号大有裨益。

  • 如果暂时不想死,可以通过&符号在后台执行,比如tail -f a.log  &。jobs命令可以查看当前后台的列表,想恢复的话,使用fg回到幕前。这都是终端作业,当你把term关了你的后台命令也会跟着消失,所以想让你的程序继续执行的话,需要nohup命令,此命令需要牢记

  • mpstat 显示了系统中 CPU 的各种统计信

  • 了解cpu亲和性

内存

  • free -m 命令,了解free、used、cached、swap各项的含义

  • cat /proc/meminfo 查看更详细的内存信息 细心的同学可能注意到,CPU和内存的信息,通过top等不同的命令显示的数值是一样的。

  • slabtop 用来显示内核缓存占用情况,比如遍历大量文件造成缓存目录项。曾在生产环境中遇到因执行find  /造成dentry_cache耗尽服务器内存。

  • vmstat 命令是我最喜欢也最常用的命令之一,可以以最快的速度了解系统的运行状况。每个参数的意义都要搞懂。

  • swapon、swapoff 开启,关闭交换空间

  • ** sar** 又一统计类轮子,一般用作采样工具

存储

  • 使用df -h查看系统磁盘使用概况

  • lsblk 列出块设备信息

  • du 查看目录或者文件大小

网络

  • rsync 强大的同步工具,可以增量哦

  • netstat 查看Linux中网络系统状态信息,各种

  • ss 它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效。

  • curl、wget 模拟请求工具、下载工具。如wget -r http://site 将下载整个站点

  • ab Apache服务器的性能测试工具

  • ifstat 统计网络接口流量状态

  • nslookup 查询域名DNS信息的工具,在内网根据ip查询域名是爽爆了

  • nc 网络工具中的瑞士军刀,不会用真是太可惜了

  • arp 可以显示和修改IP到MAC转换表

  • traceroute 显示数据包到主机间的路径,俗称几跳,跳的越少越快

  • tcpdump 不多说了,去下载wireshark了

  • wall 向当前所有打开的终端上输出信息。使用who命令发现女神正在终端上,可以求爱

网络方面推荐安装体验一下kaliLinux,上面的工具会让你high到极点。

如何组织起来

linux的命令很有意思,除了各种stat来监控状态,也有各种trace来进行深入的跟踪,也有各种top来统计资源消耗者,也有各种ls来查看系统硬件如lsblk、lsusb、lscpi。基本上跟着你的感觉走,就能找到相应的工具,因为约定是系统中很强大的导向。

Linux有个比较另类的目录/proc,承载了每个命令的蹂躏。像sysctl命令,就是修改的/proc/sys目录下的映射项。不信看看find  /proc/sys -type f | wc -l和sysctl -a| wc -l的结果是不是很像?

/proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。只不过以文件系统的方式为访问系统内核数据的操作提供接口。系统的所有状态都逃不过它的火眼金睛。例如:

  • cat /proc/vmstat 看一下,是不是和vmstat命令的输出很像?

  • cat /proc/meminfo 是不是最全的内存信息

  • cat /proc/slabinfo 这不就是slabtop的信息么

  • cat /proc/devices 已经加载对设备们

  • cat /proc/loadavg load avg原来就躺在这里啊

  • cat /proc/stat 所有的CPU活动信息

  • ls /proc/$pid/fd 静静地躺着lsof的结果

一般排查问题的方法

一般排查问题也是围绕着内存cpu等几个元素去排查。下图是一张大体的排查故障或者性能问题的过程,看图,不多说。

应该了解决的Linux知识有哪些

应用场景举例

下面举例从具体应用场景来说明各种命令的组合应用,此类场景数不胜数,需要个人积累。但强烈建议将sed和awk练的熟练一些。

怎么查看某个Java进程里面占用CPU最高的一个线程具体信息?

  • 获取进程中占用CPU最高的线程,计为n。

  • 使用top top -H -p pid,肉眼观察之

  • 使用ps ps -mo spid,lwp,stime,time,%cpu -p pid

  • 将线程号转化成十六进制printf 0x%x n

  • 使用jstack找到相应进程,打印线程后的100行信息 jstack -l pid| grep spid -A 100

统计每种网络状态的数量

netstat -ant | awk '{print $6}' | sort | uniq -c | sort -n -k 1 -r  首先使用netstat查看列表,使用'awk'截取第六列,使用uniq进行统计,并对统计结果排序。当然,也可以这样。 netstat -ant | awk  '{arr[$6]++}END{for(i in arr){print arr[i]" "i }}' | sort -n -k 1 -r  这和“分析apache日志,给出当日访问ip的降序列表”是一样的问题。

怎么查看哪个进程在用swap

首先要了解/proc/$pid/smaps里有我们所需要的各种信息,其中Swap字段即是我们所需要的。只要循环遍历一下即可。

for i in `cd /proc;ls |grep "^[0-9]"|awk ' $0 >100'` ;do awk '/Swap:/{a=a+$2}END{print '"$i"',a/1024"M"}' /proc/$i/smaps ;done |sort -k2nr  复制代码

“应该了解决的Linux知识有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

应该了解决的Linux知识有哪些

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

应该了解决的Linux知识有哪些

本篇内容介绍了“应该了解决的Linux知识有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!几种比较典型的Linux系统首先对目前的Lin
2023-06-16

Linux新手要了解的知识点有哪些

这篇文章主要介绍“Linux新手要了解的知识点有哪些”,在日常操作中,相信很多人在Linux新手要了解的知识点有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux新手要了解的知识点有哪些”的疑惑有所
2023-06-17

Linux新手需要了解的哪些知识点

这篇文章主要讲解了“Linux新手需要了解的哪些知识点”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux新手需要了解的哪些知识点”吧!Linux新手要了解的十个知识点1.Linux是大
2023-06-16

Linux的入门知识有哪些

Linux的入门知识有哪些,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。基本知识:Linux中磁盘分区表示:如:/dev/hda5 :/dev/目录是存放硬件设备文件,hd
2023-06-13

linux SHELL的知识点有哪些

本篇内容主要讲解“linux SHELL的知识点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux SHELL的知识点有哪些”吧!alias显示当前所有的命令别名 alias lm
2023-06-17

零基础小白要学习编程,应该了解的知识有哪些,我来告诉你

零基础小白要学习编程,应该了解的知识有哪些,小编告诉你了解计算机语言全面知识综合一般知识点包括以下分类:HTML css C语言、C++、Java、Python,部分同学还会接触到JavaScript、.net、R语言等等其他语言。在正常学
2023-06-03

node前端需了解的知识点有哪些

这篇文章主要介绍“node前端需了解的知识点有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“node前端需了解的知识点有哪些”文章能帮助大家解决问题。基本特点快速了解nodejs可以从以下几个方
2023-07-05

web响应式设计你需要了解的知识点有哪些

web响应式设计你需要了解的知识点有哪些,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。   响应式设计就是在网站开发过程中根据用户操作以及设备的环境进行相应的操作和布局,让
2023-06-08

Linux挂载的知识点有哪些

Linux挂载的知识点有哪些,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。在 Linux 系统中,可以通过挂载的方式来使用一些外部设备,这种情况下需要我们掌握的知识点主要有
2023-06-28

每个程序员都应该知道的Linux命令有哪些

这篇文章主要介绍了每个程序员都应该知道的Linux命令有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。让我们从处理一些数据开始。假设我们有两个文件,分别记录的订单清单和订
2023-06-16

Linux shell中必须知道的知识有哪些

本篇文章为大家展示了Linux shell中必须知道的知识有哪些,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。我个人很喜欢使用 Linux 系统,虽然说 Windows 的图形化界面做的确实比 Li
2023-06-16

Linux进程的基础知识有哪些

这篇文章主要讲解了“Linux进程的基础知识有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux进程的基础知识有哪些”吧!计算机实际上可以做的事情实质上非常简单,比如计算两个数的和
2023-06-16

Linux防火墙的知识点有哪些

本篇内容主要讲解“Linux防火墙的知识点有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux防火墙的知识点有哪些”吧!一、iptables防火墙并不能阻止DDOS攻击,建议在项目实施
2023-06-26

Java面试时需要了解的知识点有哪些

这篇文章将为大家详细讲解有关Java面试时需要了解的知识点有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。多线程基本概念什么是线程多线程的优点多线程的几种实现方式1.用 Runnable
2023-05-30

Linux新手要了解的十个知识点是哪些呢

今天就跟大家聊聊有关Linux新手要了解的十个知识点是哪些呢,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1.Linux是大小写敏感的系统,举个例子,Mozilla, MOZILLA
2023-06-13

Linux系统的基础知识点有哪些

小编给大家分享一下Linux系统的基础知识点有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!网络是一个很神奇的东西,现代人的生活离不开网络,网络已深入人们的工作,生活,娱乐等方方面面。网络之所以无处不在,是因为它提供了
2023-06-12

Linux集群的相关知识点有哪些

今天小编给大家分享一下Linux集群的相关知识点有哪些的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、 目前网站架构一般分
2023-06-26

Linux内存管理的知识点有哪些

这篇文章主要介绍“Linux内存管理的知识点有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Linux内存管理的知识点有哪些”文章能帮助大家解决问题。1 前言内存管理是Linux内核中非常重要的
2023-06-16

编程热搜

目录