文本处理常见命令

目录

前言-了解Linux目录结构

一、cat-查看文件内容

1.表现形式

2.常用选项

3.示例

二、more-查看文件内容

1.表现形式

2.交互操作方法

3.示例

三、less-查看文件内容

1.表现形式

2.交互操作方法

四、head-从头查看文件内容

五、tail-从尾查看文件内容

六、wc-统计文件内容

1.表现形式

2.选项

3.示例

七、grep-检索和过滤文件内容

1.表现形式

2.常用选项

3.示例

八、gzip、bzip2-制作压缩文件、解开压缩文件

1.压缩文件

2.解压缩

九、tar-归档命令

1.表现形式

2.常用命令

3.示例


前言-了解Linux目录结构

Linux目录结构

1.根目录

        所有分区、目录、文件等的位置起点

        整个树形目录结构中,使用独立的一个“/”表示

2.常见的子目录

/root 系统管理员root的家目录
/home 普通用户的家目录
/boot 系统内核、启动文件
/dev   设备文件
/etc配置文件
/bin   所有用户可执行的命令
/sbin管理员可执行的管理命令
/usr   应用程序
/var   日志文件

    

一、cat-查看文件内容

1.表现形式

cat  【选项】  文件名                #直接显示出整个文件的内容

cat 能够显示出整个文件的内容,所以适用于查看内容较少或较短的文件

2.常用选项

-n查看显示行号
-b查看忽略空行显示行号
-s查看时压缩连续空行为一个空行

3.示例

[root@bogon opt]# echo abc > abc.txt
[root@bogon opt]# echo 123 > 123.txt
[root@bogon opt]# ls
123.txt  abc.txt  rh
[root@bogon opt]# cat 123.txt        #查看文件内容
123


[root@bogon yum.repos.d]# cat -n CentOS-Base.repo        #-n 显示行号
     1  # CentOS-Base.repo
     2  #
     3  # The mirror system uses the connecting IP address of the client and the
     4  # update status of each mirror to pick mirrors that are updated to and
     5  # geographically close to the client.  You should use this for CentOS updates
     6  # unless you are manually picking other mirrors.
     7  #
     8  # If the mirrorlist= does not work for you, as a fall back you can try the
     9  # remarked out baseurl= line instead.
    10  #
    11  #
    12
    13  [base]
    14  name=CentOS-$releasever - Base
    15  mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
    16  #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
    17  gpgcheck=1
    18  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
    19
    20  #released updates
    21  [updates]
    22  name=CentOS-$releasever - Updates
    23  mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
    24  #baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
    25  gpgcheck=1
    26  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
    27
    28  #additional packages that may be useful
    29  [extras]
    30  name=CentOS-$releasever - Extras
    31  mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
    32  #baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
    33  gpgcheck=1
    34  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
    35
    36  #additional packages that extend functionality of existing packages
    37  [centosplus]
    38  name=CentOS-$releasever - Plus
    39  mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
    40  #baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
    41  gpgcheck=1
    42  enabled=0
    43  gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
    44
[root@bogon yum.repos.d]#

二、more-查看文件内容

1.表现形式

more  【选项】  文件名                #全屏方式分页显示文件内容

2.交互操作方法

按Enter键向下逐行滚动
按空格键向下翻一屏
按b键向上翻一屏
按q键退出
下翻到最后一页后会自动退出

结合管道操作使用时(例如:Is-R/etc l more)无法向上翻页

3.示例

三、less-查看文件内容

1.表现形式

less  【选项】  文件名                #与 more 命令相同,但扩展功能更多

2.交互操作方法

Page Up 向上翻页,Page Down 向下翻页

按“”键查找内容,“n”下一个内容,“N”上一个内容

通过↑和↓方向键可以实现上下逐行滚动

其他功能与 more 命令基本类似

下翻到最后一页后不会自动退出

结合管道操作使用时可以向上翻页

四、head-从头查看文件内容

head  -n  文件名                #查看文件开头的一部分内容(默认为10行)

