超实用的 Linux 高级命令,程序员一定要懂

这篇具有很好参考价值的文章主要介绍了超实用的 Linux 高级命令,程序员一定要懂。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

在运维的坑里摸爬滚打好几年了,我还记得我刚开始的时候,我只会使用一些简单的命令,写脚本的时候,也是要多简单有多简单,所以有时候写出来的脚本又长又臭。

像一些高级点的命令,比如说 Xargs 命令、管道命令、自动应答命令等,如果当初我要是知道,那我也可能写出简洁高效的脚本。

不管出于任何原因,我都想对一些 Linux 使用的高级命令进行用法说明,利人利己,以后不记得的话,我也可以回头翻来看看。

一、实用的 xargs 命令

在平时的使用中,我认为 xargs 这个命令还是较为重要和方便的。我们可以通过使用这个命令,将命令输出的结果作为参数传递给另一个命令。

比如说我们想找出某个路径下以 .conf 结尾的文件,并将这些文件进行分类,那么普通的做法就是先将以 .conf 结尾的文件先找出来,然后输出到一个文件中,接着 cat 这个文件,并使用 file 文件分类命令去对输出的文件进行分类。

这个普通的方法还的确是略显麻烦,那么这个时候 xargs 命令就派上用场了。

1:找出 / 目录下以 .conf 结尾的文件,并进行文件分类

命令:

find / -name *.conf -type f  -print | xargs file

输出结果如下所示:

超实用的 Linux 高级命令,程序员一定要懂

 xargs 后面不仅仅可以加文件分类的命令,你还可以加其他的很多命令,比如说实在一点的tar命令,你可以使用find命令配合tar命令,将指定路径的特殊文件使用find命令找出来,然后配合tar命令将找出的文件直接打包,命令如下:

find / -name *.conf -type f \ -print | xargs tar cjf test.tar.gz

二、命令或脚本后台运行

有时候我们进行一些操作的时候,不希望我们的操作在终端会话断了之后就跟着断了,特别是一些数据库导入导出操作,如果涉及到大数据量的操作,我们不可能保证我们的网络在我们的操作期间不出问题,所以后台运行脚本或者命令对我们来说是一大保障。

比如说我们想把数据库的导出操作后台运行,并且将命令的操作输出记录到文件,那么我们可以这么做:(反斜杠代表换行,可以忽略)

nohup mysqldump -uroot -pxxxxx \—all-databases > \./alldatabases.sql &(xxxxx是密码)

当然如果你不想密码明文,你还可以这么做:

nohup mysqldump -uroot -pxxxxx \—all-databases \> ./alldatabases.sql (后面不加&符号)

执行了上述命令后,会提示叫你输入密码,输入密码后,该命令还在前台运行,但是我们的目的是后天运行该命令,这个时候你可以按下Ctrl+Z,然后在输入bg就可以达到第一个命令的效果,让该命令后台运行,同时也可以让密码隐蔽输入。

命令后台执行的结果会在命令执行的当前目录下留下一个nohup.out文件,查看这个文件就知道命令有没有执行报错等信息。

三、找出当前系统内存使用量较高的进程

在很多运维的时候,我们发现内存耗用较为严重,那么怎么样才能找出内存消耗的进程排序呢?

命令:

ps -aux | sort -rnk 4 | head -20

超实用的 Linux 高级命令,程序员一定要懂

 

输出的第4列就是内存的耗用百分比。最后一列就是相对应的进程。

四、找出当前系统CPU使用量较高的进程

在很多运维的时候,我们发现CPU耗用较为严重,那么怎么样才能找出CPU消耗的进程排序呢?

命令:

ps -aux | sort -rnk 3 | head -20

超实用的 Linux 高级命令,程序员一定要懂

 输出的第3列为CPU的耗用百分比,最后一列就是对应的进程。

我想大家应该也发现了,sort 命令后的34其实就是代表着第3列进行排序、第4列进行排序。

五、同时查看多个日志或数据文件

在日常工作中,我们查看日志文件的方式可能是使用tail命令在一个个的终端查看日志文件,一个终端就看一个日志文件。包括我在内也是,但是有时候也会觉得这种方式略显麻烦,其实有个工具叫做multitail可以在同一个终端同时查看多个日志文件。

首先安装multitail

wget ftp://ftp.is.co.za/mirror/ftp.rpmforge.net/redhat/el6/en/x86_64/dag/RPMS/multitail-5.2.9-1.el6.rf.x86_64.rpm

