Linux文件与内容查阅、归档压缩

#Linux系统基础在这里插入图片描述

文件与内容查找、归档压缩

find命令搜索文件

grep对文件的内容进行搜索

tar命令进行文件的压缩与解压缩

一、文件的查找

格式实例:find . -name "123.txt"说明
find起始目录查找类型查找条件
./ 或 .-name“123.txt”在当前目录中查找哦名为123.txt的文件或文件夹
*代表任意字符串/opt/-name“pass*”在opt目录下查找以pass开头的文件和文件夹
[ ]或,里面的任何一个都要匹配./ 或 .-name“[h]*”在当前文件夹内查找以h开头的 文件、文件夹 | 可以不用
| 代表 或(加上大括号是代表单个字符的或).-name“[h|f]*”在当前文件夹内查找以h或f开头的
(字符串1 | 字符串2 )用圆括号是字符串的或
.-name“[a-z]*”在当前文件夹内查找以小写字母开头的
.-name“[A-Z]*”找大写字母开头的
.-name“[0-9]*”找数字开头的(0-9开头的)
^表示非.-name“[ ^ A-Z]*”注意^的两边没有空格,表示不是以A-Z开头的
?代表单个任意字符.-name“h?llo*”找第1个是h第2个是任意字符,后面是llo开头的
.-name‘\\’查找包含特殊字符 \ 的文件,注意用单引号,这里需要两个\,第一个是转义符,表示后面那个\是一个字符
find.-perm777查找权限为rwx rwx rwx的文件
find . -path "./test" -prune -o -name "hello"查找当前目录中,除了test目录的其他所有目录中,包含hello的文件夹或文件
.-usermary查找所有者为mary的文件或文件夹
.-groupdev查找属于dev组的文件或文件夹
.-mtime-3查找最近3天内更新过的文件或文件夹
.-mtime+3查找3天前更新过的问文件或文件夹
.-newer123.txt查找比123.txt新的文件夹
.! -newer123.txt查找比123.txt旧的文件
.-typed查找当前目录下的所有文件夹.
d:目录,I:软连接文件,f:普通文件(文本文件、可执行文件等),c:字符设备(终端、磁带机等),b:块设备(光盘、硬盘等)
.-size602c查找当前目录下文件大小为602字节的文件
c:byte,k,M,G
.-size+602c查找大于602字节的文件
.-name “hello*”-exec ls -l {} ;查找当前目录下所有以hello开头的文件,并将其细节显示出来,如果查找出了目录,那么注意会被ls -l显示出来
.-name “hello*”-exec rm {} ;查找当前目录下所有以hello开头的文件并将其删除
.-name “hello*”| xargs ls -l查找当前目录下所有以hello开头的文件并将其细节显示出来,| 称之为管道,前面的输出就是后面的输入

二、命令执行内容的查找过滤

功能项命令说明
grepgrep “root” /etc/passwd查找 /etc/passwd文件中包含root的行
grep -n “root” /etc/passwd查找 /etc/passwd文件中包含root的行,并输出行号
grep “^ma” /etc/passwd查找 /etc/passwd文件中 以 ma 为 首 的行
grep “ma$” /etc/passwd查找 /etc/passwd文件中 以 ma 为 尾 的行
grep “1” /etc/passwd查找 /etc/passwd文件中 以 r或d 为 首的行
grep -v “内容”排除包含“内容”的行
ls | grep test从ls的输出中过滤出包含test的文件名
grep -r games /etc在/etc 目录下(包括所有子目录)查找所有包含games的文件
统计ls /var/log | grep log | wc -l显示在/var/log 中,名字有log的文件数量有几个
wcwc-l-l:行数;-c比特数;-w字数;如果不指定参数则统计所有信息

xargs命令

find . -name “*” | xargs grep word 遍历某个目录下所有的文件中包含word的文件

  • xargs(英文全拼: extended arguments)是给命令传递参数的一个过滤器,也是组合多个命令的一个工具。

  • xargs 可以将管道或标准输入(stdin)数据转换成命令行参数,也能够从文件的输出中读取数据。

  • xargs 也可以将单行或多行文本输入转换为其他格式,例如多行变单行,单行变多行。

  • xargs 默认的命令是 echo,这意味着通过管道传递给 xargs 的输入将会包含换行和空白,不过通过 xargs 的处理,换行和空白将被空格取代。

  • xargs 是一个强有力的命令,它能够捕获一个命令的输出,然后传递给另外一个命令。

