Linux操作系统使用及C高级编程-D4Linux shell命令(文件搜索、文件处理、压缩解压)

news2024/11/24 3:27:55

查看文件相关命令

cat

        cat file:将文件内容输出

        cat:等待输入,在屏幕上输入什么,就输出什么

tac

        cat file:与cat相反,将文件内容从后往前输出

more

        more file:在屏幕上显示一页的文件内容,若想继续显示可按回车键

 less

        less file:在屏幕上显示一页的文件内容,使用上下键操纵显示内容,按q结束。与more不同是仅显示一页内容

head

        显示前十行

硬链接和软链接

 硬链接可以作备份使用,软连接可以作文件别名使用

 ls -i file:查看文件的inode号

 ln

ln -s target link_name

        -s:创建软链接,若没有则默认创建硬链接(和目标文件具有相同的inode)

        target:目标文件

        link_name:链接文件名

文件搜索相关命令

文件名查找find

        find [起始目录] 寻找条件 操作

        find . -name "file":在当前目录下寻找名字叫file的文件

        find /home "file":在home目录下寻找file文件

         按普通文件/链接文件查找

         与或非

 找到名字不是file的文件,并执行rm操作

 文件内容查找grep

 在当前目录下查找,忽略大小写,显示行号

 which

定位命令存在何处

 whereis

相比较which,可显示源码、man手册等的位置

文件处理相关命令

剪切文件内容cut

 在/etc/passwd中查找linux行的内容,并通过管道输出给cut命令,cut使用-c 1取出第一个字符l

 

 取前三个字符也可用:1-3,从头取到尾端:1-,从头取到5:-5

 以字符linux为分隔符,取出第一段,第二段,第一二段

查看并修改文件中的内容sed

打印文件中内容1-4行:sed '1,4p' file

删除文件第一行:sed -i '1d' file

删除文件最后一行:sed -i '$d' file

往文件最后一行追加hi:sed -i '$ahi' file

将文件中的linux换成Linux:sed -i 's/linux/Linux/g' file

        其中/g的作用是全部替换,不加则是只替换第一个

替换20-34行的文件内容Linux为Lee:sed -i '20,34s/Linux/Lee/g' file

文件内容行操作awk

 pattern是命令

打印完整记录

 打印第一列

  打印第一二列

 打印第一列,并显示打印出列的有多少列

打印最后一列

 awk是以空行作为分割符,若想指定分割符,可使用-F命令,下图若不指定以:为分割符则会打印全部内容,而不是第一列

 判断第一列中是否有tftp,若有,则全部打印

直接将第一列赋值为tftp,并打印

解压缩相关命令

 gzip和gunzip

将一个文件压缩和解压缩.gz文件

缺点是:没有归档功能,只能一次压缩或者解压缩一个文件

 而看下图的命令,是对文件分别压缩

下图中表明,如果是一个目录则无法进行压缩 

 bzip和bunzip

zip和unzip

 使用方式,可对多个文件一起归档压缩

 解压缩

 使用最多tar

 ​​​​​​​​​​​​​​​​​​​​​​

 使用-cf是进行归档成指定文件名

 使用-cjf命令将文件归档压缩为test.tar.bz2文件,使用-czf同样的道理

 对test.tar.bz2进行解压缩​​​​​​​​​​​​​​​​​​​​​​​​​​​​

 对test.tar.gz进行解压缩

 记住:tar就是使用xvf,tar.bz2就是使用xvjf,tar.gz就是使用xvzf

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

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

相关文章

C语言从文件 D://test.txt 读取字符串,将字符串中所有的大写字符改为小写字母并写回到源文件中

完整代码&#xff1a; /*从文件 D://test.txt 读取字符串&#xff0c;将字符串中所有的大写字母改为小写字母并写回 到源文件中*/ #include<stdio.h>//将字符串中所有的大写字母改为小写字母 void func(char *buff){while (*buff!\0){if (*buff>A&&*buff<…

