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 ↩︎

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CIC-DDoS2019-Detection

CIC-DDoS2019 对CIC-DDoS2019数据集进行检测,本文提供了如下内容&#xff1a; 数据清洗与合并机器学习模型深度学习模型PCA,t-SNE分析数据&#xff0c;结果可视化 代码地址&#xff1a;[daetz-coder](https://github.com/daetz-coder/CIC-DDoS2019-Detection) 1、数据集加载…

echart在线图表demo下载直接运行

echart 全面的数据可视化图表解决方案 | 折线图、柱状图、饼图、散点图、水球图等各类图表展示 持续更新中 三色带下表题速度仪表盘 地图自定义图标 动态环形图饼状图 动态水波动圆形 多标题指针仪表盘 温度仪表盘带下标题 横向柱状图排名 环形饼状图 双折线趋势变化

排序——快速排序

目录 思想 演示 代码实现 解释 优化 三数取中 小区间优化 补充 挖坑法 双指针法 非递归实现 思想 快速排序是一种二叉树结构的交换排序方法。 基本思想为&#xff1a;任取待排序元素序列中的某元素作为基准值&#xff0c;按照该排序码将待排序集合分割成两子序列&am…

​【数据结构与算法】冒泡排序:简单易懂的排序算法解析

&#x1f493; 博客主页&#xff1a;倔强的石头的CSDN主页 &#x1f4dd;Gitee主页&#xff1a;倔强的石头的gitee主页 ⏩ 文章专栏&#xff1a;《数据结构与算法》 期待您的关注 ​ 目录 一、引言 二、冒泡排序原理 &#x1f343;基本思想&#xff1a; &#x1f343;算法…

自杀行为的神经生物学认识

自杀行为的神经生物学认识 编译 李升伟 隐藏在自杀行为背后的大脑生化机制正引领人类对自杀的认识从黑暗步入光明。科学家希望未来这些机制能带来更好的治疗和预防策略。 基斯 • 范希林根&#xff08;Cornelis Van Heeringen&#xff09;第一次遇见瓦莱丽&#xff08; Va…

大模型技术工程师:抓住时代机遇,成为行业精英_

伴随AI大模型的火热&#xff0c;中国科技大厂们正在掀起一场「跑步AI化」的风暴。从顶层战略到业务线重构&#xff0c;AI无疑已成为大厂们押注未来的新故事。 大模型时代已经到来 大模型已成为全球竞争热点&#xff0c;一个大模型时代已经到来。 大模型具备三个特点&#xf…

新手一次学会SpringBoot项目部署 + Docker中运行Samba服务设置共享目录

SpringBoot项目部署 1.IDEA打包&#xff0c;在IDEA终端&#xff0c;输入mvn clean package 2.将项目target中的jar包放入linux目录 3.运行jar包 前台运行&#xff08;直接显示输出&#xff09;&#xff1a; java -jar data-transport-server-0.0.1-SNAPSHOT.jar后台运行&…

鸿蒙开发网络管理:【@ohos.net.socket (Socket连接)】

Socket连接 说明&#xff1a; 本模块首批接口从API version 7开始支持。后续版本的新增接口&#xff0c;采用上角标单独标记接口的起始版本。 导入模块 import socket from ohos.net.socket;socket.constructUDPSocketInstance constructUDPSocketInstance(): UDPSocket 创建…

已解决:geecg Column ‘id‘ in order clause is ambiguous

报错&#xff1a;Column id in order clause is ambiguous&#xff1b; MyBatis关联查询&#xff0c;相同字段名冲突&#xff0c;sql语句已经使用别名但仍然报错。 分析&#xff1a;写mapper映射文件时&#xff0c;在写到一对一关联&#xff0c;一对多关联时&#xff0c;由于两…

从11个视角看全球Rust程序员4/4:深度解读JetBrains最新报告

讲动人的故事,写懂人的代码 8 Rust程序员最喜欢用什么工具调试程序? 用println!或dbg!宏来调试一下 2022年:55%2023年:55%在IDE里玩玩UI调试 2022年:27%2023年:29%在控制台里调试调试 2022年:11%2023年:10%不调试,任性 2022年:5%2023年:6%有其他奇思妙想 2022年:1%…

