Linux 案例命令使用操作总结
在信息技术日新月异的今天,Linux以其开源、稳定、高效的特性,逐渐成为了众多专业人士的首选操作系统。然而,关于Linux知识的学习,却常常陷入一个误区——许多人认为,掌握Linux就是死记硬背各种命令和参数。这种观念,不仅忽略了Linux学习的本质,也阻碍了Linux知识的有效应用。事实上,Linux知识不是靠背,而是要在某应用场景下懂得去用。不信大家可以一起探讨下吧!
在实际应用中,Linux知识的运用远比单纯的记忆更为重要。
1、比如大家背得ls命令是用来列出文件或者目录,但是平时却很少有人结合-h和-S参数来,更便于人类识别,并且将所列出文件从大到小排序呈现。
[root@haodaolinux01 ~]# ls -lhS
总用量 228M
-rw-r--r--. 1 root root 228M 3月 9 03:17 haodaolinux.tar
-rw-r--r--. 1 root root 73K 4月 1 2002 cmatrix-1.2a.tar.gz
-rwxr-xr-x. 1 root root 4.1K 4月 19 04:05 show_basy.sh
drwxrwxrwx. 2 500 500 4.0K 9月 5 2022 cmatrix-1.2a
-rw-------. 1 root root 1.6K 11月 5 2021 anaconda-ks.cfg
-rwxr-xr-x. 1 root root 81 9月 8 2022 test.sh
-rw-r--r--. 1 root root 7 3月 8 23:20 haodao.txt
-rw-r--r--. 1 root root 0 9月 8 2022 =
-rwxr-xr-x. 1 root root 0 2月 24 2022 test
[root@haodaolinux01 ~]#
2、比如大家背得通过ps命令来查看进程,但是却很少有人知道以下这些更适用运维场景的命令。
(1)ps命令结合相关参数及管道符,使得进程按照内存从大到小排列。
ps -e -o "%C : %p : %z : %a"|sort -k5 -nr
(2)ps命令查看的按 CPU 利用率从大到小排列的进程。
ps -e -o "%C : %p : %z : %a"|sort -nr
(3)ps查找当前系统内存使用量较高的进程(前20个);
ps -aux | sort -rnk 4 | head -20
(4)ps查找当前系统CPU使用量较高的进程(前20个);
ps -aux | sort -rnk 3 | head -20
3、大家都说Linux下一切皆文件,查找某个文件时犹如大海捞针,显得十分困难。但是却忽略了find命令的这些高效用法,利用好这些命令,你查找文件时,会显得一切都是手到擒来!
(1)查找当前目录下名字为haodao.py的文件;
find . -name haodao.py
(2)查找当前目录下名字以.py结尾的文件;
find . -name "*.py"
(3)查找当前目录下名字以.py结尾的文件,并且指定为文件类型搜索;
find . -type f -name "*.py"
(4)查找当前目录下名字包含haodao的目录;
find . -type d -name "haodao*"
(5)查找当前目录下文件权限为755的对应文件;
find . -type f -perm 755
(6)查找当前目录下不具有755权限的所有文件;
find . -type f ! -perm 755
(7)查找当前目录下具有777权限的所有文件,并且将这些权限全部改为755;
find . -type f -perm 777 -exec chmod 755 {} \;
(8)查找当前目录下文件大小为100MB~1GB的所有文件;
find . -type f -size +100M -size -1G
(9)查找当前目录下以.py结尾的文件,并且删除;
find . -name "*.py" -exec rm -rf {} \;
或
find . -name "*.py" | xargs rm -rf {};
或
rm -rf $(find . -name "*.py")
以上3种快速删除指定类别文件方法,哪一种更香更好用呢?
(10)查找当前目录下30天前修改过的所有文件;
find . -mtime 30
(11)查找当前目录下30天前访问过的所有文件;
find . -atime 30
(12)查找当前目录下过去1个小时内修改过的所有文件;
find . -mmin -60
(13)查找当前目录下过去1个小时内修改过的所有文件;
find . -amin -60
(14)查找当前目录下修改超过10天,但修改不到30天的所有文件;
find . -mtime +10 -mtime -30
(15)查找当前目录下7天前创建的,并且后缀名是以.py结尾的文件,并且进行删除;
find . -mtime +7 -name "*.py" | xargs rm -rf {};
(16)查找当前目录大于1000M的文件,并将该文件移动到/root/home目录下;
find . -size +1000M -exec mv {} /root/home ;
(17)查找当前目录下创建于30天前,大小大于1000M,以.py结尾的文件,并且进行删除;
find . -name "*.py" –mtime +30 –type f –size +1000M |xargs rm –rf {};
4、大家印象中只知道cat命令可以查看文件内容,但是却很少知道cat命令还能这么用的。
(1)查看有几个逻辑cpu, 包括cpu型号;
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
(2)查看有几颗cpu,每颗分别是几核;
cat /proc/cpuinfo | grep physical | uniq -c
5、当需要大文件进行某个场景测试时,好多首先想到的就是把windows上拷贝一个大文件到Linux系统,却不知道通过dd命令,只需简单命令即可实现本地创建大文件。
(1)借助dd命令生成大文件。
dd if=/dev/zero of=/root/haodaolinux/test.txt bs=1M count=1024
上述命令,在/root/haodaolinux目录下生成一个文件名为test.txt 大小为 1G 的文件。
如果大家还觉得dd命令玩得不过瘾,可以看看以下这篇针对dd命令的详解
Linux下的dd命令真心强大实用~
6、大家都知道通过vi等编辑工具,可以编辑文件中任何内容。但是却不懂利用sed命令可以快速编辑所需的特定内容。
(1)如何通过sed命令将文件test.py中的haodao全部替换成HAODAO;
sed -i "s/haodao/HAODAO/g" test.py
(2)替换haodao.py文件中的目录;
sed -i "s:/etc/dhcp:/home:g" haodao.py
即表示将haodao.py文件中的/etc/dhcp目录替换成/home目录。
如果大家还想了解sed相关高效命令,可以前往以下这篇针对sed命令详解的文章看看~
sed用得少?那是你没发现它这些实用技巧~
7、大家都知道tcpdump命令是用来抓包的,但是却很少有人这样高效抓包分析。
(1)针对网口ens33抓取不限制大小的报文,保存为文件haodao.cap;
tcpdump -i ens33 -s 0 -w haodao.cap
(2)针对网口ens33进行抓包,过滤出 icmp 报文并且源 IP 地址是 192.168.20.231的相关报文;
tcpdump icmp and src 192.168.20.231 -i ens33 -n
(3)针对网口ens33进行抓包,过滤出源 IP 地址是 192.168.20.231的相关报文;
tcpdump src host 192.168.20.231 -i ens33 -n -c 5
(4)针对网口ens33进行抓包,过滤出目的 IP 地址是 192.168.20.231的相关报文;
tcpdump dst host 192.168.20.231 -i ens33 -n -c 5
(5)针对网口ens33进行抓包,过滤出端口号是 8080 的相关报文;
tcpdump port 8080 -i ens33 -n -c 5
(6)针对网口ens33进行抓包,过滤出 80端口到443端口 的相关报文;
tcpdump portrange 80-433 -i ens33 -n -c 8
如果真心想研究tcpdump相关高效抓包命令,可以看看这篇针对tcpdump工具使用的详解~
搞IT运维,不仅要懂Wireshark抓包,还要会Tcpdump抓包
8、好多小伙伴都知道Nginx服务器,但是却很少有人能够讲得明白关于它的具体使用场景,如果感兴趣,可以移步去看看这篇超过2万字的Ngnix文章,通过实验带你了解nginx7大使用场景,根本不用背就可以掌握。
【全网最全】2万字+7大实战应用场景配置,详解Nginx
9、好多小伙伴学习Linux时,实验环境下把防火墙相关服务一关就顺利进行,但是实际运维工作环境中,防火墙使用方面相关的知识还是很重要的,所以掌握Linux下iptables和firewalld相关操作技巧是十分必要的,如果你想快速掌握,可以挪步看看以下两篇关于防火墙知识的详解。
Linux系统iptables防火墙实战指南~
Linux系统firewalld防火墙实战指南~
10、好多运维或测试小伙伴,都了解Jenkins如何牛逼,却很少能够自己静下心来做一遍实验,跑通代码自动打包发布编译的整个流水线操作。如果你真想去学习,可以看看这篇称为全网最强且手把手教的教程了!
Centos7下搭建Jenkins+GitLab+Maven 实现代码自动打包编译发布
11、其实Linux下有好多工具可以供我们使用解决很多问题,浩道真心推荐以下这些工具,大家可以好好去学习使用,你会发现他们是真的香!
sar命令多少人没用过?又一个牛逼的Linux命令!
推荐一款运维&网络工程师应知必会的带宽测试工具!
Linux下的nc命令太强大了!
12、大家都知道Linux运维中shell脚本十分重要,通过shell脚本,可以减少很多人工不必要的且重复繁杂的工作量,然而想要提升shell编程能力,光靠背是不可能会的,靠的是平时多敲敲代码,积累编码代码能力,这个确实没有什么好说的。这里推荐大家学习以下全网最经典的几百条shell脚本,学习请移步下篇。
【建议收藏】249个开箱即用的Shell脚本,拿好了(附PDF)
13、随着各个业务量增大,集群环境下相关运维工作也是大家平时经常接触的,因此搞懂高可用相关知识点就显得十分重要了,这里推荐大家学习一波Keepalived+MySQL的高可用配置。
Keepalived+Mysql实现高可用配置总结
14、业务量大的平台,监控是绕不开的一个运维话题,做好监控,一切运维都会显得轻松,就看你有没有兴趣将监控体系搞好了,监控做得好,日常吃鸡真不是梦,这里强烈推荐的监控系统Prometheus,大家可以参考学习一番。
【全网最详细】40个步骤安装部署Prometheus监控系统
15、最后再说关于k8s相关的学习,当下也是一个非常热的知识体系,这个靠背的话只能永远停留在理论阶段,最直接最有效就是要在实验中去使用去排错去总结。
通过以上列举一些知识点,真的发现光靠死记硬背是学不来的,都是靠在实际工作中去摸索去积累得出的经验。当然,每个人学习方法不一样,但是经验应该都是通用的。
学习Linux,首先要理解其背后的设计理念与哲学。Linux不仅仅是一个操作系统,更是一种开放、协作的精神体现。它鼓励用户根据自己的需求去定制和优化系统,而非被固定的操作模式所束缚。因此,学习Linux,更应该是一种思维方式的转变,而非简单的记忆过程。
在实际应用中,Linux知识的运用远比单纯的记忆更为重要。例如,在系统维护中,我们需要根据具体的硬件配置和软件环境,灵活选择适当的命令和工具。在网络安全领域,Linux提供了丰富的防火墙和入侵检测工具,但如何配置和使用这些工具,则依赖于我们对Linux安全机制的深入理解。此外,在软件开发、云计算等领域,Linux都发挥着不可替代的作用。这些领域的应用,都需要我们结合具体场景,灵活运用Linux知识。
强调Linux知识的实践应用,并不意味着我们可以忽视基础知识的学习。相反,扎实的基础是有效应用的前提。我们需要掌握Linux的基本命令、文件系统结构、网络配置等基础知识,但这些知识的掌握,应该建立在理解其原理和应用场景的基础上。只有这样,我们才能在遇到实际问题时,迅速找到解决方案,而不是死记硬背一堆无用的命令。
此外,随着技术的不断发展,Linux也在不断更新和演进。新的功能、新的工具不断涌现,这就要求我们保持持续学习的态度,不断跟进Linux的最新发展。这种学习,不再是简单的记忆,而是一种对新技术、新应用的探索和实践。
相关文章:
Linux 案例命令使用操作总结
在信息技术日新月异的今天,Linux以其开源、稳定、高效的特性,逐渐成为了众多专业人士的首选操作系统。然而,关于Linux知识的学习,却常常陷入一个误区——许多人认为,掌握Linux就是死记硬背各种命令和参数。这种观念&am…...
图的拓扑序列(DFS2)
reference way:在图里面能延伸的越远,deep越大,说明它能从自己延伸很长到别的节点(别的节点一定有入度),它越可能没有入度。 way:感觉和DFS1差不多,只是从远变成了多。 #include&l…...