[root@bogon opt]# cat test.txt
1
2
3
4
5
6
7
8
9
10
[root@bogon opt]# head -5 test.txt        #查看前五行内容
1
2
3
4
5
[root@bogon opt]# head -n 5 test.txt        #查看前五行内容
1
2
3
4
5
[root@bogon opt]# head -n +5 test.txt        #查看前五行内容
1
2
3
4
5
[root@bogon opt]# head -n -5 test.txt        #查看除去后面5行的内容
1
2
3
4
5
[root@bogon opt]# head -n -3 test.txt        查看除去后面3行的内容
1
2
3
4
5
6
7
[root@bogon opt]#

五、tail-从尾查看文件内容

tail  -n  文件名                #查看文件结尾的一部分内容(默认为10行)

 

[root@bogon opt]# tail -3 test.txt         #查看后3层内容
8
9
10
[root@bogon opt]# tail -n 3 test.txt        #查看后3层内容
8
9
10
[root@bogon opt]# tail -n -3 test.txt        #查看后3层内容
8
9
10
[root@bogon opt]# tail -n +3 test.txt        #查看除去前3行的所有内容
3
4
5
6
7
8
9
10
[root@bogon opt]#

tail -f :表示动态实时查看,默认查看后10行(动态查看日志文件)

六、wc-统计文件内容

1.表现形式

wc  【选项】  目标文件                #统计文件中的单词数量(Word Count)等信息

2.选项

-l统计行数
-w统计单词个数
-c统计字节数

注意:不带任何选项的wc命令,默认同时使用 -wc 三个选项

一个中文两个字节,一个英文一个字节

3.示例

[root@bogon opt]# cat test.txt
1
2
3
4
[root@bogon opt]# wc -l test.txt        #统计行数
4 test.txt

[root@bogon opt]# echo zhangsan > test3.txt        #统计行数和单词数
[root@bogon opt]# wc -lw test3.txt
1 1 test3.txt
[root@bogon opt]# wc -c test3.txt        #统计字节数,注意这里zhangsan是8个字节,还有一个字节是换行符
9 test3.txt
[root@bogon opt]# echo -n zhangsan > test3.txt        #-n 表示取消换行符
[root@bogon opt]# wc -c test3.txt        #除去换行符这里是8字节
8 test3.txt

七、grep-检索和过滤文件内容

1.表现形式

grep  【选项】  查找条件  目标文件                #在文件中查找并显示包含指定字符串的行

2.常用选项

-i表示不区分大小写
-v表示过滤的内容取反

-n

表示过滤显示行号
-c表示过滤的内容有几行
-o 表示仅仅显示过滤出的内容
-w 表示过滤一个单词
-f表示以文件a的内容为条件过滤文件b,也就是过滤出相同的部分
-A n显示匹配行和它后面的n行
-B n显示匹配行和它前面的n行
-C n匹配行和它前后的n行

3.示例

[root@bogon opt]# cat a.txt
aa
bb
cc
dd
11
22
33
[root@bogon opt]# cat b.txt
a
bb
c
d
11
22
3
[root@bogon opt]# grep -f a.txt b.txt        #过滤出两个文件中一样的内容
bb
11
22

[root@bogon opt]# grep -o 1* a.txt        #-o 显示过滤出的内容
11


[root@bogon opt]# grep -A 1 c b.txt        #显示匹配行和它后面的n行,这里n=1
c
d
[root@bogon opt]# grep -B 1 c b.txt        #显示匹配行和它前面的n行
bb
c
[root@bogon opt]# grep -C 1 c b.txt        #显示匹配行和它前后的n行
bb
c
d
[root@bogon opt]#

八、gzip、bzip2-制作压缩文件、解开压缩文件

1.压缩文件

gzip  [-9]  文件名         
bzip2  [-9]  文件名

压缩比可以是 -1(压缩速度最快,性能消耗最小,压缩比最低) 到 -9(压缩速度最慢,性能消耗最大,压缩比最高) 

[root@bogon opt]# ls
a.txt  b.txt  c.txt  rh
[root@bogon opt]# gzip *.txt
[root@bogon opt]# ls
a.txt.gz  b.txt.gz  c.txt.gz  rh
[root@bogon opt]#


[root@bogon opt]# bzip2 *.txt
[root@bogon opt]# ls
a.txt.bz2  b.txt.bz2  c.txt.bz2  rh

2.解压缩

gzip  -d   .gz格式的压缩文件

bzip  -d   .bz2格式的压缩文件

[root@bogon opt]# gzip -d *.gz
[root@bogon opt]# ls
a.txt  b.txt  c.txt  rh
[root@bogon opt]#