客户下单时如何自动匹配到最近的门店

有些商家有多个门店&#xff0c;当客户下单时&#xff0c;希望能够将客户下的订单分配给最近的门店。下面就具体介绍一下在采云小程中是如何实现的。 首先&#xff0c;为了简便起见&#xff0c;请确定门店高级设置保持着默认设定。因为单独的商品管理模式以及独享的商品信息模…

使用GPT-4训练数据微调GPT-3.5 RAG管道

原文&#xff1a;使用GPT-4训练数据微调GPT-3.5 RAG管道 - 知乎 OpenAI在2023年8月22日宣布&#xff0c;现在可以对GPT-3.5 Turbo进行微调了。也就是说&#xff0c;我们可以自定义自己的模型了。然后LlamaIndex就发布了0.8.7版本&#xff0c;集成了微调OpenAI gpt-3.5 turbo的…

线程池参数该怎么配置?这可能是为数不多的好答案

前言 CPU 密集型 CPU 核数 1 IO 密集型 CPU 核数 * 2 相信这个公式可谓是线程池八股文中老生常谈的万能公式了&#xff0c;但现实却很骨感&#xff0c;我之前有个系统就是按照这个公式算出来的参数去配置的。结果效果并不好&#xff0c;甚至让下游系统直呼受不了。这个东西…

清华镜像源地址,适用于pip下载速度过慢从而导致下载失败的问题

清华地址 https://pypi.tuna.tsinghua.edu.cn/simple下载各种各样的包的指令模板 pip install XXX -i https://pypi.tuna.tsinghua.edu.cn/simple这样就行了&#xff0c;XXX代表的是你将要下载的包名称。 比如&#xff1a; pip install opencv-python -i https://pypi.tuna.…

数据结构-二叉树的前、中、后序遍历

目录 1. 二叉树的遍历 1.1 前序 1.2 中序 1.3 后序 1.4 遍历的复杂度 2.二叉树节点个数及高度的计算 2.1 二叉树节点个数 2.2 二叉树叶子节点的个数 2.3 二叉树高度 2.4 二叉树第k层节点个数 1. 二叉树的遍历 前面的章节中&#xff0c;我们学习了二叉树的顺序结构&am…

计算机毕业设计选题推荐-体育赛事微信小程序/安卓APP-项目实战

✨作者主页&#xff1a;IT毕设梦工厂✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

c语言11周(16~20)

利用函数求和 //只填写要求的函数 double fun(int n) {double s 0;int i;for (i 1; i < n; i) {s 1.0 / (i * i);}return s; } 编写char fun(char c)函数&#xff0c;将数字参数字符c按如下规则转换。 题干编写char fun(char c)函数&#xff0c;将数字参数字符c按如…

【milkv】1、光感bh1750驱动添加及测试

前言 本章介绍在milkv-duo开发板上添加光感bh1750&#xff0c;并实现应用层测试。 一、电路图查看 1.1 duo开发板i2c引脚 https://github.com/milkv-duo/duo-files 这些都是可以作为i2c使用的引脚 注意&#xff1a;电路图中的gpio0、1对应的是芯片上的gpio28、29&#…

为什么Springboot项目中有些写法继承了SpringBootServletInitializer类?Springboot的两种发布方式

文章目录 一、前言二、SpringBoot的两种发布方式2.1、内置容器运行2.2、外置容器&#xff08;Tomcat&#xff09;运行 三、扩展3.1、如何将 Spring Boot 项目打包成 war 包&#xff1f; 一、前言 在一次SpringBoot源码中看到了启动类中继承了SpringBootServletInitializer&…

EMC-4641C运动控制器固件升级

EMC-4641C运动控制器固件升级 更新前查看运动控制器固件版本 点击打开ESMTPTest_X64R.exe程序 点击搜索&#xff0c;程序自动选择IP为192.168.0.135的运动控制器&#xff08;实际操作时候可能会因为现场情况&#xff0c;IP会有细微不同&#xff09; 点击Connest 等待几秒后在…