yum -y localinstall multitail-5.2.9-1.el6.rf.x86_64.rpm

multitail工具支持文本的高亮显示,内容过滤以及更多你可能需要的功能。

如下就来一个有用的例子:

此时我们既想查看secure的日志指定过滤关键字输出,又想查看实时的网络ping情况:

命令如下:

multitail -e "Accepted" \/var/log/secure -l "ping baidu.com"

超实用的 Linux 高级命令,程序员一定要懂

 不是很方便?如果平时我们想查看两个日志之间的关联性,可以观察日志输出是否有触发等。如果分开两个终端可能来回进行切换有点浪费时间,这个multitail工具查看未尝不是一个好方法。

六、持续ping并将结果记录到日志

很多时候,运维总会听到一个声音,是不是网络出什么问题了啊,导致业务出现怪异的症状,肯定是服务器网络出问题了。这个就是俗称的背锅,业务出了问题,第一时间相关人员找不到原因很多情况下就会把问题归结于服务器网络有问题。

这个时候你去ping几个包把结果丢出来,人家会反驳你,刚刚那段时间有问题而已,现在业务都恢复正常了,网络肯定正常啊,这个时候估计你要气死。

你要是再拿出zabbix等网络监控的数据,这个时候就不太妥当了,zabbix的采集数据间隔你不可能设置成1秒钟1次吧?小编就遇到过这样的问题,结果我通过以下的命令进行了ping监控采集。

然后再有人让我背锅的时候,我把出问题时间段的ping数据库截取出来,大家公开谈,结果那次被我叼杠回去了,以后他们都不敢轻易甩锅了,这个感觉好啊。

命令:

ping api.jpush.cn | awk '{ print $0 " " strftime(“%Y-%m-%d %H:%M:%S”,systime()) }' >> /tmp/jiguang.log &

输出的结果会记录到/tmp/jiguang.log 中,每秒钟新增一条ping记录,如下:

超实用的 Linux 高级命令,程序员一定要懂

七、查看tcp连接状态

指定查看80端口的tcp连接状态,有利于分析连接是否释放,或者攻击时进行状态分析。

命令:

netstat -nat |awk \'{print $6}' |sort|\uniq -c|sort -rn

超实用的 Linux 高级命令,程序员一定要懂

八、查找80端口请求数最高的前20IP

有时候业务的请求量突然上去了,那么这个时候我们可以查看下请求来源IP情况,如果是集中在少数IP上的,那么可能是存在攻击行为,我们使用防火墙就可以进行封禁。命令如下:

netstat -anlp|grep 80|grep tcp|awk '{print $5}' \|awk -F: '{print $1}'|sort|uniq -c|sort -nr|head -n20

超实用的 Linux 高级命令,程序员一定要懂

九、ssh实现端口转发

可能很多的朋友都听说过sshlinux下的远程登录安全协议,就是通俗的远程登录管理服务器。但是应该很少朋友会听说过ssh还可以做端口转发。其实ssh用来做端口转发的功能还是很强大的,下面就来做示范。

实例背景:我们公司是有堡垒机的,任何操作均需要在堡垒机上进行,有写开发人员需要访问ELasticSearchhead面板查看集群状态,但是我们并不想将ElasticSearch9200端口映射出去,依然想通过堡垒机进行访问。所以才会将通往堡垒机(192.168.1.15)的请求转发到服务器ElasticSearch192.168.1.19)的9200上。

例子:

将发往本机(192.168.1.15)的9200端口访问转发到192.168.1.199200端口

ssh -p 22 -C -f -N -g -L \9200:192.168.1.19:9200 \ihavecar@192.168.1.19

记住:前提是先进行秘钥传输。

命令执行完后,访问192.168.1.15:9200端口则真实是访问192.168.1.19:9200端口。

-End-文章来源地址https://www.toymoban.com/news/detail-416684.html

