当前位置: 首页 > news >正文

linux:文件的创建/删除/复制/移动/查看/查找/权限/类型/压缩/打包,文本处理sed,awk

关于文件的关键词

创建 touch

删除 rm

复制 cp

权限 chmod

移动 mv

查看内容 cat(全部); head(前10行); tail(末尾10行); more,less,grep

查找  find

压缩  gzip ;  bzip

打包 tar 

编辑 sed

文本处理 awk

创建文件

格式: touch 文件名

删除文件

复制文件

移动文件

查看文件内容

cat
head
tail
tail -f   监视文件的增长,当文件更新时,显示新的行
用途
1.监视日志文件(系统管理员常用)
2.查看程序的输出
运行一个程序时,想要实时查看其输出,可以将程序的输出重定向到一个文件,然后使用 tail -f 来监视这个文件
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 没有找到任何匹配项,它不会显示任何消息,但仍然会返回一个非零的退出状态码,这可以用于脚本编写
参数 -o  :仅输出与搜索模式匹配的部分,而不是整行内容
grep和正则表达式结合

查找文件 find

基本用法
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代表单词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控件时,程序突然崩溃了。这是为什么呢&#xff1…...

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 &#xff0c;请你找出并返回第 n 个 丑数 。丑数 就是质因子只包含 2、3 和 5 的正整数。 //用一个数组来保存第1到第n个丑数 //一个丑数必须是乘以较小的丑数的 2、3 或 5来得到。 //使用三路合并方法&#xff1a;L2、L3 和 L5三个指针遍历2、3、5倍的丑数序列…...

计算机网络之---TCP连接管理

TCP连接管理 TCP&#xff08;传输控制协议&#xff09;是面向连接的协议&#xff0c;在数据传输之前需要建立连接&#xff0c;在数据传输完成后需要断开连接。TCP连接的建立和断开都遵循特定的规则&#xff0c;分别称为三次握手&#xff08;Three-Way Handshake&#xff09;和四…...

《CPython Internals》阅读笔记:p118-p150

《CPython Internals》学习第 8 天&#xff0c;p118-p150 总结&#xff0c;总计 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种排序算法 冒泡排序&#xff08;Bubble Sort&#xff09;选择排序&#xff08;Selection Sort&#xff09;插入排序&#xff08;Insertion Sort&#xff09;希尔排序&#xff08;Shell Sort&#xff09;归并排序&#xff08;Merge Sort&#xff09;快速排序&#xff08;…...

三只松鼠携手爱零食,社区零售新高峰拔地而起

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

Java聊天小程序

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

Kibana操作ES基础

废话少说&#xff0c;开干&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;截图更清晰&#xff0c;复制在下面 #库操作#创建索引【相当于数据库的库】 PUT /first_index#获…...

MYSQL8创建新用户报错:You have an error in your SQL syntax;check...

本文所用——MYSQL版本&#xff1a;8.0.25 baidu都是直接创建新用户并赋权&#xff0c;如下&#xff1a; GRANT ALL PRIVILEGES ON *.* TO 用户名% IDENTIFIED BY 密码 WITH GRANT OPTION;但是我用的MYSQL版本它就不行&#xff0c;会报错&#xff01; 经查阅资料发现——MY…...

动漫周边商城系统|Java|SSM|VUE| 前后端分离

【技术栈】 1⃣️&#xff1a;架构: B/S、MVC 2⃣️&#xff1a;系统环境&#xff1a;Windowsh/Mac 3⃣️&#xff1a;开发环境&#xff1a;IDEA、JDK1.8、Maven、Mysql5.7 4⃣️&#xff1a;技术栈&#xff1a;Java、Mysql、SSM、Mybatis-Plus、VUE、jquery,html 5⃣️数据库…...

Vue 3 Diff 算法受 `v-for` 循环中的 `key` 属性影响

Vue 3 的 Diff 算法会受到 v-for 循环中的 key 属性的影响&#xff0c;key 的选择直接关系到 Diff 算法的效率和最终的 DOM 更新结果。 key 的作用 在 Vue 中&#xff0c;key 是一种标识&#xff0c;它用于唯一标记每个虚拟 DOM 节点。Diff 算法会根据 key 判断新旧节点是否是…...

椭圆曲线密码学(ECC)

一、ECC算法概述 椭圆曲线密码学&#xff08;Elliptic Curve Cryptography&#xff09;是基于椭圆曲线数学理论的公钥密码系统&#xff0c;由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA&#xff0c;ECC在相同安全强度下密钥更短&#xff08;256位ECC ≈ 3072位RSA…...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器

一.自适应梯度算法Adagrad概述 Adagrad&#xff08;Adaptive Gradient Algorithm&#xff09;是一种自适应学习率的优化算法&#xff0c;由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率&#xff0c;适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...

在rocky linux 9.5上在线安装 docker

前面是指南&#xff0c;后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...

关于nvm与node.js

1 安装nvm 安装过程中手动修改 nvm的安装路径&#xff0c; 以及修改 通过nvm安装node后正在使用的node的存放目录【这句话可能难以理解&#xff0c;但接着往下看你就了然了】 2 修改nvm中settings.txt文件配置 nvm安装成功后&#xff0c;通常在该文件中会出现以下配置&…...

2025盘古石杯决赛【手机取证】

前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来&#xff0c;实在找不到&#xff0c;希望有大佬教一下我。 还有就会议时间&#xff0c;我感觉不是图片时间&#xff0c;因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...

Linux-07 ubuntu 的 chrome 启动不了

文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了&#xff0c;报错如下四、启动不了&#xff0c;解决如下 总结 问题原因 在应用中可以看到chrome&#xff0c;但是打不开(说明&#xff1a;原来的ubuntu系统出问题了&#xff0c;这个是备用的硬盘&a…...

Java求职者面试指南:Spring、Spring Boot、MyBatis框架与计算机基础问题解析

Java求职者面试指南&#xff1a;Spring、Spring Boot、MyBatis框架与计算机基础问题解析 一、第一轮提问&#xff08;基础概念问题&#xff09; 1. 请解释Spring框架的核心容器是什么&#xff1f;它在Spring中起到什么作用&#xff1f; Spring框架的核心容器是IoC容器&#…...

【Go语言基础【12】】指针:声明、取地址、解引用

文章目录 零、概述&#xff1a;指针 vs. 引用&#xff08;类比其他语言&#xff09;一、指针基础概念二、指针声明与初始化三、指针操作符1. &&#xff1a;取地址&#xff08;拿到内存地址&#xff09;2. *&#xff1a;解引用&#xff08;拿到值&#xff09; 四、空指针&am…...

基于SpringBoot在线拍卖系统的设计和实现

摘 要 随着社会的发展&#xff0c;社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统&#xff0c;主要的模块包括管理员&#xff1b;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...

HubSpot推出与ChatGPT的深度集成引发兴奋与担忧

上周三&#xff0c;HubSpot宣布已构建与ChatGPT的深度集成&#xff0c;这一消息在HubSpot用户和营销技术观察者中引发了极大的兴奋&#xff0c;但同时也存在一些关于数据安全的担忧。 许多网络声音声称&#xff0c;这对SaaS应用程序和人工智能而言是一场范式转变。 但向任何技…...