2024年小学生古诗文大会备考:吃透历年真题和知识点(持续)
根据往年的安排,2024年小学生古诗文大会预计这个月就将启动。该如何备考2024年小学生古诗文大会呢?根据往期的经验,只要吃透这些真题和背后的知识点,通过上海小学生古诗文大会的初选(初赛)一点问题都没有。…...

SystemC学习使用记录
一、概述 对于复杂的片上系统,在进行RTL编码前,需进行深入的系统级仿真,以确认设计的体系结构是否恰当、总线是否能满足吞吐量和实现性要求以及存储器是否浪费,所进行的这些仿真要求在芯片的仿真模型上运行大量的软件,…...

Github20K星开源团队协作工具:Zulip
Zulip:让团队协作的每一次交流,都精准高效。- 精选真开源,释放新价值。 概览 随着远程工作的兴起和团队协作的需求不断增加,群组聊天软件成为了日常工作中不可或缺的一部分。Zulip 是github上一个开源的团队协作工具,…...
C语言基础-标准库函数
C语言的标准库函数是由C语言标准库(如C99、C11等)提供的一系列预定义函数,这些函数通常用于执行常见的编程任务,如字符串操作、内存管理、数学计算、文件操作等。通过使用标准库函数,程序员可以更加高效地编写C语言程序…...

