linux:文件的创建/删除/复制/移动/查看/查找/权限/类型/压缩/打包,文本处理sed,awk
关于文件的关键词
创建 touch
删除 rm
复制 cp
权限 chmod
移动 mv
查看内容 cat(全部); head(前10行); tail(末尾10行); more,less,grep
查找 find
压缩 gzip ; bzip
打包 tar
编辑 sed
文本处理 awk
创建文件
删除文件

复制文件

移动文件

查看文件内容
cat

head

tail

your_program > output.log
tail -f output.log
3.多文件监视
在命令后列出所有文件的名称
格式: tail -f file1.log file2.log
退出监视 Ctrl+C
使用:
tail -f 和tail的其他参数一起使用
tail -n 10 -f file.log
tail -f 经常与 grep 命令结合使用,以便在实时输出中过滤特定的信息
tail -f 文件路径 | grep 'error'
命令解释:
|
管道符将tail
命令的输出(即新的行)传递给grep 'error'
命令。grep 'error'
命令会搜索包含字符串 'error' 的行
tail -f 和 top的区别
top
命令主要用于性能监控,而tail -f
命令主要用于日志文件和输出监控。top
命令显示的信息是动态更新的,而tail -f
命令显示的是文件内容的实时追加。
more

less


grep
是 "global search regular expression and print" 的缩写,意味着它将搜索整个文件以找到符合正则表达式的文本行,并打印出来


参数 -s 或 --no-messages :
用于禁止 grep
显示警告信息或错误信息
-s
选项时,如果 grep
没有找到任何匹配项,它不会显示任何消息,但仍然会返回一个非零的退出状态码,这可以用于脚本编写


查找文件 find

