这些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.shdrwxrwxrwx. 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 的文件。
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目录。
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相关文章:
这些Linux知识可不是靠背就会的!
在信息技术日新月异的今天,Linux以其开源、稳定、高效的特性,逐渐成为了众多专业人士的首选操作系统。然而,关于Linux知识的学习,却常常陷入一个误区——许多人认为,掌握Linux就是死记硬背各种命令和参数。这种观念&am…...
openlayers 绘图功能,绘制多边形,draw组件的使用,一个简单的需求引发的思考(一)
1 需求 使用openlayers绘图功能绘制多边形 2 分析 主要是openlayers中draw功能的使用,感觉比较简单,祖传CV大法搞起来 3 实现 为了方便,就不加载底图了,直接使用绘制功能 2.1 简单实现 <template><div id"ma…...
【Flutter】 TextField限制长度时, 第三方手写输入法、ios原始拼音输入法输入被吞问题
问题描述 TextField限制长度时, 当你的输入字符长度已经到了最大值-1时,使用第三方手写输入法或者ios原生拼音输入法输入liang(什么拼音都行,这里只是举例),输到i那么li都会消失。 原因分析 这是因为第三…...
快递一键查询,只需快递单号,轻松掌握全程物流信息,让您的包裹追踪无忧!
在快节奏的现代生活中,快递已经成为我们生活中不可或缺的一部分。无论是网购的宝贝、亲朋好友寄来的礼物,还是工作中的紧急文件,快递都承载着我们的期待和需要。然而,面对众多的快递公司和复杂的查询流程,如何快速、准…...
【Java探索之旅】继承结构 继承和组合 protected final
文章目录 📑前言一、继承1.1 继承关系的代码块1.2 protected关键字1.3 继承方式1.4 final关键字1.5 继承与组合 🌤️全篇总结 📑前言 在面向对象编程中,继承是一种重要的概念,它允许我们创建一个新类,从现有…...
Ubuntu20.04-SLAM软件安装
目录 安装环境安装问题1.Ubuntu20.04在T440p上的安装问题1.1 安装后提示"x86/cpu:VMX(outside TXT) disabled by BIOS"1.2 ACPI Error:Needed type[Reference],found [Integer] 等错误1.3 ima: Error Communicating to TPM chip1.4 locate命令的安装 2.中文输入法-go…...
OSI七层网络参考模型
一、物理层 我们要发送出去的数据在计算机里只不过是无数的0和1,0或1就叫做比特,物理层就是把这些比特用不同的媒介传输出去,可以用电、光或者其他形式的电磁波来表示和传输信号,数据从网络接口出去以后,会经过不同的网…...
RAG与知识库搭建
Tip: 如果你在进行深度学习、自动驾驶、模型推理、微调或AI绘画出图等任务,并且需要GPU资源,可以考虑使用UCloud云计算旗下的Compshare的GPU算力云平台。他们提供高性价比的4090 GPU,按时收费每卡2.6元,月卡只需要1.7元每小时&…...
MySQL提权之UDF提权
1、前言 最近遇到udf提权,几经周折终于搞懂了。感觉挺有意思的,渗透思路一下子就被打开了。 2、什么是udf提权 udf 全称为user defined function,意思是用户自定义函数。用户可以对数据库所使用的函数进行一个扩展(windows利用…...
【设计模式】结构型设计模式之 组合模式
介绍 这里的组合模式,与之前的设计模式中的"组合关系"完全是两码事,这里的组合模式主要用来处理结构为树形的数据。 组合模式(Composite Pattern)是一种结构型设计模式,它允许你将对象组合成树状结构来表示…...
我给KTV服务生讲解防抖,他竟然听懂了
端午节三天假期,的最后一天,我和朋友闲来无事,想着去唱会儿歌吧,好久不唱了,于是吃了午饭,石景山就近找了一家KTV,我们团好了卷就过去了。 装修还算不错,很快找到服务生,…...
抽象java入门1.3.1
前言: 本期内容是为了更好补充关于方法(函数)的定义 开始: 函数(function)表示每个输入值对应唯一输出值的一种对应关系。 核心在于:输入值和输出值这两个元素 真的吗? 错&…...
使用Rufus工具制作Ubuntu To Go——很详细
一、准备工作 准备工具: 1、下载Rufus(主角)软件 2、准备一个U盘(制作启动盘,32G足够) 3、准备一个U盘或硬盘(小白128G足够,装Ubuntu系统) 4、下载Ubuntu系统镜像文件 1、下载软件Rufus 先来看…...
Android Jetpack Compose 实现一个电视剧选集界面
文章目录 需求概述效果展示实现思路代码实现总结 需求概述 我们经常能看到爱奇艺或者腾讯视频这类的视频APP在看电视剧的时候都会有一个选集的功能。如下图所示 这个功能其实很简单,就是绘制一些方块,在上面绘制上数字,还有标签啥的。当用户…...
C++多线程并发
文章目录 C多线程并发std::chronoC中的多线程:std::thread主线程等待子线程结束:join主线程分离子线程:detach异步:std::async异步的另一种用法:std::launch::deferredstd::async的底层实现:std::promisest…...
新火种AI|摊上事儿了!13名OpenAI与谷歌员工联合发声:AI失控可能导致人类灭绝...
作者:小岩 编辑:彩云 2024年,OpenAI的CEO Sam Altman就没有清闲过,他似乎一直走在解决麻烦的路上。最近,他的麻烦又来了。 当地时间6月4日,13位来自OpenAI和Google Deep Mind的现任及前任员工联合发布了…...
Web前端后端精通:深度解析与技能进阶
Web前端后端精通:深度解析与技能进阶 在数字时代的浪潮中,Web前端后端技术的精通成为了信息科技领域的核心竞争力。本文将从四个方面、五个方面、六个方面和七个方面深入探讨Web前端后端技术的精髓,带领读者领略这一领域的魅力与挑战。 一、…...
【C语言】09.函数递归
递归其实是⼀种解决问题的方法,在C语言中,递归就是函数自己调用自己。 一、递归的介绍 1.1递归的思想 把⼀个大型复杂问题层层转化为⼀个与原问题相似,但规模较小的子问题来求解;直到子问题不能再被拆分,递归就结束…...
php高级之框架源码、宏扩展原理与开发
在使用框架的时候我们经常会看到如下代码 类的方法不会显示地声明在代码里面,而是通过扩展的形式后续加进去,这么做的好处是可以降低代码的耦合度、保证源码的完整性、团队开发的时候可以分别写自己的服务去扩展类,减少代码冲突等等。我自己…...
(2024,示例记忆,模型记忆,遗忘,差分评估,概率评估)深度学习中的记忆:综述
Memorization in deep learning: A survey 公和众和号:EDPJ(进 Q 交流群:922230617 或加 VX:CV_EDPJ 进 V 交流群) 目录 0 摘要 1 引言 0 摘要 深度神经网络(DNNs)驱动的深度学习ÿ…...
19c补丁后oracle属主变化,导致不能识别磁盘组
补丁后服务器重启,数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后,存在与用户组权限相关的问题。具体表现为,Oracle 实例的运行用户(oracle)和集…...
ubuntu搭建nfs服务centos挂载访问
在Ubuntu上设置NFS服务器 在Ubuntu上,你可以使用apt包管理器来安装NFS服务器。打开终端并运行: sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享,例如/shared: sudo mkdir /shared sud…...
基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...
基于ASP.NET+ SQL Server实现(Web)医院信息管理系统
医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...
04-初识css
一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...
微信小程序云开发平台MySQL的连接方式
注:微信小程序云开发平台指的是腾讯云开发 先给结论:微信小程序云开发平台的MySQL,无法通过获取数据库连接信息的方式进行连接,连接只能通过云开发的SDK连接,具体要参考官方文档: 为什么? 因为…...
在Ubuntu24上采用Wine打开SourceInsight
1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...
Java + Spring Boot + Mybatis 实现批量插入
在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法:使用 MyBatis 的 <foreach> 标签和批处理模式(ExecutorType.BATCH)。 方法一:使用 XML 的 <foreach> 标签ÿ…...
uniapp手机号一键登录保姆级教程(包含前端和后端)
目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号(第三种)后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...