「51媒体」家居生活发布会,展览展会有哪些媒体邀约资源
传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 家居生活类媒体包括多种类型,包括门户网站家居生活消费频道,专业的家居消费生活门户,以及行业媒体,平面媒体,KOL和意见领袖。下…...
力扣刷题--数组--第五天
昨天做了几道关于双指针求解的算法题,今天继续看相关的题目。 844. 比较含退格的字符串 给定 s 和 t 两个字符串,当它们分别被输入到空白的文本编辑器后,如果两者相等,返回 true 。# 代表退格字符。 注意:如果对空…...

kafka学习笔记04(小滴课堂)
Kafka的producer生产者发送到Broker分区策略讲解 Kafka核心API模块-producer API讲解实战 代码: ProducerRecord介绍和key的作用 Kafka核心API模块-producerAPI回调函数实战 producer生产者发送指定分区实战 我们设置5个分区。 我们指定分区。 重新指定一个分区&am…...

三菱FX3U-4AD模拟量电压输入采集实例
硬件:PLC模块 FX3GA-24MT ;A/D模块FX3…...

OpenAI推出DALL·E 3识别器、媒体管理器
5月8日,OpenAI在官网宣布,将推出面向其文生图模型DALLE 3 的内容识别器,以及一个媒体管理器。 随着ChatGPT、DALLE 3等生成式AI产品被大量应用在实际业务中,人们越来越难分辨AI和人类创建内容的区别,这个识别器可以帮…...

