Linux文件管理,压缩/解压缩和vi编辑器

目录

一.linux文件管理

1.cat

2. head和tail

3.WC

4.grep

5.paste(合并)

二.压缩,解压缩

1.gzip   bzip2

2.归档tar

3.zip 和unzip

三.vi编辑器


一.linux文件管理

1.cat

格式 :cat   选项    文件名 (文件名可以是单个或者多个)

选项效果  
-n显示行号包括空行   
-b跳过空白行编号
-s  将所有的连续的多个空行替换为一个空行(压缩成一个空行)
-A显示隐藏字符   

1.1“cat  -n ”显示行号包括空行

1.2“cat -b”跳过空白行编号

1.3“cat -s”压缩成一个空行

1.4“cat-A”显示隐藏字符

1.5补充tac: 倒序排列

2. head和tail

可以显示文件或标准输入的前面行

head查看文件的前面部分(默认十行)

格式:head    -n 10     文件名

示例一

示例二

tail查看文件后面部分 (默认十行)

格式:tail    -n 10   文件名

tail   -f     文件名 (实时查看后十行  用于查看日志)

示例一:默认不写-n

示例二:写选项-n

3.WC

格式:wc    选项    目标文件/标准输出

选项:

1.wc  -l:统计行数

2.wc  -w:统计单词个数(wc统计的不是真正的单词数量)

3.wc  -c:统计字节数

示例:

当只输入wc时会显示行数单词个数和字节数

当输入“wc -l” 时

当输入“wc -w” 时

当输入“wc -c” 时

4.grep

作用:过滤文本中的   你感兴趣内容

格式:grep    [选项]……    匹配式/表达式   [文件名]或标准输入

注意:匹配式表达式一定要在文件名前

正则表达式:匹配文章里的 内容(字符串)(grep)    

表示位置:

^ : 表示以什么字符开头 (开头就写开头)

$ : 表示以什么字符结尾 (结尾就写最后)

选项说明
grep  “^$”空行
grep  -v   “^$”  非空行
grep  -v     “^#"不是以#号开头的行
grep  -i 忽略大小写
grep  -v 反向匹配
grep   -o  只显示匹配内容
grep   -r 递归匹配  可以跟文件夹 (不处理软连接)
grep  -w   只匹配单词
grep   -f  以文件作为匹配的条件
grep  -n显示行号

示例:

(1)grep不加选项时

(2)grep  -v     “^#"  :不是以#号开头的行

         grep -v : 反向匹配

(3)grep  -i :忽略大小写

(4)grep  -n :显示行号

(5)grep  -o  :只显示匹配内容

(6)grep  -r :递归匹配  可以跟文件夹 (不处理软连接)

(7)grep  -w  :只匹配单词(不包括包含该单词的)

(8)grep  -f :以文件作为匹配的条件

5.paste(合并)

上下合并:cat    文件名a   文件名b   > 新文件名

左右合并:paste  文件名a  文件名b

选项: -d  指定分隔符

示例:

cat上下合并

paste左右合并

二.压缩,解压缩

1.gzip   bzip2

压缩:

gzip  [-9]  文件名

bzip2   [-9]   文件名

解压缩:

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

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

2.归档tar

格式:tar   选项    自定义压缩包名称     要压缩的文件

选项说明

-c

 建立归档文件

-f

 代表使用归档

-x

 解压缩

-C(大写)

指定解压缩的文件夹

-j

 调用bzip2 压缩

-z

调用gzip  压缩

-v

显示过程,解压和压缩

-t

不解包的情况下查看里面的文件列表

注意:出现tar 必须加f

tar   -f (加了 -  f必须放最后,否则无法执行)

tar    f   (不加  -   选项随便)

示例:

将opt下所有文件压缩,压缩包名称为zxy.tar.gz

将该压缩包进行解压到/mnt/

查看不解压情况下看压缩包内的内容

3.zip 和unzip