find /var -name *.txt 查找 /var 目录下所有的 .txt 文件
按文件名查找
-name 选项可以根据文件名模式查找文件。模式可以使用通配符(如 * 和 ?)
按照文件类型查找
find . -type d
按照大小查找
+表示大于,-表示小于,后跟数字和单位
find . -size +10M
按权限查找
-perm 选项可以根据文件权限查找文件。权限可以指定为八进制数或符号模式。
find . -perm 755
按所有者查找:
使用 -user
选项可以根据文件所有者查找文件
find . -user username
按修改时间查找
-mtime 选项可以根据文件的最后修改时间查找文件。时间可以指定为 -n(n天前)或 +n(n天前)。
find . -mtime -7
按访问时间查找:-atime 选项可以根据文件的最后访问时间查找文件
按状态改变时间查找:-ctime 选项可以根据文件状态的最后改变时间查找文件
组合条件:-a(AND)或 -o(OR)来组合多个条件。
使用正则表达式:-regex 选项可以使用正则表达式来匹配文件名。
文件权限的设置和修改
ugo: u代表user,即用户/所有者; g 代表group ,小组成员; o 代表Others,其他用户
示例(如下图)
chmod
用于更改文件或目录的权限
截图里面:
7=4+2+1,即所有权限,5=4+1,即拥有读和执行的权限,
-rwxr-xr-x : 用户权限rwx; 组内成员的权限:r-x ;其他成员权限: r-x
(权限的位置3,顺序是rwx,缺失的权限用- 占位)
文件类型
截图中helloworld.sh 文件的权限前面有一个 -,表示它是一个普通文件。而 test 文件夹的权限前面有一个 d,表示它是一个目录。
文件和目录的颜色
文件和目录的颜色通常由终端的配色方案决定,可以通过修改终端的配置文件(如 .bashrc
文件或终端特定的配置文件)来自定义
文件后缀
也称为文件扩展名,用于标识文件的类型或内容
更改文件或目录的所有者和组
压缩文件
减少文件大小,以节省存储空间或加快传输速度。压缩可以应用于单个文件或打包文件
解压当前目录下的文件: gzip -d *.gz
解压指定名称的文件: gzip -d filename.gz
(-d
选项代表 "decompress",即解压缩)
如果文件小于几十MB,一般没有必要压缩,如果文件太小,很可能出现压缩后的文件比压缩之前还大.
bzip2
在压缩比率上优于gzip
,但可能需要更长的压缩时间。
(压缩比率 = 原内容大小 / 压缩后大小)
打包文件
将多个文件和目录组织到一个归档文件中,以便于存储或传输。
打包并不一定会减少文件的大小,它主要是为了方便文件的管理,移动,备份。
tar打包时,参数v可以省略,省略后执行命令时不显示过程
解包的 *.tar
表示当前目录下所有以 .tar
结尾的文件,*是占位符
解包指定文件名的文件 : tar -xvf filename.tar
参数 v 可以省略,v代表单词verbose
*.tar.gz
表示当前目录下所有以 .tar.gz
结尾的文件
指定解包并解压缩的文件: tar -zxvf filename.tar.gz
*.tar.gz
表示当前目录下所有以 .tar.gz
结尾的文件
指定解包并解压缩的文件: tar -jxvf filename.tar.gz
压缩/打包后的原文件
压缩
参数 k 是keep的意思
打包
原文件会保留。
打包(或归档)只是将文件和目录合并到一个单独的文件中,这个过程不会改变原始文件.目录及其内容仍然存在于原始位置,而一个新的打包文件将包含这些内容的副本。
文本处理
sed
示例
awk
文本处理工具,用于模式扫描和处理语言。它非常适合用来处理列式数据,比如 CSV 文件。awk
的名称来源于其创始人 Alfred Aho、Peter Weinberger 和 Brian Kernighan 的姓氏首字母。
基本语法: awk '条件 {动作}' 文件
如果没有指定条件,awk 默认会执行动作部分
示例
**打印指定列**:
awk '{print $1 $3}' 文件, 这将打印文件中的每行的第一列和第三列。
awk默认的分隔符是空格键,定义分隔符使用参数 -F
**基于条件打印**:
awk '条件 {print $0}' 文件
例如,打印所有包含特定字符串的行:
awk '/pattern/ {print $0}' 文件
**使用正则表达式**:
awk '/^pattern/ {print $0}' 文件
这将打印以 "pattern" 开头的行。
**替换文本**:
awk '{gsub(/old/, "new", $0); print}' 文件
这将替换每行中的 "old" 为 "new" 并打印结果。
**计算列的总和**:
awk '{sum += $1} END {print sum}' 文件
这将计算第一列的数值总和。
**计算平均值**:
awk '{sum += $1; n++} END {print sum/n}' 文件
这将计算第一列的平均值。
**多字段操作**:
awk -F, '{print $1, $2, $3}' 文件
使用 `-F` 选项指定字段分隔符,这里假设字段由逗号分隔。
**处理多个文件**:
awk '条件 {动作}' 文件1 文件2 文件3
可以一次性对多个文件执行相同的 `awk` 命令。
**内置函数**:
`awk` 内置了许多函数,如 `length`、`substr`、`tolower`、`toupper` 等,可以对文本进行各种操作。
**使用变量**:
在 `awk` 中,`$0` 代表整行文本,`$1`、`$2` 等代表各个字段。
用$0打印多行
$1打印第一列
用NR==行数,筛选行数
用NR显示行号
比较判断
- 在
awk
中,=
用作赋值运算符,用于给变量赋值。比较是否相等用== - 当你在
awk
脚本中看到$3=1000
,它实际上会将第三列的值赋值为1000
,而不是进行比较。
**模式匹配**:
`awk` 支持正则表达式,可以用来匹配复杂的模式。
工作应用:杀死某个进程
ps -ef 显示当前系统上所有正在运行的进程的详细信息,通过管道符|传给grep
grep bash
用于过滤出包含 "bash" 字符串的行,即与 bash shell 相关的进程信息。
NR==1{print}
这个条件动作对表示只对第一行输入执行 print
动作,即打印第一行
$2
表示第二列
xargs传递参数,kill终止程序
(杀死其他进程,把bash换成其他的进程名称)
如果需要强制终止,加 -9
vim,sed,awk的区别
vim
是一个文本编辑器,适合交互式编辑;sed
是一个流编辑器,适合简单的文本过滤和转换;而 awk
是一个文本处理编程语言,适合复杂的文本分析和数据处理。
相关文章:

linux:文件的创建/删除/复制/移动/查看/查找/权限/类型/压缩/打包,文本处理sed,awk
关于文件的关键词 创建 touch 删除 rm 复制 cp 权限 chmod 移动 mv 查看内容 cat(全部); head(前10行); tail(末尾10行); more,less,grep 查找 find 压缩 gzip ; bzip 打包 tar 编辑 sed 文本处理 awk 创建文件 格式: touch 文件名 删除文件 复制文…...
CentOS 8 如何安装java与mysql
在CentOS 8上安装Java和MySQL的步骤如下: 1. 安装 Java 1.1 安装 OpenJDK(推荐) CentOS 8 默认的软件仓库提供了 OpenJDK 包,您可以直接使用 dnf 命令安装。 # 更新系统 sudo dnf update -y# 安装 OpenJDK 11(Cent…...
Go语言之路————go基本语法、数据类型、变量、常量、输出
Go语言之路————go基本语法、数据类型、变量、常量 前言一、基本语法知识二、数据类型三、常量四、变量五、作用域六、输入输出 前言 我是一名多年Java开发人员,因为工作需要现在要学习go语言,Go语言之路是一个系列,记录着我从0开始接触G…...

音视频入门基础:MPEG2-PS专题(7)——通过FFprobe显示PS流每个packet的信息
音视频入门基础:MPEG2-PS专题系列文章: 音视频入门基础:MPEG2-PS专题(1)——MPEG2-PS官方文档下载 音视频入门基础:MPEG2-PS专题(2)——使用FFmpeg命令生成ps文件 音视频入门基础…...

Docker安装和卸载(centos)
Docker安装和卸载 一,已安装Docker,卸载Docker 1.方法一 sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine 如果出现以下提示就证明没卸载…...

YOLOv8从菜鸟到精通(二):YOLOv8数据标注以及模型训练
数据标注 前期准备 先打开Anaconda Navigator,点击Environment,再点击new(new是我下载anaconda的文件夹名称),然后点击创建 点击绿色按钮,并点击Open Terminal 输入labelimg便可打开它,labelimg是图像标注工具,在上篇…...

Winforms开发基础之非主线程操作UI控件的误区
前言 想象一下,你正在开发一个桌面应用程序,用户点击按钮后需要执行一个耗时操作。为了避免界面卡顿,你决定使用后台线程来处理任务。然而,当你在后台线程中尝试更新UI控件时,程序突然崩溃了。这是为什么呢࿱…...
Flutter中Get.snackbar和Get.dialog关闭冲突问题记录
背景: 在使用GetX框架时,同时使用了Get.snackbar提示框和Get.dialog加载框,当这两个widget同时存在时,Get.dialog加载框调用Get.back()无法正常关闭。 冲突解释: 之所以会产生冲突,是因为Get.snackbar在关…...
springcloudalibaba集成fegin报错ClassNotFoundException解决方案
集成fegin遇到问题: java.lang.ClassNotFoundException: com.netflix.config.CachedDynamicIntProperty 解决方案: 在pom文件中添加依赖 <dependency><groupId>com.netflix.archaius</groupId><artifactId>archaius-core</artifactId><versi…...

【HTML+CSS+JS+VUE】web前端教程-31-css3新特性
圆角 div{width: 100px;height: 100px;background-color: saddlebrown;border-radius: 5px;}阴影 div{width: 200px;height: 100px;background-color: saddlebrown;margin: 0 auto;box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.5);}...
力扣264. 丑数 II
给你一个整数 n ,请你找出并返回第 n 个 丑数 。丑数 就是质因子只包含 2、3 和 5 的正整数。 //用一个数组来保存第1到第n个丑数 //一个丑数必须是乘以较小的丑数的 2、3 或 5来得到。 //使用三路合并方法:L2、L3 和 L5三个指针遍历2、3、5倍的丑数序列…...
计算机网络之---TCP连接管理
TCP连接管理 TCP(传输控制协议)是面向连接的协议,在数据传输之前需要建立连接,在数据传输完成后需要断开连接。TCP连接的建立和断开都遵循特定的规则,分别称为三次握手(Three-Way Handshake)和四…...
《CPython Internals》阅读笔记:p118-p150
《CPython Internals》学习第 8 天,p118-p150 总结,总计 33 页。 一、技术总结 补充一些本人整理的关于 Context-Free Grammar(CFG) 的知识。 1.symbol(符号) A mathematical symbol is a figure or a combination of figures that is used to repre…...