Spring Boot 整合讯飞星火3.5通过接口Api接口实现聊天功能(首发)复制粘贴即可使用,后续更新WebSocket实现聊天功能
程序员必备网站: 天梦星服务平台 (tmxkj.top)https://tmxkj.top/#/ 1.pom.xml <dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.72</version></dependency><depen…...
信息系统项目管理师——十大管理过程输入、工具和技术、输出(论文篇)一
一、项目整合管理 制定项目章程 在项目管理中,制定项目章程是一个关键的初始过程,它正式授权项目的开始并为项目设定高层次的方向。项目章程的编制涉及特定的输入、采用的工具和技术,以及产生的输出。以下是这些方面的详细说明:…...

Java——代码块
1、概念分类 使用 {} 定义的一段代码称为代码块,根据代码块定义的位置以及关键字,可分为以下四种 普通代码块静态代码块构造代码块同步代码块 2、普通代码块 定义在方法中的代码块,这种用法较少见: 3、构造代码块 构造块&…...

Ajax额
原生Ajax xml 已被json取代 http 请求方法urlhttp版本号 network 谷歌浏览器查看请求报文和响应报文 F12 network header里面有 请求头 响应头 点击view source 可以查看请求响应行 请求体在请求行头下面 get请求有url参数,请求体变为query String…...
5.15项目进度总结
今天完成了随机选人和实时显示的功能(还需要维护),使得程序可以对用户的操作进行实时的显示。 实时显示的思路:在登录后开一个线程用一个socket去链接服务端并查询需要实时的信息,同时服务端把这个socket记录下来&…...