zip 可以实现打包目录和多个文件成一个文件并压缩,但可能会丢失文件属性信息,如:所有者和组信息,一般建议使用 tar 代替分别来自于 zip 和 unzip 包。对应的文件是 .zip 后缀。

三.vi编辑器

推荐使用 Vi 文本编辑器的原因有很多,比如说:

1.几乎所有的Linux 发行版都内嵌有 Vim 文本编辑器,而其他的编辑器则不一定存在;

2.Vim具有编辑程序的能力,会主动利用不同的字体颜色辨别语法的正确性,方便程序设计 接口

vi与vim之间的区别:vim是vi的升级版

基本格式:vim   选项    文件

常用选项 

+n  : 打开文件后,让光标处于第n行的行(如 :vim  +10  /etc/passwd   光标默认在第十行 )

!  :打开上一次的文件(!vim )

+/PATTERN  :让光标处于第一个被PATTERN匹配到的行行首

vim 编辑器有三种模式

命令模式:进去时默认的模式

功能:1.光标的移动  2.复制  3.删除  4.粘贴  5.其他操作

输入模式:在命令模式按i键可以进入输入模式

功能:编辑你的文件

末行模式:保存,查找替换,设置默认的参数等

命令模式的快捷键

快捷键说明

数字 + G

 跳转到数字行

G

  最后一行

1G

    第一行

gg

 第一行

w

 单词间跳转

5w

跳过五个单词

y

 复制

yy

 复制一行

yw

复制一个单词

10 yy

复制十行

p

在光标下一行粘贴(单词只能当前行)

P(大写)

 在光标上一行粘贴

u

撤回

ctrl +r

取消撤回

dd

剪切,删除

10  dd

  剪切十行

dw

剪切一个单词

ZZ

 保存退出

ZQ

 保存不退出

^

跳转到行首(跳转到第一个非空字符)

0

  跳转到行首

$

  跳转到行尾

end

 跳转到行尾

x

 剪切一个字符

~  

大小写转换

r

替换单个字符

R

 替换模式,可以一直替换

J

合并两行

输入模式:输入模式: 使 Vim 进行输入模式的方式是在命令模式状态下输入 i、I、a、A、o、O 等插入命令(各指令的具体功能如表 3 所示),当编辑文件完成后按 Esc 键即可返回命令模式。

快捷键功能描述
i在当前光标所在位置插入随后输入的文本,光标后的文本相应向右移动
I行首插入命令
o在光标所在行的下面插入新的一行。光标停在空行首,等待输入文本
O在光标所在行的上面插入新的一行。光标停在空行的行首,等待输入文本
a在当前光标所在位置之后插入随后输入的文本
A行尾插入命令

末行模式:

末行模式:文件中的指定内容执行保存、查找或替换等操作。使 Vim 切换到编辑模式的方法是在命令模式状态下按“:”(英文冒号)键,此时 Vim 窗口的左下方出现一个“:”符号,这是就可以输入相关指令进行操作了。

查找替换

通式:范围    s     /旧字符/新字符/修字符

范围:

范围说明
不写默认处理光标所在行
%全文
$最后一行
$-1倒数第二行
nn代表数字第n行
3-103-10行
.当前行
2, +32到5行

修饰符:
i    #忽略大小写

g   #全局替换,默认情况下,每一行只替换第一次出现

c    #全局替换,每次替换前询问

w   #保存

q    #退出

!   #强制

/  关键字区分大小写         #查找 关键字


配置文件定制vim的工作特性
Vim 启动时,会根据配置文件(.vimrc)来设置 Vim,因此我们可以通过此文件来定制适合自己的 Vim。

/etc/.vimrc #全局
~/.vimrc #个人

Vim 配置文件分为系统配置文件和用户配置文件:

1.系统配置文件位于 Vim 的安装目录(默认路径为 /etc/.vimrc);