『数据结构与算法』散列表(哈希表)

1. 什么是散列表 散列表&#xff08;Hash Table&#xff09;也叫哈希表&#xff0c;是根据给定关键字&#xff08;Key&#xff09;来计算出该关键字在表中存储地址的数据结构。也就是说&#xff0c;散列表建立了关键字与存储地址之间的一种直接映射关系&#xff0c;将关键字映…

【电路笔记】-诺顿定理(Norton‘s Theorem)

诺顿定理&#xff08;Norton’s Theorem&#xff09; 文章目录 诺顿定理&#xff08;Nortons Theorem&#xff09;1、概述与定义2、诺顿模型确定3、一些线性电路的诺顿模型3.1 单电压源3.2 单电流源3.3 多电流/电压源 5、总结 本文是我们上一篇有关戴维南定理的文章的延续。 在…

[文件读取]lanproxy 文件读取 (CVE-2021-3019)

1.1漏洞描述 漏洞编号CVE-2021-3019漏洞类型文件读取漏洞等级⭐漏洞环境VULFOCUS攻击方式 描述: Lanproxy 路径遍历漏洞通过../绕过读取任意文件。该漏洞允许目录遍历读取/../conf/config.properties来获取到内部网连接的凭据。 1.2漏洞等级 高危 1.3影响版本 Lanproxy 1.4漏洞…

酷柚易汛ERP-购货订单操作指南

1、应用场景 先下购货订单&#xff0c;收货入库后生成购货单。 2、主要操作 2.1 新增购货订单 打开【购货】-【购货订单】新增购货订单。&#xff08;*为必填项&#xff0c;其他为选填&#xff09; ① 录入供应商&#xff1a;点击供应商字段框的 &#xff0c;在弹框中选择供…

漏洞-任意账号注册

一漏洞介绍 1.未验证邮箱/手机号 情景&#xff1a;应用为了方便用户记录用户名&#xff0c;使用邮箱和手机号作为用户名&#xff08;因此很多应用在注册的时候就要求用户填写&#xff0c;多数时候都会给用户发送激活信息&#xff0c;激活后才能登录&#xff09; 缺陷&#xff…

Linux Mint 21.3 将搭载 Cinnamon 6.0 和实验性 Wayland 支持

导读Wayland 会话可能在 Linux Mint 23 系列中成为默认选项&#xff0c;预计将在 2026 年实现。 Linux Mint 项目今天在他们的每月新闻通讯中 宣布&#xff0c;他们已经开始着手在未来的 Linux Mint 发行版中实施 Wayland 会话&#xff0c;最初将在 Linux Mint 21.3 中提供。 …

3DMAX建模基础教程:常用工具补充

在本篇3DMAX建模基础教程中&#xff0c;我们将为您介绍一些常用的工具及其功能。熟练掌握这些工具将大大提高您的建模效率。 1️⃣ 选择与变换工具 选择工具&#xff1a;帮助您选择对象&#xff0c;可以通过单击对象或按组选择。 变换工具&#xff1a;对选定的对象进行移动、…

【milkv】0、duo编译环境搭建

一、开发资料整理 Docker https://hub.docker.com/repository/docker/dreamcmi/cv1800-docker/general GitHub https://github.com/milkv-duo/duo-buildroot-sdk CV181x/CV180x MMF SDK 开发文档汇总 https://developer.sophgo.com/thread/471.html cv181x芯片使用的交叉…

【计算机网络】UDP协议

UDP的结构 我们学习一个协议最主要的就是理解它的报文格式&#xff0c;对于UDP协议来说 我们看下面的这张图。 16位UDP长度&#xff0c;表示整个数据报&#xff08;UDP首部UDP数据&#xff09;的最大长度。UDP报文长度占两个字节&#xff0c;16位表示的数据范围&#xff08;0-…