骁龙662_高通SM6115主要参数_高通模块方案定制

骁龙662&#xff08;SM6115&#xff09;采用了全新的44 Kryo 260 CPU架构&#xff0c;由四核Cortex-A73(高达2.0 GHz)和四核Cortex-A53(高达1.8 GHz)组成。这种架构的设计使得骁龙662在性能上相较于上一代产品有了显著的提升&#xff0c;为用户提供了更快的运行速度和更流畅的使…

安卓TextView控件实现下划线

效果展示 这里需要使用到LayerDrawable&#xff0c;对应于<layer-list>标签。在drawable目录下新建一个text_underline.xml文件&#xff0c;text_underline.xml的代码如下&#xff1a; <?xml version"1.0" encoding"utf-8"?> <layer-lis…

TS安装及JS转换

第一步&#xff1a;先安装好node.js&#xff0c;可以在官方下载或我们提供压缩包直接安装好node.js Node.js的官方网站是下载 | Node.js 中文网 下载对应系统的版本。我们提供是64位。安装好后调出dos命名&#xff0c;输入 npm确认下有没有安装好。 第二步&#xff1a;安装cnpm…

机器学习笔记——无监督学习下的k均值聚类

k均值聚类算法原理 目标是将样本分类 原理&#xff1a;首先随机选择k何点作为中心&#xff0c;然后计算每一个点到中心的聚类&#xff0c;然后计算到每个中心的距离&#xff0c;选择到中心最短距离的那个中心所在的类进行归类&#xff0c;然后更新中心点&#xff0c;一直重复。…

vivado PKGPIN_NIBBLE

描述 PKGPIN_NIBBLE是PKGPIN_BYTEGROUP的一部分。参见PKGPIN_BYTEGROUP&#xff0c; 第122页了解该对象的描述。 相关对象 PKGPIN_BYTEGROUP和PKGPIN_NIBBLE与IO_BANK、PACKAGE_PIN和 PORT&#xff0c;如前所述。此外&#xff0c;每个PKGPIN_NIBBLE都与 Xilinx设备。您可以使用…

【触想智能】工业显示器定制时需要注意的重点问题

随着工业自动化的不断发展&#xff0c;工业显示器越来越重要。不同于普通的娱乐和商业应用&#xff0c;工业显示器需要更加耐用、可靠、安全&#xff0c;并且满足特定的工业环境和应用需求。 因此&#xff0c;仔细考虑和选择适合自己的工业显示器至关重要。本文将介绍一些您在进…

React 中的 ErrorBoundary

在 React 中&#xff0c;如果不做任何控制&#xff0c;当组件出现异常时&#xff0c;React 渲染就会停止&#xff0c;页面出现白屏&#xff0c;这种体验很不好。例如当用户输入某些非法数据&#xff0c;而前端都没有进行校验&#xff0c;页面出现白屏。这种情况下&#xff0c;最…

CUDA C权威编程指南 第4章 全局内存

一、CUDA内存模型概述 1. CUDA内存模型 对于程序员来说&#xff0c;一般有两种类型的存储器&#xff1a; 可编程的&#xff1a;你需要显式地控制哪些数据存放在可编程内存中 不可编程的&#xff1a;你不能决定数据的存放位置&#xff0c;程序将自动生成存放位置以获得良好…

基于SpringBoot+Vue会所产后护理系统设计和实现

基于SpringBootVue会所产后护理系统设计和实现 &#x1f345; 作者主页 网顺技术团队 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; &#x1f345; 文末获取源码联系方式 &#x1f4dd; &#x1f345; 查看下方微信号获取联系方式 承接各种定制系统 &#…

179海关接口源码,跨境报关商城+多平台搭建+多终端支持

在跨境贸易中&#xff0c;报关是一个非常重要的环节。而179海关接口源码提供了一种方便快捷的方式来实现跨境报关的功能。它还支持多平台搭建和多终端支持&#xff0c;让整个报关流程更加高效和便捷。 1. 179海关接口源码的功能 179海关接口源码提供了多种功能&#xff0c;其…