POETIZE个人博客系统源码 | 最美博客
简介: POETIZE个人博客系统源码 | 最美博客 这是一个 SpringBoot Vue2 Vue3 的产物,支持移动端自适应,配有完备的前台和后台管理功能。 网站分两个模块: 博客系统:具有文章,表白墙,图片墙&…...

回复完成 输入框还显示值的问题
回复完成 输入框还显示值的问题 解决代码 先把id 值清空 再构建下这个输入框 $("#details_article_reply_content").val(""); // 清空textareavar editor editormd("article_details_reply", {width: "100%",height: "100%"…...

C语言----斐波那契数列(附源代码)
各位看官们好,当我写了上一篇博客杨辉三角后,有一些看官叫我讲一下斐波那契数列。对于这个大家应该是有了解的。最简单的规律就是f(n)f(n-2)f(n-1)。就是当前是前两项之和,然后下标1和0都是1.从第三项开始计算的。那么我们知道规律࿰…...

javax.net.ssl.SSLException: Received fatal alert: protocol_version已经解决
起因: 在帮别人讲解项目时,将项目的tomcat配置完,点击运行后,报错,信息如标题。 解决办法: 在csdn百度问题,得到的方法主要有几个: 1.jdk要配置在1.8以上; 2.数据库地…...

C++ 求圆面积的程序(Program to find area of a circle)
给定半径r,求圆的面积。圆的面积应精确到小数点后5位。 例子: 输入:r 5 输出:78.53982 解释:由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982,因为我们只保留小数点后 5 位数字。 输…...

零基础设计模式——行为型模式 - 责任链模式
第四部分:行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习!行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想:使多个对象都有机会处…...
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南 在数字化营销时代,邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天,我们将深入解析邮件打开率、网站可用性、页面参与时…...
return this;返回的是谁
一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请,不同级别的经理有不同的审批权限: // 抽象处理者:审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...
SQL慢可能是触发了ring buffer
简介 最近在进行 postgresql 性能排查的时候,发现 PG 在某一个时间并行执行的 SQL 变得特别慢。最后通过监控监观察到并行发起得时间 buffers_alloc 就急速上升,且低水位伴随在整个慢 SQL,一直是 buferIO 的等待事件,此时也没有其他会话的争抢。SQL 虽然不是高效 SQL ,但…...

基于PHP的连锁酒店管理系统
有需要请加文章底部Q哦 可远程调试 基于PHP的连锁酒店管理系统 一 介绍 连锁酒店管理系统基于原生PHP开发,数据库mysql,前端bootstrap。系统角色分为用户和管理员。 技术栈 phpmysqlbootstrapphpstudyvscode 二 功能 用户 1 注册/登录/注销 2 个人中…...

保姆级【快数学会Android端“动画“】+ 实现补间动画和逐帧动画!!!
目录 补间动画 1.创建资源文件夹 2.设置文件夹类型 3.创建.xml文件 4.样式设计 5.动画设置 6.动画的实现 内容拓展 7.在原基础上继续添加.xml文件 8.xml代码编写 (1)rotate_anim (2)scale_anim (3)translate_anim 9.MainActivity.java代码汇总 10.效果展示 逐帧…...

Unity VR/MR开发-VR开发与传统3D开发的差异
视频讲解链接:【XR马斯维】VR/MR开发与传统3D开发的差异【UnityVR/MR开发教程--入门】_哔哩哔哩_bilibili...
stm32进入Infinite_Loop原因(因为有系统中断函数未自定义实现)
这是系统中断服务程序的默认处理汇编函数,如果我们没有定义实现某个中断函数,那么当stm32产生了该中断时,就会默认跑这里来了,所以我们打开了什么中断,一定要记得实现对应的系统中断函数,否则会进来一直循环…...
Python第七周作业
Python第七周作业 文章目录 Python第七周作业 1.使用open以只读模式打开文件data.txt,并逐行打印内容 2.使用pathlib模块获取当前脚本的绝对路径,并创建logs目录(若不存在) 3.递归遍历目录data,输出所有.csv文件的路径…...