[root@bogon opt]# bzip2 -d *.bz2
[root@bogon opt]# ls
a.txt  b.txt  c.txt  rh

九、tar-归档命令

1.表现形式

tar 【选项】  归档文件名  源文件或目录                #制作归档文件、释放归档文件

tar 【选项】   归档文件名  [-C目标目录]

2.常用命令

-f表示归档,一定一定要加-f 要不然报错
-z表示用gzip格式压缩,这种压缩方式压缩率更高
-j表示用bzip2格式压缩
-c表示创建压缩
-C表示解压至某个文件夹
-x解压
-v显示过程
-t查看压缩文件内有哪些文件(一定与-f一起使用)

3.示例

[root@bogon opt]# ls
a.txt  b.txt  c.txt  rh
[root@bogon opt]# tar -czvf test.tar.gz *.txt        #通过tar命令,使用压缩包,用gzip格式压缩,显示详细过程,使用归档文件
a.txt
b.txt
c.txt
[root@bogon opt]# ls
a.txt  b.txt  c.txt  rh  test.tar.gz
[root@bogon opt]#

[root@bogon opt]# ls
rh  test.tar.gz
[root@bogon opt]# tar -zxvf test.tar.gz        #解压缩
a.txt
b.txt
c.txt
[root@bogon opt]# ls
a.txt  b.txt  c.txt  rh  test.tar.gz

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/531897.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【石上星光】context,go的上下文存储并发控制之道

目录 1 引言2 What?3 How? 3.1 用法一、上下文数据存储3.2 用法二、并发控制 3.2.1 场景1 主动取消3.2.2 场景2 超时取消 3.3 用法三、创建一个空Context(emptyCtx) 4 Why? 4.1 go中的上下文思想 4.1.1 上下文是什么…

17 - Games101 - 笔记 - 材质与外观

**17 **材质与外观 材质与BRDF 自然界中的材质:丝绸、头发、蝴蝶翅膀表面、寿司表面等等 图形学中的材质:同一个模型之所以渲染出不同结果的原因就是因为材质。在图形学中是给不同的物体指定不同的材质,知道它们如何和光线作用后就能正确的…

体验Docker快速部署微信机器人

找到一个 Docker 部署微信机器人的镜像,简单测试一下。 1 使用 Docker 部署 1.1 拉取最新镜像 docker pull dannicool/docker-wechatbot-webhook1.2 Docker 部署 docker run -d --name wxBotWebhook -p 3001:3001 \ -v ~/wxBot_logs:/app/log \ dannicool/docker…

【C++基础】运算符和流程控制语句

C中的运算符和流程控制语句 一、运算符1. C和Java在通用运算符中的不同之处对比2. C中的位运算符2.1 移位运算符2.2 位逻辑运算符 3. 运算时的类型转换总结3.1 隐式类型转换3.2 显式类型转换(强制类型转换) 4. 注意 二、流程控制语句1. C和Java在通用流程…

网工内推 | 安全运维、服务工程师,软考中级、CISP优先,六险一金

01 华成峰科技 招聘岗位:安全运维工程师 职责描述: 1、负责安全产品的运维管理,包括设备升级变更、策略配置优化、设备巡检等; 2、负责7*24小时安全监控与应急响应,包括态势感知日志监测、安全事件分析及处置等&#…

【Keil5-报错】

Keil5-报错 ■ 调试烧录出现问题■ 烧录程序失败■ 编译报错 .\Objects\stm32h7_tms.axf: Error: L6218E: Undefined symbol __heap_base (referred from alloc.o).■ Keil5 load 出错■ No Space in execution regions with .ANY selector matching startup ...■ Execution r…

selenium自动化测试实战

🔥 交流讨论:欢迎加入我们一起学习! 🔥 资源分享:耗时200小时精选的「软件测试」资料包 🔥 教程推荐:火遍全网的《软件测试》教程 📢欢迎点赞 👍 收藏 ⭐留言 &#x1…

SSD涨价停不下来!

随着HBM内存产能短缺问题的出现,存储市场正遭遇另一波供应短缺。在2021年存储市场陷入低迷后,SSD价格已连续下滑约两年。面对市场变化,存储厂商减少了NAND闪存的生产。随着减产策略的有效执行,需求部分回升,导致SSD供应…

Hot100【十一】:最大子数组和