三、文件内容的查找

  • cat 由第一行开始显示文件内容
  • tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
  • nl 显示的时候,顺道输出行号!
  • more 一页一页的显示文件内容
  • less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
  • head 只看头几行
  • tail 只看尾巴几行
  • od 以二进制的方式读取文件内容!

1.直接查阅文件内容

可以使用cat/tac/nl 这几个指令

1.cat(concatenate)
选项与参数:
-A :相当于 -vET 的整合选项,可列出一些特殊字符而不是空白而已;
-b :列出行号,仅针对非空白行做行号显示,空白行不标行号!
-E :将结尾的断行字符 $ 显示出来;
-n :打印出行号,连同空白行也会有行号,与 -b 的选项不同;
-T :将 [tab] 按键以 ^I 显示出来;
-v :列出一些看不出来的特殊字符

范例一:检阅 /etc/issue 这个文件的内容
cat /etc/issue
范例二:承上题,如果还要加印行号
cat -n /etc/issue
范例三:将 /etc/man_db.conf 的内容完整的显示出来(包含特殊字符)
cat -A /etc/man_db.conf
2.tac (反向列示)

与cat命令完全相反,文件的内容会从最后一行开始反向输出到屏幕

3.nl (添加行号打印)
nl 【选项参数】/文件路径/文件名
选项与参数:
-b :指定行号指定的方式,主要有两种:
 -b a :表示不论是否为空行,也同样列出行号(类似 cat -n)-b t :如果有空行,空的那一行不要列出行号(默认值)-n :列出行号表示的方法,主要有三种:
 -n ln :行号在屏幕的最左方显示;
 -n rn :行号在自己字段的最右方显示,且不加 0 ;
 -n rz :行号在自己字段的最右方显示,且加 0 ;
-w :行号字段的占用的字符数。

2.可翻页显示内容

1. more (一页一页翻动)
[root@study ~]# more /etc/man_db.conf
#
#
# This file is used by the man-db package to configure the man and cat paths.
# It is also used to provide a manpath for those without one by examining
# their PATH environment variable. For details see the manpath(5) man page.
#
.....(中间省略).....
--More--(28%) <== 重点在这一行喔!你的光标也会在这里等待你的指令
  • 如果文件内容比较多,就会出现上述情况,在最后一行会显示当前文件内容的显示百分比 ,而且在最后一行可以输出命令,进行下一步操作
    • 空格键 (space):代表向下翻一页;
    • Enter :代表向下翻『一行』;
    • /字符串 :代表在这个显示的内容当中,向下搜寻『字符串』这个关键词;【在文件内部查看信息时,搜索关键字也是这样的】
    • :f :立刻显示出文件名以及目前显示的行数;
    • q:代表立刻离开 more ,不再显示该文件内容。
    • b 或 [ctrl]-b:代表往回翻页,不过这动作只对文件有用,管道无用。
    • q:离开
2.less (一页一页翻动)
[root@study ~]# less /etc/man_db.conf
#
#
# This file is used by the man-db package to configure the man and cat paths.
# It is also used to provide a manpath for those without one by examining
# their PATH environment variable. For details see the manpath(5) man page.
#
.....(中间省略).....
: <== 这里可以等待你输入指令!

less 的用法比起 more 又更加的有弹性,在 more 的时候,我们并没有办法向前面翻,只能往后面看,但若使用了 less 时,就可以使用 pageuppagedown 等按键的功能来往前往后翻看文件了,除此之外,在 less 里头可以拥有更多的搜索功能

  • 空格键 :向下翻动一页;
  • [pagedown]:向下翻动一页;
  • [pageup] :向上翻动一页;
  • /字符串 :向下搜寻『字符串』的功能;
  • ?字符串 :向上搜寻『字符串』的功能;
  • n :重复前一个搜寻 (与 / 或 ? 有关!)
  • N :反向的重复前一个搜寻 (与 / 或 ? 有关!)
  • g :前进到这个资料的第一行去;
  • G :前进到这个数据的最后一行去 (注意大小写);
  • q :离开 less 这个程序;

⭐️⭐️ 可以发现,less 使用的画面与环境与 man page 非常的类似,因为 man 这个指令就是呼叫 less 来显示说明文件的内容的