2.用户配置文件位于主目录 ~/.vimrc,即通过执行 vim ~/.vimrc 命令即可对此配置文件进行合理修改。通常情况下,Vim 用户配置文件需要自己手动创建。

设置参数功能描述
set nu显示行号
set cul突出显示当前行。
set ai设置自动缩进,即每行的缩进同上一节相同。
set ts=4设置 Tab 键宽度为 4 个空格。

set  list

显示隐藏字符

 

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

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

相关文章

哈佛大学商业评论 --- 第三篇:真实世界中的增强现实

AR将全面融入公司发展战略! AR将成为人类和机器之间的新接口! AR将成为人类的关键技术之一! 请将此文转发给您的老板! --- 本文作者:Michael E.Porter和James E.Heppelmann 虽然物理世界是三维的,但大…

软件杯 深度学习中文汉字识别

文章目录 0 前言1 数据集合2 网络构建3 模型训练4 模型性能评估5 文字预测6 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 深度学习中文汉字识别 该项目较为新颖,适合作为竞赛课题方向,学长非常推荐&#xf…

代码随想录第30天|51. N皇后

51. N皇后 51. N 皇后 - 力扣(LeetCode) 代码随想录 (programmercarl.com) 这就是传说中的N皇后? 回溯算法安排!| LeetCode:51.N皇后_哔哩哔哩_bilibili 按照国际象棋的规则,皇后可以攻击与之处在同一行…

mysql+keepalive+lvs搭建的数据库集群实验

前提条件:准备5台计算机,且网络互通 1、客户端 yum groups -y install mariadb-client ip 192.168.0.5 2、lvs1 yum-y install ipvsadm keepalived ip 192.168.0.1 keepalivedvip 192.168.0.215 /etc/hosts 解析192.168.0.1 主机名 3、lvs2 yum-y i…

大数据实验三-HBase编程实践

目录 一.实验内容 二.实验目的 三.实验过程截图及说明 1、安装HBase 2、配置伪分布式模式: 3、使用hbase的shell命令来操作表: 4、使用hbase提供的javaAPI来编程实现类似操作: 5、实验总结及心得体会…

uniApp使用uview对vuex的二次封装实现全局变量

1、uni-app目根目录新建’/store/index.js’,并复制如下内容到其中 2、uni-app目根目录新建’/store/ u . m i x i n . j s ′ ,并复制如下内容到其中,由于 H X 某些版本的限制,我们无法帮您自动引入 " u.mixin.js&#xff0…

不堪大用的pow

【题目描述】 输出100~999中的所有水仙花数。若3位数ABC满足,则称其为水仙花 数。例如,所以153是水仙花数。 【题目来源】 刘汝佳《算法竞赛入门经典 第2版》习题2-1 水仙花数(daffodil) 题目很简单,…

指针的偏移遍历数组--指针和数组名的区别

1.指针取地址&#xff1a;可以是数组名&#xff0c;可以是数组首地址&arr[0] 2.指针偏移完后记得回到数组首地址 #include <stdio.h>int main(){int arr[3] {1,2,3};int *p;int i;p arr; // 数组名就是数组的首地址// p &arr[0] 数组的首地址就是首个元素…

二分答案跳石头游戏

步骤&#xff1a; 输入&#xff1a; 用户输入了三个整数&#xff0c;分别表示石头的总长度l&#xff0c;石头的数量n&#xff0c;以及最多可以撤去的石头数量m。 初始化石头位置数组&#xff1a; 创建一个长度为n2的数组arr&#xff0c;用于存储每块石头的位置。数组的第一项…

FreeRTOS作业day4

1.总结二进制信号量和计数型信号量的区别&#xff0c;以及他们的使用场景。 二进制信号量的数值只有0和1&#xff0c;用于共享资源的访问 计数型信号量的值一般是大于或者等于2&#xff0c;用于生产者和消费者模型 2.使用技术型信号量完成生产者和消费者模型实验。 void Sta…