到了这里,关于超实用的 Linux 高级命令,程序员一定要懂的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 作为一个程序员一定要掌握的算法之遗传算法

    目录 一、引言 1.1 目的 1.2 意义 二、遗传算法介绍 2.1 遗传算法的基本思想 2.2 遗传算法与其他算法的主要区别 2.3 基于Java的遗传算法设计思想 三、遗传算法的具体实现 3.1 系统功能模块图和说明 3.2 代码和说明 3.2.1 初始化 3.2.2 选择运算 3.2.3 交叉运算 3.2.4 变异运算 3.2.5 主函

    2024年02月15日
    浏览(61)
  • 程序员想兼职赚钱?这几个渠道你一定要知道?

    某一天当一个程序员,一拍脑门想要兼职,赚点小钱,于是他打开了知乎,打开了百度搜索兼职。结果弹出了一大部分有兼职要视频剪辑的,写文稿的等等等等。逛了一圈,发现根本没有自己合适的兼职。 我想说: 喂!喂!喂! 你不是程序员吗?我们程序员当然要用自己的

    2024年02月14日
    浏览(53)
  • 职场经验、为什么程序员一定要写单元测试?

    2024软件测试面试刷题,这个小程序(永久刷题),靠它快速找到工作了!(刷题APP的天花板)_软件测试刷题小程序-CSDN博客 文章浏览阅读2.5k次,点赞85次,收藏11次。你知不知道有这么一个软件测试面试的刷题小程序。里面包含了面试常问的软件测试基础题,web自动化测试、

    2024年02月21日
    浏览(59)
  • 密码如何“加盐加密”处理?程序员一定要掌握的知识

    目录 前言 一、手写加盐算法 1.1、加密 1.1.1、加密思路 1.1.2、加密简图 1.1.3、代码实现 1.2、解密 1.2.1、解密思路 1.2.2、解密代码 1.3、验证 二、使用 Spring Security 框架实现加盐算法 为什么要使用加盐的方式对密码进行加密?我们知道传统的 md5 加密方式是可以通过 “彩虹表”

    2024年02月16日
    浏览(55)
  • 黑马程序员-从0到1学习Linux-第二章-Linux基础命令

    目录 Linux的目录结构 Linux命令入门 一、Linux命令基础 二、ls命令入门 三、ls命令的参数和选项 目录切换相关命令(cd/pwd) 相对路径、绝对路径和特殊路径 创建目录命令(mkdir)  文件操作命令 查找命令 grep、wc和管道符 echo、tail和重定向符 vi编辑器  补充:关于命令选项的说

    2024年02月11日
    浏览(46)
  • 程序员都熟悉但不一定说得清的操作系统基本概念

    任何计算机系统都包含一个名为操作系统的基本程序集合。在这个集合里,最重要的程序称为内核(kernel)。当操作系统启动时,内核被装入到RAM中,内核中包含了系统运行所必不可少的很多核心过程(procedure)。其他程序是一些不太重要的使用程序,尽管这些程序为用户提

    2024年02月02日
    浏览(50)
  • 黑马程序员---微服务笔记【实用篇】

        微服务实现流程:  所有要学的技术:  分层次教学:  具体分层:  单体架构 将业务所有功能集中在一个项目中开发,打成一个包部署 优点:架构简单、部署成本低 缺点:耦合度高 分布式架构 根据业务功能对系统进行查分,每个业务模块作为独立项目开发,称为一

    2024年02月07日
    浏览(60)
  • Elasticsearch的高阶使用方法有哪些?,后端程序员必备的Linux基础知识+常见命令

    ③should 通用的道理:多个查询条件通过should连接,相当于以前常用的or,说白了也就是逻辑运算符“与”。 ps :关于其格式使用,不要看它图中好像挺复杂的样子,其实都可以通过工具有提示,并且这些写多了基本也就知道了。 2范围查询 商品都有自己的价格,用户可以通过

    2024年04月08日
    浏览(83)
  • C生万物 | 程序员必备实用调试技巧分享

    本文,我们就来讲讲如何去进行调试, 对于一名优秀的程序员来说,除了要熟练写业务逻辑外,还要学会如何去调试代码,这是至关重要的! 🔰 那我们该如何去调试哪些东西呢?使用什么去调试呢?如何调试呢? —— 让我们带着上面这些问题一起进入调试的学习📖 首先

    2024年02月17日
    浏览(52)
  • 学习笔记-微服务高级(黑马程序员)

    测试软件 jmeter 雪崩问题 个微服务往往依赖于多个其它微服务,服务提供者I发生了故障,依赖于当前服务的其它服务随着时间的推移形成级联失败 超时处理 设定超时时间,请求超过一定时间没有响应就返回错误信息 仓壁模式 限定每个业务能使用的线程数,避免耗尽整个tom

    2024年04月25日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包