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 判断新旧节点是否是…...
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...
Admin.Net中的消息通信SignalR解释
定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...
在四层代理中还原真实客户端ngx_stream_realip_module
一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡(如 HAProxy、AWS NLB、阿里 SLB)发起上游连接时,将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后,ngx_stream_realip_module 从中提取原始信息…...
Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
Rust 异步编程
Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...
NFT模式:数字资产确权与链游经济系统构建
NFT模式:数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新:构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议:基于LayerZero协议实现以太坊、Solana等公链资产互通,通过零知…...
在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…...
Python Ovito统计金刚石结构数量
大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...
MySQL 索引底层结构揭秘:B-Tree 与 B+Tree 的区别与应用
文章目录 一、背景知识:什么是 B-Tree 和 BTree? B-Tree(平衡多路查找树) BTree(B-Tree 的变种) 二、结构对比:一张图看懂 三、为什么 MySQL InnoDB 选择 BTree? 1. 范围查询更快 2…...
Web后端基础(基础知识)
BS架构:Browser/Server,浏览器/服务器架构模式。客户端只需要浏览器,应用程序的逻辑和数据都存储在服务端。 优点:维护方便缺点:体验一般 CS架构:Client/Server,客户端/服务器架构模式。需要单独…...
