加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

作为高级Java,你应该了解的Linux知识

发布时间:2019-10-31 11:57:59 所属栏目:建站 来源:小姐姐味道
导读:Linux命令好像还真不少,根本原因就是软件多,也有像ag这样的命令想替代grep,但大多数命令古老而坚挺。不是因为这些软件设计的有多好,原因是一些软件最开始入驻了系统,时间久了,就变成了一种约定,这种习惯改变代价太大,就像把所有键盘的L和F换一下一
副标题[/!--empirenews.page--]

Linux命令好像还真不少,根本原因就是软件多,也有像ag这样的命令想替代grep,但大多数命令古老而坚挺。不是因为这些软件设计的有多好,原因是一些软件最开始入驻了系统,时间久了,就变成了一种约定,这种习惯改变代价太大,就像把所有键盘的L和F换一下一样。

作为高级Java,你应该了解的Linux知识

这片文章假定你已经了解大多数Linux命令,并了解操作系统的基本元素。如果你现在了解的命令还不足10个,下面的内容就不用看了。除了最基本的东西,本文列出一些对你的面试最常见的最能加分的地方,有些组合可能是你没见过的技巧。但本文仅仅是给出一个大致的轮廓和印象,为以后的专题性考察点作一个序。

本文中出现的所有命令,应该熟记并熟练使用。

几种比较典型的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提供了足够的命令,让你窥探它的每个角落。接下来的命令都是些最常用的,不管精通不精通,想不起来要打屁股。

作为高级Java,你应该了解的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。基本上跟着你的感觉走,就能找到相应的工具,因为约定是系统中很强大的导向。

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读