3.局部截取内容

1.head (取出前面几行)
  • 输出指定前几行的内容
head -n [行数] 文件

-n 选项后面的参数较有趣,如果接的是负数,例如上面范例的-n -100 时,代表第100列前的所有行数, 但不包括后面 100 行

2.tail (取出后面几行)
  • 取出最后n行的内容
tail -n [行数] 文件   
范例一:如果不知道/etc/man_db.conf 有几行,却只想列出 100 行以后的数据时?
[root@study ~]# tail -n +100 /etc/man_db.conf
  • 动态探测文件内容
    • 如果某个文件是在动态变化的,比如日志文件,就可以使用该命令,动态监测日志的变化
tail -f 文件

4.阅读非纯文本档: od

由于执行档通常是 binary file ,使用上头提到的指令来读取他的内容时, 确实会产生类似乱码的数据

[root@study ~]# od [-t TYPE] 文件
选项或参数:
-t :后面可以接各种『类型 (TYPE)』的输出,例如:
   a :利用默认的字符来输出;
   c :使用 ASCII 字符来输出
   d[size] :利用十进制(decimal)来输出数据,每个整数占用 size bytes ;
   f[size] :利用浮点数(floating)来输出数据,每个数占用 size bytes ;
   o[size] :利用八进制(octal)来输出数据,每个整数占用 size bytes ;
   x[size] :利用十六进制(hexadecimal)来输出数据,每个整数占用 size bytes ;

范例一:请将/usr/bin/passwd 的内容使用 ASCII 方式来展现!
od -t c /usr/bin/passwd
范例二:请将/etc/issue 这个文件的内容以 8 进位列出储存值与 ASCII 的对照表
od -t oCc /etc/issue

四、修改文件时间或新建文件touch

文件的时间是很重要的,因为,如果文件的时间误判的话,可能会造成某些程序无法顺利的运作

在使用ls -l --time=[参数]命令时,可以显示文件的时间信息,有关时间参数,主要有三种:

  • modification time (mtime)
    当该文件的内容数据变更时,就会更新这个时间!内容数据指的是文件的内容,而不是文件的属性或权限

    在默认的情况下,ls 显示出来的是该文件的 mtime

  • status time (ctime)
    当该文件的==状态 (status)==改变时,就会更新这个时间,例如文件的权限与属性被更改时,都会更新这个时间,

    ⭐️值得注意的是:如果我们复制一个文件,即使是复制文件的所有属性,也没有办法使得ctime不变,应为ctime就是记录文件最新状态的时间属性

  • access time (atime)
    该文件的内容被取用时,就会更新这个读取时间 (access)。举例来说,我们使用 cat 去读取/etc/man_db.conf , 就会更新该文件的 atime 了。

使用touch命令可以修改文件的时间属性,如果命令的对象是一个不存在的文件,则会创建一个以该名字命名的空文件

touch [-acdmt] 文件
选项与参数:
-a :仅修订 access time;
-c :仅修改文件的时间,若该文件不存在则不建立新文件;
-d :后面可以接欲修订的日期而不用目前的日期,也可以使用 --date="日期或时间"
-m :仅修改 mtime ;
-t :后面可以接欲修订的时间而不用目前的时间,格式为[YYYYMMDDhhmm]


范例:将 bashrc 日期改为 2014/06/15 2:02
touch -t 201406150202 bashrc
范例:修bashrc 文件,将日期调整为两天前
touch -d "2 days ago" bashrc

五、文件归档压缩

归档:将多个文件整理为一个文件≠压缩

tar:tape archive磁带档案卷

