Linux基本指令2
1.head
查看文件的前面内容
head + 路径 :查看路径开头部分内容,如下图:head /var/log/messages查看/var/log/messages这个日志中前面内容
head + -数字 + 路径 :查看路径开头指定数字行部分内容,如下图:head -5 /var/log/messages查看/var/log/messages这个日志中前面5行的内容
2.tail
查看文件的结尾内容
tail + 路径 :查看路径结尾部分内容,如下图:tail /var/log/messages查看/var/log/messages这个日志中结尾部分内容
tail + -数字 + 路径 :查看路径结尾指定数字行部分内容,如下图:tail -5 /var/log/messages查看/var/log/messages这个日志中后面5行的内容
3. | 管道
这里先说明我们的目的,假设我们需要从一个有30行代码的log.txt中查看出11到20行10行代码,由于我们学过的more指令和less指令都不能从文件中直接定位到这位置,而head命令在查看文件前面多少行的代码,tail是查看文件后面多少行的代码也不能直接实现直接查看中间某一位置代码的功能,但是还是能间接实现的。实现思路如下:
cnt=1; while [ $cnt -le 30 ]; do echo "hello $cnt"; let cnt++; done > log.txt。这行代码的功能为将30行hello cnt的值重定向到log.txt这个文件中
head -20 log.txt > temp.txt。这行代码的功能是将log.txt文件中前20行的代码重定向输入到 temp.txt文件中。
tail -10 temp.txt。这行代码的功能是将temp.txt文件中后面10行的代码打印出来
总结:由上面可知如果直接通过不断tail和head命令来查看文件中间部分内容还是很麻烦的。先 将30行代码重定向到log.txt这个文件中,然后将将log.txt文件中前20行的代码重定向输入到 temp.txt文件中,最后才将temp.txt文件中后面10行的代码打印出来。
下面通过|来实现这一功能:
我们就将|(管道)认为是指令一步一步执行
如上图所示:我们通过head -20 log.txt | tail -10这一行代码就实现了,首先head -20 log.txt是将log.txt文件中前面20行代码取出来,然后通过|交给tail -10,即将log.txt后面10行的内容打印出来
其中|可以不止一个,连续多个使用都是可以的
解析:如上图所示:我们通过head -20 log.txt | tail -10这一行代码就实现了,首先head -20 log.txt是将log.txt文件中前面20行代码取出来,然后通过|交给tail -10,即将log.txt后面10行的内容打印出来,tac即是cat的倒序,cat是从前往后打印,tac是从后往前打印。
时间相关的指令
4.date
解析:如上图所示:date命令是将时间打印出来,但是打印的模式是系统自带的模式,我们可以自己设置。date +%Y将年份打印出来,注意+和%两个符号之间没有空格,date +%Y-%m-%d则是将年月日打印出来,其中-是可以换成其他符号的,如下图换成了冒号:
时间戳:时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数,或总毫秒数,通常表示为一个整数
5.cal
打印日历:一般打印本年本月的日历,如下图
cal还可以指定年份打印日历,如下图
6.find
按照文件名查找文件
如上图所示:我们可以直接find + 文件名查找指定的文件,也可以find +通配符*来查找文件,如上图find *.txt查找以.txt结尾的文件
7.grep指令
行文本过滤文件,即过滤出从指定路径下指定内容的行
如上图所示:grep CentOS /var/log/messages的意思是在/var/log/messages这个记事本中搜索包含CentOS的行并打印出来;而grep CentOS /var/log/messages | head -5的意思是在/var/log/messages这个记事本中搜索包含CentOS的行并打印出前5行
grep 需要筛选的内容 +文件名
以下例子将演示从text2.c.save文件中过滤出包含hello字符串的文本行,首先打印一下text2.c.save文件中的内容,如下图:
如上图所示:我们使用grep hello text2.c.save命令行后从text2.c.save文件中过滤出所有包含hello子工程的文本行,而第5行的Hello,第9行的HEllo等不是全小写字母的hello都被筛选出去了。
grep -i + 需要筛选的内容 + 文件名:忽略大小写筛选需要筛选的内容
如在上图演示的一样:我们使用grep -i hello text2.c.save命令行后忽略大小写将所有含义是你好的字符串打印出来。
grep -v + 需要筛选的内容 + 文件名:反向选择不包含需要筛选内容的文本行
如上两张图所示:我们首先打印了text3.c文件中的内容,然后使用grep -v hello text3.c命令行来过滤出不包含hello字符串的文本行。
8.zip和unzip
zip 目标文件.zip + 源文件名:将源文件打包压缩成目标文件(打包压缩一个文件或目录)
如下图所示:我们可以使用zip -- version命令行来检查我们的云服务器是否安装了zip工具包,如果出现-bash: zip: command not found的结果则表示没有安装,我们可以使用 yum install -y zip unzip命令来安装。
如下图所示:我们使用zip tar1.zip text3.c命令行将text3.c这个文件中打包压缩到tar1.zip这个文件中。 然后我们通过ll可以看到目录中多了tar1.zip这个文件,然后我们通过unzip tar1.zip命令行将tar1.zip这个压缩包中的内容解压出来。
特别提醒:使用zip 目标文件.zip + 源文件名:将源文件打包压缩成目标文件只能打包压缩一个文件或者目录,如果我们想将一个目录下的文件(文件夹)一起打包压缩的话,需要使用以下命令
zip -r + 目标文件.zip + 源文件名
如上图所示:我们想要将lesson3整个目录结果下的文件全部打包压缩到target.zip这个目录中,通过使用zip -r target.zip lesson3这个命令行,我们可以看到打包压缩的过程,然后使用
unzip target.zip将target.zip中的内容解压出来。
unzip 压缩包文件名 -d + 指定路径 :将压缩包压缩到指定的路径
如上图所示:我们通过使用unzip target.zip -d /root/linux代码/text将target.zip压缩到/root/linux代码/text这个目录下
9.tar
tar -c:创建一个压缩包文件
tar -z:打包压缩文件
tar -f:指定文件名
tar -x:解压文件
tar czf + 压缩包文件名.tgz + 需要压缩的文件
如上图所示:我们通过使用tar czf lesson3.tgz lesson3创建并将lesson3打包压缩为一个名为lesson3.tgz的压缩包。
tar xzf + 压缩包文件名.tgz
我们使用tar xzf lesson3.tgz将lesson3.tgz解压出来,但是不会展现出中间解压的过程, 而使用
tar xvzf lesson3.tgz就可以看解压的过程,如下图所示:
10.uname
uname -r:查看系统的内核版本
uname -a:查看系统所有的关于电脑和操作系统的详细信息
11.热键介绍
Ctrl + C:终止异常程序
上下(↑↓)键:查看历史命令
tab键:快速按两下,自动搜索补全命令
如上图所示:在界面上输入wh之后然后快速按两下tab键,系统就会自动搜索出以wh开头的命令
Ctrl + R:搜索历史命令
如上图所示:在界面上按下Ctrl + R之后,就会出现第一张图所示的界面,然后我们就可以输入我们想要查找搜索的命令就行,如上图所示,我在界面上输入了wh之后就自动给我匹配了这条命令
Ctrl + D:退出当前用户
history:打印出历史上输入的命令
相关文章:
Linux基本指令2
1.head 查看文件的前面内容 head 路径 :查看路径开头部分内容,如下图:head /var/log/messages查看/var/log/messages这个日志中前面内容 head -数字 路径 :查看路径开头指定数字行部分内容,如下图:he…...
Tkinter使用Canvas绘制图形
在Tkinter中,Canvas是一个非常强大的控件,用于绘制图形、显示图片和实现自定义图形界面。通过Canvas,您可以绘制各种形状、线条、文本等,并且能够进行灵活的动画和交互。掌握Canvas的使用将使您能够创建丰富的图形界面。 8.1 创建Canvas控件 Canvas控件是一个区域,用于绘…...
CF985G Team Players
我敢赌,就算你知道怎么做,也必然得调试半天才能 AC。 [Problem Discription] \color{blue}{\texttt{[Problem Discription]}} [Problem Discription] 图片来自洛谷。 [Analysis] \color{blue}{\texttt{[Analysis]}} [Analysis] 显然不可能正面计算。所以…...
ngx_conf_read_token - events
file_size ngx_file_size(&cf->conf_file->file.info); 获取 配置文件的大小 此时 file_size364 for ( ;; ) {if (b->pos > b->last) { 此时 b->pos 0x5cd4701487e4 b->last 0x5cd47014893c b->start0x5cd4701487d0 条件不成立 ch *b->pos;…...
L2范数与权重衰退
权重衰退 定义损失函数 $ \ell(\mathbf{w}, b) $ 来衡量模型的预测值与真实值的差距 使用L2范数作为硬性限制 通过限制参数值的选择范围来控制模型容量 min ℓ ( w , b ) s u b j e c t t o ∥ w ∥ 2 ≤ θ \min \ell(\mathbf{w}, b) \quad \\ subject \ to \|\mathbf{w…...
计算机组成原理笔记(十四)——3.4指令类型
一台计算机的指令系统可以有上百条指令,这些指令按其功能可以分成几种类型,下面分别介绍。 3.4.1数据传送类指令 一、核心概念与功能定位 数据传送类指令是计算机指令系统中最基础的指令类型,负责在 寄存器、主存、I/O设备 之间高效复制数…...
GM DC Monitor v2.0 数据中心监控预警平台-CMDB使用教程(第九篇)
SNMP配置管理功能使用手册 本模块主要用于导入设备厂家的mib库文件,也可以手工创建对应的oid信息,用以实现设备的被动监控功能。 另:系统部署完毕后,已经集成了个别厂家的MIB库数据。 设计思路及使用教程 设计思路:通…...
try-with-resources 详解
try-with-resources 详解 一、基本概念 try-with-resources 是 Java 7 引入的语法结构,用于自动管理资源(如文件流、数据库连接等需要关闭的对象)。 核心特点 自动资源释放:无需手动调用 close() 简洁代码:减少 tr…...
第二十四:查看当前 端口号是否被占用
查看当前 端口号是否被占用: mac 情况下: lsof -i :端口号 netstat -an | grep 端口号 系统将显示监听该端口的进程信息,包括进程名称、进程ID、用户和协议等。如果需要更多信息,可以添加-P和-n参数,例如…...
【数据结构与算法】——堆(补充)
前言 上一篇文章讲解了堆的概念和堆排序,本文是对堆的内容补充 主要包括:堆排序的时间复杂度、TOP 这里写目录标题 前言正文堆排序的时间复杂度TOP-K 正文 堆排序的时间复杂度 前文提到,利用堆的思想完成的堆排序的代码如下(包…...
【Web功能测试】Web商城搜索模块测试用例设计深度解析
Web商城的搜索模块功能测试用例设计 1.搜索功能设计 1.1 搜索框设计 位置显眼:通常置于页面顶部中央,符合用户习惯。 智能提示(Autocomplete):输入时实时推荐关键词、商品或分类(如“手机 苹果”&#x…...
ubuntu 18.04安装tomcat,zookeeper,kafka,hadoop,MySQL,maxwell
事情是这样的,因为昨天发现我用的ubuntu16.04官方不维护了,以及之前就觉得不是很好用,于是升级到了18.04。如图: 但是!由于为备份升级前忘记关闭服务,上面装好的东西所剩无几。 于是我重装了。。。 如何启…...
设计模式(结构型)-享元模式
摘要 在软件开发的广阔领域中,随着系统规模的不断膨胀,资源的有效利用逐渐成为了一个至关重要的议题。当一个系统中存在大量相似的对象时,如何优化这些对象的管理,减少内存的占用,提升系统的整体性能,成为了…...
1.1显存
显存是显卡(GPU)专用的高性能内存,负责存储渲染所需的纹理、帧缓冲、几何数据等。其设计直接影响图形性能、分辨率和复杂场景处理能力 苹果统一内存(Unified Memory)、集成显卡共享内存(Integrated Graphi…...
C# 选择文件的路径、导出文件储存路径
1、选择导入文件,获取其路径 C#通过这段代码将弹出一个文件选择对话框,允许用户选择一个文件,并返回所选文件的完整路径。如果用户取消了选择,则直接返回结束函数。 string OpenFilePath;//存储选择到的文件的完整路径OpenFileDia…...
【最后203篇系列】027 基于消息队列的处理架构
起因 之所以写这篇文章,主要是梳理一下进展。因为同时研究好几块内容,切换起来要点时间。这次也是因为协作的同事们把各自的分工都搞定了,瓶颈反而在我自己这里,哈哈。 除了帮自己思路恢复过来,我觉得这方法可能也有…...
多线程与Tkinter界面交互
在现代图形用户界面(GUI)应用程序中,可能会遇到需要长时间运行的任务,例如网络请求、数据处理或文件读取等。如果这些任务直接在主线程中运行,会导致GUI界面“卡顿”或“不响应”。为了保持界面流畅和响应用户操作,我们可以通过使用多线程来将这些任务移到后台运行。然而…...
【工程开发】LLMC准确高效的LLM压缩工具(一)
【文献阅读】LLMC: Benchmarking Large Language Model Quantization with a Versatile Compression Toolkit 北航 2024年10月 摘要 大语言模型(LLMs)的最新进展凭借其卓越的涌现能力和推理能力,正推动我们迈向通用人工智能。然而&#…...
回顾CSA,CSA复习
RHCSA redhat certificate system Administrator RHCE redhat certificate engineer 回顾CSA 文件管理 创建文件:touch 、重定向、vim 阅读文件:cat看短小的文件、vim、head看文件前面部分、tail看文件的尾部内容、more、less看文档使用more和less…...
基于电子等排体的3D分子生成模型 ShEPhERD - 评测
一、背景介绍 ShEPhERD 是一个由 MIT 开发的一个 3D 相互作用感知的 ligand-based的分子生成模型,以 arXiv 预印本的形式发表于 2024 年,被ICLR2025 会议接收。文章链接:https://openreview.net/pdf?idKSLkFYHlYg ShEPhERD 是一种基于去噪扩…...
平凡日子里的挣扎
2025年4月13日,9~23℃,好 待办: 融智云考平台《物理》《物理2》~~《地理》《地理1》~~重修试卷 卫健委统考监考(2025年4月12日早上7点半) 冶金《物理》课程标准 冶金《物理》教案 期中教学检查——自查表材料ÿ…...
智能制造方案精读:117页MES制造执行系统解决方案【附全文阅读】
本方案围绕制造执行系统(MES)展开,阐述了智能制造相关概念及发展趋势,指出 MES 是连接 ERP 与生产现场的关键系统。介绍其在加工、装配及其他场景的应用,通过实例展示各场景下的功能、特点和实施效果,如实现生产信息可视化、产品追溯、设备监控等。还提及实施 MES 面临的…...
[推荐]AI驱动的知识图谱生成器(AI Powered Knowledge Graph Generator)
网址:https://github.com/robert-mcdermott/ai-knowledge-graph# 一、介绍 简介:以非结构化文本文档为输入,使用您选择的LLM以主语-谓语-宾语 (SPO) 三元组的形式提取知识,并将这些关系可视化为交互式知识图谱 特点:…...
波束形成(BF)从算法仿真到工程源码实现-第七节-关于波束10个基本概念
一、波束10个基本概念 1.作用: 对多路麦克风信号进行合并处理,抑制非目标方向的干扰信号,增强目标方向的声音信号。 2.原理: 调整相位阵列的基本单元参数,使得某些角度的信号获得相长干涉,而另一些角度的…...
深度学习(第一集)
123 import torch# 创建一个需要计算梯度的张量 x1 torch.tensor([2.0], requires_gradTrue)# 定义一个简单的函数 y x^2 y x1 ** 4# 计算梯度 y.backward()print("x1.grad 的值:", ) # 打印 x1.grad print("x1.grad 的值:", x1…...
Spring 事务传播行为
在Spring框架中,事务传播行为(Transaction Propagation)定义了事务在多个方法调用之间的行为方式。理解这些传播行为对于设计可靠的事务管理策略至关重要。以下是Spring支持的七种事务传播行为及其应用场景的详细说明: 1. REQUIRED(默认) 行为:如果当前存在事务,则加入…...
搬运机器人的基本工作场景及原理
搬运机器人广泛应用于工业生产中,主要用于搬运、堆放、装配等工作。它通过机械手臂的运动,结合机器视觉技术完成各种自动化作业。 一、搬运机器人的设计原理 搬运机器人通常采用可移动门架式结构,手臂承载机构安装在导轨上,可以沿…...
Ubuntu终端中常用的快捷键整理
1. 导航与编辑 光标移动: Ctrl A:跳转到行首。 Ctrl E:跳转到行尾。 Alt B:向左移动一个单词(或 Ctrl ←)。 Alt F:向右移动一个单词(或 Ctrl →)。 删除操作…...
mysql安装-MySQL MGR(Group Replication)+ ProxySQL 架构
文章目录 前言一、环境规划二、安装 MySQL 8.0.36(主库,CentOS 9)2.1 添加 Yum 源2.2 安装 MySQL 8.0.362.3 初始化 三、配置主库 my.cnf(192.168.1.101)四、(可选)创建远程可访问的用户&#x…...
Opencv使用cuda实现图像处理
main.py import os import cv2 print(fOpenCV: {cv2.__version__} for python installed and working) image cv2.imread(bus.jpg) if image is None:print("无法加载图像1") print(cv2.cuda.getCudaEnabledDeviceCount()) cv2.cuda.setDevice(0) cv2.cuda.printCu…...
ubuntu 安装samba
ubuntu 版本:Ubuntu 24.04.2 LTS 1. 保证连网 2. 安装samba sudo apt install samba 在安装结束以后,我们可以使用下面的命令来查看安装: apt list | grep samba freeipa-client-samba/noble 4.11.1-2 amd64 ldb-tools/noble 2:2.8.0samba…...
山东大学软件学院创新项目实训开发日志(12)之将对话记录保存到数据库中
在之前的功能开发中,已经成功将deepseekAPI接口接入到springbootvue项目中,所以下一步的操作是将对话和消息记录保存到数据库中 在之前的开发日志中提到数据库建表,所以在此刻需要用到两个表,conversation表和message表ÿ…...
欢乐力扣:反转链表二
文章目录 1、题目描述2、思路 1、题目描述 反转链表二。 给你单链表的头指针 head 和两个整数 left 和 right ,其中 left < right 。请你反转从位置 left 到位置 right 的链表节点,返回 反转后的链表 。 2、思路 参考官方题解,基本思路…...
【CS*N是狗】亲测可用!!WIN11上禁用Chrome自动更新IDM插件
现象:每次打开chrome后IDM会弹出提示插件版本不一致。经过排查后发现是chrome把IDM插件给更新了,导致IDM提示版本不匹配。经过摸索后,得到了可行的方案。 第一步,打开Chrome,把IDM插件卸载掉,然后重新安装I…...
Linux:DNS服务配置(课堂实验总结)
遇到的问题,都有解决方案,希望我的博客能为你提供一点帮助。 操作系统:rocky Linux 9.5 一、配置DNS服务器的核心步骤 步骤 1:安装 BIND 软件 检查是否安装: rpm -qa | grep "^bind"…...
啥是Spring,有什么用,既然收费,如何免费创建SpringBoot项目,依赖下载不下来的解决方法,解决99%问题!
一、啥是Spring,为啥选择它 我们平常说的Spring指的是Spring全家桶,我们为什么要选择Spring,看看官方的话: 意思就是:用这个东西,又快又好又安全,反正就是好处全占了,所以我们选择它…...
【LeetCode】算法详解#4 ---合并区间
1.题目介绍 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间,并返回 一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间 。 1 < intervals.length < 104interval…...
安装树莓派3B+环境
目录 一、安装树莓派3B环境 1.1 格式化SD卡 1.2 环境安装与配置 1.2.1 安装Raspberry Pi 1.2.2 SSH访问树莓派 1.3 创建用户账号 二、在树莓派上用C和Python编程运行一个简单的程序 2.1 C语言程序 2.2 Python程序 三、总结 树莓派是一款功能强大的微型计算机…...
STM32(3.3V 系统)通过串口直接向 ATmega328P(5V 系统)发送数据,居然能正常通信
核心结论 如果 STM32(3.3V 系统)通过串口直接向 ATmega328P(5V 系统)发送数据,3.3V 的 TX 高电平可能无法被 ATmega328P 可靠识别为逻辑“1”!以下是详细分析: 1.…...
Java 8中的Lambda 和 Stream (from Effective Java 第三版)
42.Lambda 优先于匿名类 在之前的做法中(Historically),使用单个抽象方法的接口(或很少的抽象类【只有一个抽象方法的抽象类数量比较少】)被用作函数类型。它们的实例称为函数对象,代表一个函数或一种行为。…...
MIPI协议介绍
MIPI协议介绍 mipi 协议分为 CSI 和DSI,两者的区别在于 CSI用于接收sensor数据流 DSI用于连接显示屏 csi分类 csi 分为 csi2 和 csi3 csi2根据物理层分为 c-phy 和 d-phy, csi-3采用的是m-phy 一般采用csi2 c-phy 和 d-phy的区别 d-phy的时钟线和数据线是分开的,2根线一对…...
深入解析 HTML 中 `<script>` 标签的 async 和 defer 属性
一、背景与问题 在网页性能优化中,脚本的加载和执行方式直接影响页面渲染速度和用户体验。传统 <script> 标签的阻塞行为可能导致页面“白屏”,而 async 和 defer 属性提供了非阻塞的解决方案。本周重点研究二者的差异、适用场景及实际应用。 二、…...
【从0到1学Elasticsearch】Elasticsearch从入门到精通(上)
黑马商城作为一个电商项目,商品的搜索肯定是访问频率最高的页面之一。目前搜索功能是基于数据库的模糊搜索来实现的,存在很多问题。 首先,查询效率较低。 由于数据库模糊查询不走索引,在数据量较大的时候,查询性能很差…...
2.0 全栈运维管理:Linux网络基础核心概念解析、Proxmox网络组件详解、虚拟化网络模型分类
本文是Proxmox VE 全栈管理体系的系列文章之一,如果对 Proxmox VE 全栈管理感兴趣,可以关注“Proxmox VE 全栈管理”专栏,后续文章将围绕该体系,从多个维度深入展开。 摘要:Linux 网络基础借助桥接、VLAN 和 Bonding 实…...
案例驱动的 IT 团队管理:创新与突破之路: 第四章 危机应对:从风险预见到创新破局-4.1.3重构过程中的团队士气管理
👉 点击关注不迷路 👉 点击关注不迷路 👉 点击关注不迷路 文章大纲 案例驱动的 IT 团队管理:创新与突破之路 - 第四章 危机应对:从风险预见到创新破局4.1.3 重构过程中的团队士气管理1. 技术债务重构与团队士气的矛盾2…...
洛谷刷题小结
#include <iostream> using namespace std; int n, m,ans0; char s[105][105]; //深搜 void dfs(int x, int y) {//将搜索到的水坑看为干地s[x][y] .;//确定八个方向int next[8][2] {{0,1},{0,-1},{1,0},{-1,0},{1,1},{1,-1},{-1,1},{-1,-1},};//朝八个方向搜索for (in…...
Android Compose 权限申请完整指南
Android Compose 权限申请完整指南 在 Jetpack Compose 中处理运行时权限申请需要结合传统的权限 API 和 Compose 的状态管理。以下是完整的实现方案: 1. 基本权限申请流程 添加依赖 implementation "com.google.accompanist:accompanist-permissions:0.34…...
VirtualBox虚拟机转换到VMware
VirtualBox虚拟机转换到VMware **参考文章:**https://blog.csdn.net/qq_30054403/article/details/123451969 一.找到对应文件位置 Windows11系统,VirtualBox版本为6.1.50,VMware版本为17.5.2 1.首先找到自己需要转换的vdi文件位置 D:\v…...
Spring Boot(二十二):RedisTemplate的List类型操作
RedisTemplate和StringRedisTemplate的系列文章详见: Spring Boot(十七):集成和使用Redis Spring Boot(十八):RedisTemplate和StringRedisTemplate Spring Boot(十九)…...
【MySQL】关于何时使用start slave和start slave user=‘’ password=‘’
这个问题是我在配置三个服务器的复制拓扑时,一开始没有给复制用户 repl 创建密码,搭建好循环拓扑后,给server1的复制用户通过 ALTER USER USER() IDENTIFIED BY oracle 设置了密码,然后同步给了server2和server3。 这时server2突…...