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.数据库地…...
云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?
大家好,欢迎来到《云原生核心技术》系列的第七篇! 在上一篇,我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在,我们就像一个拥有了一块崭新数字土地的农场主,是时…...
Cursor实现用excel数据填充word模版的方法
cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...

.Net框架,除了EF还有很多很多......
文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...

srs linux
下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935,SRS管理页面端口是8080,可…...

ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放
简介 前面两期文章我们介绍了I2S的读取和写入,一个是通过INMP441麦克风模块采集音频,一个是通过PCM5102A模块播放音频,那如果我们将两者结合起来,将麦克风采集到的音频通过PCM5102A播放,是不是就可以做一个扩音器了呢…...

ServerTrust 并非唯一
NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...
【HTML-16】深入理解HTML中的块元素与行内元素
HTML元素根据其显示特性可以分为两大类:块元素(Block-level Elements)和行内元素(Inline Elements)。理解这两者的区别对于构建良好的网页布局至关重要。本文将全面解析这两种元素的特性、区别以及实际应用场景。 1. 块元素(Block-level Elements) 1.1 基本特性 …...

aardio 自动识别验证码输入
技术尝试 上周在发学习日志时有网友提议“在网页上识别验证码”,于是尝试整合图像识别与网页自动化技术,完成了这套模拟登录流程。核心思路是:截图验证码→OCR识别→自动填充表单→提交并验证结果。 代码在这里 import soImage; import we…...