功能项命令说明
tar 归档tar -cvf hello.tar hello,txt
或者tar -cvf hello.tar /opt/heheda/*
将hello.txt归档为hello.tar文件
-c:创建一个新的文件
v:显示归档过程细节(可以不写,如不写就不会显示归档过程)
f:使用归档文件或 ARCHIVE 设备
tar -tf test.tar将归档文件test.tar 中的文件显示出来
tar -xvf tset.tar提取归档文件中的内容
gzip压缩gzip hello.tar将hello.tar文件进行压缩
gzip -d hello.tar.gz解压缩文件成tar.gz
归档压缩
加-z
tar -zcvf hello.tar.gz hello.txt将hello.txt归档压缩为hello.tar.zip
tar -zxvf hello.tar.gz解压缩hello.tar.gz文件
tar -zxvf 【压缩包文件名.tar.gz】 -C 【路径】解压到指定目录
zip/unzipzip hello.zip hello.txt压缩hello.txt
zip -r test.zip /opt/test递归压缩,将/opt/test目录压缩
unzip -v hello.zip查看压缩文件hello.zip中的文件信息
unzip hello.zip解压缩

  1. r|d ↩︎

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

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

相关文章

联想正式发布全栈算力基础设施新品,加速筑基AI 2.0时代

6月14日&#xff0c;以“异构智算 稳定高效”为主题的联想算力基础设施新品发布会在北京成功举办。 据「TMT星球」了解&#xff0c;在与会嘉宾和合作伙伴的见证下&#xff0c;联想正式发布率先搭载英特尔至强 6能效核处理器的联想问天WR5220 G5、联想ThinkSystem SR630 V4、联…

STM32学习笔记(一)--时钟树详解

&#xff08;1&#xff09;时钟概述&#xff1b;时钟是具有周期性的脉冲信号&#xff0c;最常用的是占空比50%的方波。&#xff08;时钟相当于单片机的脉搏&#xff1b;STM32本身非常复杂&#xff0c;外设非常的多&#xff0c;为了保持低功耗工作&#xff0c;STM32 的主控默认不…

ChatTTS-WebUI测试页面项目

概述 分享可以一个专门为对话场景设计的文本转语音模型ChatTTS&#xff0c;例如LLM助手对话任务。它支持英文和中文两种语言。最大的模型使用了10万小时以上的中英文数据进行训练。在HuggingFace中开源的版本为4万小时训练且未SFT的版本. 该模型能够预测和控制细粒度的韵律特…

idea的java代码引用proto文件报错

尝试了四种办法&#xff0c;感觉第一个和第二个比较有效。 前提是要先安装了 proto 的idea插件。 1.修改idea配置文件编译大文件的限制 proto生成的源文件有数万行&#xff0c;源文件过大导致 idea 拒绝编译过大的源文件。 解决方案&#xff1a; 如果 protoc 生成的 class 文…

智能合约之路:Web3时代的商业革新之道

随着区块链技术的日益成熟和普及&#xff0c;智能合约作为其重要应用之一&#xff0c;正逐渐引领着我们进入一个全新的商业时代&#xff0c;即Web3时代。在这个时代&#xff0c;智能合约不仅改变着商业交易的方式&#xff0c;更为商业模式带来了颠覆性的革新。本文将深入探讨智…

二分【3】 旋转数组

目录 旋转数组 旋转数组找最小值 旋转数组找指定值 严格递增序列 递增序列 旋转序列找中位数&#xff1a; 旋转数组 旋转数组找最小值 思路 #include <iostream> #include <vector> #include <cmath> #include <string> #include <cstrin…

MyBatis的逆向工程详细步骤操作

1. MyBatis的逆向工程详细步骤操作 文章目录 1. MyBatis的逆向工程详细步骤操作2. 逆向工程配置与生成2.1 MyBatis3Simple&#xff1a;基础版&#xff0c;只有基本的增删改查2.1.1 第一步&#xff1a;在pom.xml 中添加逆向工程插件2.1.2 第二步&#xff1a;配置 generatorConfi…

(虚拟机)VMware软件的安装及Ubuntu系统安装

一、VMware软件的安装 软件下载&#xff0c;可以自己找或者百度网盘下载&#xff1a; 通过百度网盘分享的文件&#xff1a;ubuntu16…等2个文件 链接:https://pan.baidu.com/s/1VEnZKY9DJ1T1vC3ae20gKQ 提取码:11b6 复制这段内容打开「百度网盘APP 即可获取」 1、解压VMwar…

探索大数据在信用评估中的独特价值

随着我国的信用体系越来越完善&#xff0c;信用将影响越来越多的人。现在新兴的大数据信用和传统信用&#xff0c;形成了互补的优势&#xff0c;大数据信用变得越来越重要&#xff0c;那大数据信用风险检测的重要性主要体现在什么地方呢?本文将详细为大家介绍一下&#xff0c;…

深度学习 --- stanford cs231学习笔记三(卷积神经网络CNN)

卷积神经网络CNN 1&#xff0c;有效的利用了图像的空间信息/局部感受野 全连接神经网络中的神经是由铺平后的所有像素计算决定。 由于计算时是把图像的所有像素拉成了一条线&#xff0c;因此在拉伸的同时也损失了图像像素之间固有的空间信息。 卷积层中的神经只由5x5x3(假设fil…

4-字符串-11-反转字符串-LeetCode344

4-字符串-11-反转字符串-LeetCode344 LeetCode: 题目序号344 更多内容欢迎关注我&#xff08;持续更新中&#xff0c;欢迎Star✨&#xff09; Github&#xff1a;CodeZeng1998/Java-Developer-Work-Note 技术公众号&#xff1a;CodeZeng1998&#xff08;纯纯技术文&#xff0…

基于Python+OpenCV+SVM车牌识别系统(GUI界面)【W3】

简介&#xff1a; 随着交通管理的日益复杂化和智能化需求的增加&#xff0c;车牌识别系统在安防、智慧交通管理等领域中扮演着重要角色。传统的车牌识别系统主要基于图像处理和模式识别技术&#xff0c;随着计算机视觉技术的发展&#xff0c;基于Python、OpenCV和机器学习算法的…

微服务之网关

1、什么是微服务网关&#xff1f; 微服务网关是一种用于管理和调度微服务的工具或服务&#xff0c;它在微服务架构中扮演着关键角色。以下是关于微服务网关的清晰概述&#xff1a; 概念定义&#xff1a; 微服务网关是微服务架构中的前端门户&#xff0c;它提供了一个统一的入…

Android中的消息异步处理机制及实现方案

基本介绍 当我们需要执行复杂的计算逻辑&#xff0c;网络请求等耗时操作时&#xff0c;服务器可能不会立即响应请求&#xff0c;如果不将这类操作放在子线程中运行&#xff0c;就会导致主线程被阻塞住&#xff0c;从而影响用户的使用体验如果想要更新应用程序中的UI控件&#…

JDK17 你的下一个白月光

JDK版本升级的非常快&#xff0c;现在已经到JDK20了。JDK版本虽多&#xff0c;但应用最广泛的还得是JDK8&#xff0c;正所谓“他发任他发&#xff0c;我用Java8”。 但实际情况却不是这样&#xff0c;越来越多的java工程师拥抱 JDK17&#xff0c;于是了解了一下 JDK17新语法&a…

亲测几十款随身wifi,全网最全随身WiFi避坑指南!最值得买的随随身wifi品牌推荐!

关于随身wifi我认为我是比较有发言权的&#xff0c;历经三年测评了几十种随身wifi&#xff0c;便宜的贵的&#xff0c;大牌的小厂的&#xff0c;电池款USB款等各种随身wifi。根据测试结果以及通过电商平台搜索、粉丝反馈、社交平台评价等综合测评结果。今天就跟大家分享一下&am…

如何打造电力全域知识中心:知识库融合知识图谱

前言 随着人工智能技术的进步&#xff0c;智能化成为产业转型升级的关键抓手&#xff0c;国家电网在“十四五”发展规划中提出加快公司数字化转型进程、推进能源互联网企业建设的要求。知识管理能力建设作为强化企如何打造电力全域知识中心&#xff1a;知识库融合知识图谱业运…

5G消息 x 文旅 | 一站式智慧文旅解决方案

5G消息 x 文旅 | 一站式智慧文旅解决方案 文旅 x 5G 消息将进一步强化资源整合&#xff0c;满足游客服务需求、企业营销需求、政府管理需求&#xff0c;推进文化旅游项目的智慧化、数字化&#xff0c;增强传播力、竞争力和可持续性。5G 消息的“原生入口”、“超强呈现”、“智…

matlab 路面点云标线提取

目录 一、算法原理二、代码实现三、结果展示四、参考链接本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫与GPT。 一、算法原理 算法来自本人自创。实现效果如下图所示,具体实现原理看代码即可。 二、代码实现 clc; cle…

构建旧物回收系统的决策支持系统

内容概要&#xff1a; 在旧物回收系统中&#xff0c;构建一个有效的决策支持系统对于提高管理效率、优化资源配置具有重要意义。本文将探讨如何构建旧物回收系统的决策支持系统&#xff0c;并分析其如何辅助管理者做出更科学的决策。 一、决策支持系统的定义与功能 决策支持…