使用 ChatGPT 集成精通高级 Excel(二)

原文&#xff1a;Mastering Advanced Excel - With ChatGPT Integration 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 第九章数据透视表 介绍 数据透视表是一种基于交互式工作表的表格&#xff0c;可以快速汇总大量数据&#xff0c;使用您选择的格式和计算方法。它…

AI论文速读 | 2024[WWW]不只是路线:联合 GPS 和路线建模的轨迹表示学习

论文标题&#xff1a;More Than Routing: Joint GPS and Route Modeling for Refine Trajectory Representation Learning 作者&#xff1a;Zhipeng Ma&#xff08;麻志鹏&#xff09;, Zheyan Tu, Xinhai Chen, Yan Zhang, Deguo Xia, Guyue Zhou, Yilun Chen, Yu Zheng&…

基于springboot实现影城管理系统项目【项目源码+论文说明】

基于springboot实现影城管理系统演示 摘要 随着现在网络的快速发展&#xff0c;网上管理系统也逐渐快速发展起来&#xff0c;网上管理模式很快融入到了许多生活之中&#xff0c;随之就产生了“小徐影城管理系统”&#xff0c;这样就让小徐影城管理系统更加方便简单。 对于本小…

面试官:为什么忘记密码要重置,而不是告诉我原密码?

前端训练营&#xff1a;1v1私教&#xff0c;终身辅导计划&#xff0c;帮你拿到满意的 offer。 已帮助数百位同学拿到了中大厂 offer。欢迎来撩~~~~~~~~ Hello&#xff0c;大家好&#xff0c;我是 Sunday。 最近有个同学在面试中遇到了一个很有意思的问题&#xff0c;我相信大多…

基于深度学习的铁轨缺陷检测系统(网页版+YOLOv8/v7/v6/v5代码+训练数据集)

摘要&#xff1a;本文深入研究了基于YOLOv8/v7/v6/v5的铁轨缺陷检测系统。核心技术上&#xff0c;文章采用了最先进的YOLOv8&#xff0c;并整合了YOLOv7、YOLOv6、YOLOv5算法&#xff0c;进行了性能指标的对比分析。文中详细阐述了国内外铁轨缺陷检测的研究现状、数据集处理方法…

【Linux】error: Failed to initialize NSS library

【Linux】error: Failed to initialize NSS library 原因&#xff1a;卸载了sqlite [rootnode1 ~]# rpm -qa|grep sql sqlite-3.7.17-8.el7.x86_64 rpm -e --nodeps sqlite-3.7.17-8.el7.x86_64 百度搜索 sqlite-3.7.17-8.el7.x86_64 下载此rpm包 cd /usr/local/download …

【C++第三阶段】STL初识

以下内容仅为当前认识&#xff0c;可能有不足之处&#xff0c;欢迎讨论&#xff01; 文章目录 STL初步认识vector存放内置数据类型vector存放自定义数据类型vector 嵌套容器 STL初步认识 回顾时&#xff0c;需要回答自己 ①STL是什么&#xff1f; ②STL怎么用&#xff1f; …

【简单讲解下WebSocket】

&#x1f308;个人主页:程序员不想敲代码啊 &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共…

【DA-CLIP】test.py解读,调用DA-CLIP和IRSDE模型复原计算复原图与GT图SSIM、PSNR、LPIPS

文件路径daclip-uir-main/universal-image-restoration/config/daclip-sde/test.py 代码有部分修改 导包 import argparse import logging import os.path import sys import time from collections import OrderedDict import torchvision.utils as tvutilsimport numpy as…

ruoyi-nbcio-plus基于vue3的flowable流程元素选择区面板的升级修改

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码&#xff1a; https://gitee.com/nbacheng/ruoyi-nbcio 演示地址&#xff1a;RuoYi-Nbcio后台管理系统 http://122.227.135.243:9666/ 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码&#xff1a…