// 定义dp:以i结尾的最大子数组和 dp[i] max(dp[i-1] nums[i],nums[i]) class Solution {public int maxSubArray(int[] nums) {// 1. 不需要特殊处理// 2. 定义dpint[] dp new int[nums.length];dp[0] nums[0];int maxResult nums[0];// 3. dp递推for (int i …

Oracle 在线回缩表

Oracle 在线回缩表 conn scott/tiger DROP TABLE EMP1 PURGE; CREATE TABLE EMP1 AS SELECT * FROM EMP; alter table emp1 enable row movement; -- 启动回缩特性 insert into emp1 select * from emp1; / / commit; -- 增加到14000行 -- 分析表的结构 analyz…

Vue2 —— 学习(五)

一、生命周期 &#xff08;一&#xff09;引入案例 我们想让一行文字按一定频率逐渐变得透明 1. Vue 实例外写法 函数写在 Vue 实例外面也能实现但是不推荐 <body><div id"root"><h2 :style"{opacity}">欢迎学习Vue</h2><…

ELK大型日志收集分析系统

目录 一、 ELK日志分析系统 1.1ELK介绍 1.2ELK各组件介绍 1.2.1ElasticSearch 1.2.2Kiabana 1.2.3Logstash 1.2.4可以添加的其它组件 1.2.4.1Filebeat filebeat 结合logstash 带来好处 1.2.4.2缓存/消息队列&#xff08;redis、kafka、RabbitMQ等&#xff09; 1.2.4…

100道面试必会算法-21-二叉树的最近公共祖先

100道面试必会算法-21-二叉树的最近公共祖先 题目描述 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为&#xff1a;“对于有根树 T 的两个节点 p、q&#xff0c;最近公共祖先表示为一个节点 x&#xff0c;满足 x 是 p、q 的祖先且…

springcloud==springboot3.X+JDK21

2024年新版springcloud springboot3.X JDK21 ROADMAP 配套代码地址 GitHub - hebian1994/cloud2024

外包干了3天,技术退步明显.......

先说一下自己的情况&#xff0c;大专生&#xff0c;19年通过校招进入杭州某软件公司&#xff0c;干了接近4年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落! 而我已经在一个企业干了四年的功能测…

最祥解决python 将Dataframe格式数据上传数据库所碰到的问题

碰到的问题 上传Datafrane格式的数据到数据库 会碰见很多错误 举几个很普遍遇到的问题(主要以SqlServer举例) 这里解释下 将截断字符串或二进制数据 这个是字符长度超过数据库设置的长度 然后还有字符转int失败 或者字符串转换日期/或时间失败 这个是碰到的需要解决的最多的问…

【MATLAB源码-第179期】基于matlab的64QAM调制解调系统频偏估计及补偿算法仿真,对比补偿前后的星座图误码率。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 在通信系统中&#xff0c;频率偏移是一种常见的问题&#xff0c;它会导致接收到的信号频率与发送信号的频率不完全匹配&#xff0c;进而影响通信质量。在调制技术中&#xff0c;QPSK&#xff08;Quadrature Phase Shift Keyi…

在开发过程中使用 git rebase 还是 git merge

在开发过程中使用 git rebase 还是 git merge Merge(合并)的优点和缺点Rebase(变基)的优点和缺点总结&#xff1a; Git merge 和rebase的目的是一样的&#xff0c;它们都是将多个分支合并成一个。 虽然他们最终的目标是一样的&#xff0c;但这两种方法实现的方式是不同的。那么…

SpringBoot常用注解及其使用示例

Spring Boot是一个用于快速构建Java应用程序的框架&#xff0c;它简化了Spring应用程序的创建和部署过程。 Spring Boot提供了很多注解&#xff0c;用于简化开发过程&#xff0c;提高开发效率。本文将介绍几个Spring Boot常用注解的使用案例&#xff0c;包括Controller、Reques…

rancher踩坑日志:prometheus访问kubelet 10250端口提示鉴权失败

该原因是因为kubectl禁止了非授权用户访问10250端口来获取node的数据。 解决思路&#xff1a; 添加prometheus访问kubelet时带上证书进行验证匹配 --> 由于我的prometheus是rancher安装的&#xff0c;不知道要怎么修改所以研究了一会没研究明白就放弃了。设置prometheus访问…