C/C++ 数据结构与算法【排序】 常见7大排序详细解析【日常学习,考研必备】带图+详细代码
常见7种排序算法 冒泡排序(Bubble Sort)选择排序(Selection Sort)插入排序(Insertion Sort)希尔排序(Shell Sort)归并排序(Merge Sort)快速排序(…...

三只松鼠携手爱零食,社区零售新高峰拔地而起
合纵连横,这是当前零售行业发展的一个主旋律。从商超之王胖东来的全国调改,到社区零售正在进行的渠道变革,竞争的激烈和商业模式的升级令人目不暇接。 量贩零食赛道在过去一年就是如此,有杀伐,有并购,刀光…...

Java聊天小程序
拟设计一个基于 Java 技术的局域网在线聊天系统,实现客户端与服务器之间的实时通信。系统分为客户端和服务器端两类,客户端用于发送和接收消息,服务器端负责接收客户端请求并处理消息。客户端通过图形界面提供用户友好的操作界面,服务器端监听多个客户端的连接并管理消息通…...

Kibana操作ES基础
废话少说,开干!!!!!!!!!!!!截图更清晰,复制在下面 #库操作#创建索引【相当于数据库的库】 PUT /first_index#获…...

MYSQL8创建新用户报错:You have an error in your SQL syntax;check...
本文所用——MYSQL版本:8.0.25 baidu都是直接创建新用户并赋权,如下: GRANT ALL PRIVILEGES ON *.* TO 用户名% IDENTIFIED BY 密码 WITH GRANT OPTION;但是我用的MYSQL版本它就不行,会报错! 经查阅资料发现——MY…...

动漫周边商城系统|Java|SSM|VUE| 前后端分离
【技术栈】 1⃣️:架构: B/S、MVC 2⃣️:系统环境:Windowsh/Mac 3⃣️:开发环境:IDEA、JDK1.8、Maven、Mysql5.7 4⃣️:技术栈:Java、Mysql、SSM、Mybatis-Plus、VUE、jquery,html 5⃣️数据库…...
Vue 3 Diff 算法受 `v-for` 循环中的 `key` 属性影响
Vue 3 的 Diff 算法会受到 v-for 循环中的 key 属性的影响,key 的选择直接关系到 Diff 算法的效率和最终的 DOM 更新结果。 key 的作用 在 Vue 中,key 是一种标识,它用于唯一标记每个虚拟 DOM 节点。Diff 算法会根据 key 判断新旧节点是否是…...

使用分级同态加密防御梯度泄漏
抽象 联邦学习 (FL) 支持跨分布式客户端进行协作模型训练,而无需共享原始数据,这使其成为在互联和自动驾驶汽车 (CAV) 等领域保护隐私的机器学习的一种很有前途的方法。然而,最近的研究表明&…...

最新SpringBoot+SpringCloud+Nacos微服务框架分享
文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的,根据Excel列的需求预估的工时直接打骨折,不要问我为什么,主要…...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...
JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案
JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停 1. 安全点(Safepoint)阻塞 现象:JVM暂停但无GC日志,日志显示No GCs detected。原因:JVM等待所有线程进入安全点(如…...
return this;返回的是谁
一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请,不同级别的经理有不同的审批权限: // 抽象处理者:审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...
Java毕业设计:WML信息查询与后端信息发布系统开发
JAVAWML信息查询与后端信息发布系统实现 一、系统概述 本系统基于Java和WML(无线标记语言)技术开发,实现了移动设备上的信息查询与后端信息发布功能。系统采用B/S架构,服务器端使用Java Servlet处理请求,数据库采用MySQL存储信息࿰…...
关于uniapp展示PDF的解决方案
在 UniApp 的 H5 环境中使用 pdf-vue3 组件可以实现完整的 PDF 预览功能。以下是详细实现步骤和注意事项: 一、安装依赖 安装 pdf-vue3 和 PDF.js 核心库: npm install pdf-vue3 pdfjs-dist二、基本使用示例 <template><view class"con…...
提升移动端网页调试效率:WebDebugX 与常见工具组合实践
在日常移动端开发中,网页调试始终是一个高频但又极具挑战的环节。尤其在面对 iOS 与 Android 的混合技术栈、各种设备差异化行为时,开发者迫切需要一套高效、可靠且跨平台的调试方案。过去,我们或多或少使用过 Chrome DevTools、Remote Debug…...
Python 训练营打卡 Day 47
注意力热力图可视化 在day 46代码的基础上,对比不同卷积层热力图可视化的结果 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import DataLoader import matplotlib.pypl…...

【C++】纯虚函数类外可以写实现吗?
1. 答案 先说答案,可以。 2.代码测试 .h头文件 #include <iostream> #include <string>// 抽象基类 class AbstractBase { public:AbstractBase() default;virtual ~AbstractBase() default; // 默认析构函数public:virtual int PureVirtualFunct…...