Linux基本指令3——文件操作

news2025/1/16 16:49:19

Linux内核:Centos  7.6  64位

find指令

按文件名查找文件的用法:find [路径] -name [文件名]

作用:可以查找目标文件

找到后用nano,通过绝对路径打开目标文件。目前只需要知道这种程度就行了。

grep指令

语法:grep [选项] 搜寻字符串 文件名

作用:在文件中搜寻指定的字符串,将找到的行打印出来。

grep是行文本过滤工具,在行中只要有匹配的,整行都会被打印出来。

grep在匹配字符串的时候,默认是明确大小写的,加上选项 -i 代表忽略大小写进行查找。

还有一个选项 -v 代表反向匹配字符串,即凡是包含关键字的文本行全部不打印,只打印没有匹配关键字的行。

选项 -n 代表把查找出来的文本行带上行号。

zip/unzip指令

zip语法:zip  [选项]  压缩文件.zip  目录或文件

作用:将目录或文件压缩成zip格式。

 -r 递归处理,将指定目录下的所有文件和子目录一并处理。不加-r选项就会只压缩目录。

unzip语法:unzip  压缩文件.zip

作用:解压文件

准备工作:

同样,一些云服务器没有安装zip指令,切换到root账户下输入指令:yum install -y zip

默认的zip指令,只压缩了目录。将原tar_package目录转移到上层目录后,解压test.zip,解压出的内容只有tar_package的目录,要想连同文件一并压缩,需要加上-r选项。

回到开始的状态重新进行压缩:

这次压缩完再将tar_package移到上级目录后,对test.zip进行解压得到的tar_package文件中包含了原tar_package的所有内容。默认情况下,几乎所有的解压工具解压出来的文件,都会放到当前目录下。如果要解压到指定目录下,就需要unzip指令的一个选项:-d

语法:unzip  压缩文件.zip  -d  指定目录(绝对路径相对路径都可以)

问题:

为什么要打包压缩?

1.节约空间

2.网上下载的安装包,都是以压缩文件的形式存在的。因为软件不是只有一个文件,其中有:可执行程序,快捷方式,安装方式,卸载方式,配置文件,动态库,静态库等等。一个目录有几十个几百个文件,如果不打包在一起,就可能在网络传输的时候,丢失了几个文件,软件的功能就会出现问题。而压缩包有自身的检查规则,只要下载完成,就一定是完整的。压缩包是一个文件,不像其他文件形式,一个文件下还包含几个文件。

所有互联网公司的后台都是Linux系统,开发人员开发的软件,将来都要部署在Linux系统上,所以所有软件都要打包压缩,上传Linux,进行安装部署。

一般一个压缩包要经过两个过程:打包,压缩;解压过程:解压,解包。zip是将两个动作合并的,而tar可以将两个动作分开。

下面介绍第二个压缩/解压指令:tar

tar指令压缩:

c是create,z是压缩,f是指定压缩文件的名称。tar指令压缩出来的文件名后缀为tgz。

tgz完整的内容为tar.gz。tar是打包,gz是压缩。

tar指令解压:

x是解包,z在这里是解压,f代表指明的文件名称。

tar的选项很多,选几个介绍一下:

一些选项是不允许单独使用的,以及会出现带 '-' 和不带 '-' 会存在不同的表现。

多个选项连用可以省略 '-' ,但是不同的tar版本可能存在不同。有的指令顺序必须固定,有的不需要固定。

如果想看到解压的过程,需要使用-v指令。但是有的云服务器要看解压的过程,必须在压缩的时候就加上v指令。

解压到指定目录:

目前我们只是学习了zip后缀和tgz后缀的压缩包解压方式,并没有学习完所有压缩包。

Linux是支持几乎所有类型压缩包的解压的(以指令的方式支持)(说是几乎支持,是因为一些压缩包不需要在Linux下解压)。就算没有纳入到Linux标准库中去,也一定是存在源代码支持相关工具的解压的。

Linux支持几乎所有类型的压缩包文件解压的原因在于:Linux服务器只有一种,但是面对的开发环境(Windows等)是很多的。不同的平台,能支持的压缩包软件是不同的。

但是几乎所有压缩包软件的操作方式就这两种:基本使用和指定路径压缩。

如果遇到不明白的压缩包种类改怎么办?比如一个test.xxx文件

直接在网上搜索:centos .xxx后缀如何解压。

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

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

相关文章

浅谈非线性回归(non-linear regression)

文章目录浅谈非线性回归(non-linear regression)引言最小二乘多项式拟合非线性拟合Gauss–NewtonGauss–NewtonGauss–Newton算法[1]Levenberg–MarquardtLevenberg–MarquardtLevenberg–Marquardt算法[2]Quasi−NewtonQuasi-NewtonQuasi−Newton方法&a…

这样做框架结构图,让你的PPT更有创意!

已剪辑自: https://zhuanlan.zhihu.com/p/58834710 嗨,各位木友们好呀,我是小木。 昨天,有个跟我一样鸟人的鸟人让我帮忙做个框架结构图: 可惜当时我不在办公室,不然我真的一分钟就能把图做给他… ▼ 在文本框里输入…

RabbitMQ_交换机

简单理解交换机在RabbitMQ中扮演的角色 交换机在RabbitMQ中扮演消息系统中枢,将从生产者处收集的消息转发至对应的消息队列处,等待消费者消费 提前说明交换机 与 routing key 与 消息队列的关系 channel.queueBind(queueName, exchangeName, routingKey)…

git4:git整合IDEA和国内代码托管中心码云(自建代码托管平台)

1.配置忽略文件 IDE会生成.idea等无关项目实际功能的文件忽略这些文件配置.ignore 然后再讲此配置文件导入.gitconfig文件中idea中导入git程序 2.测试IDEA vcs 直接项目中 git add commit即可切换版本(提交第二版,修改会变成蓝色,然后提交…

血泪史!外包如何找到靠谱的兼职程序员?

好哥们公司上半年的重点项目,黄了。 公司是做线下项目起家的,受到各种不可抗力因素影响改为线上举办。这次的转型老板很看重,但由于整个公司都没有擅长这块的技术开发,于是托朋友找了个外包团队完成。 几十个W花进去,做…

进销存记账软件十大品牌合集,看看哪一款适合你

随着管理成本的提高,加上信息技术的发展,各行各业都要求应用专业的技术软件来提高管理效率,中小商户也不例外。 过往的手工记账已经满足不了需求,进销存记账软件应运而生。 进销存记账软件是时代的产物,也是中小商户…

带你Java入门(Java系列1)

目录 前言: 1.什么是Java 2.Java的语言特点 3.初识Java的main方法 4.注释 5.标识符 6.关键字 7.1基本数据类型 7.2引用数据类型 8.变量 8.1.整形变量 8.2.长整形变量 8.3浮点型变量 8.3.1单精度浮点型 8.3.2双精度浮点型 8.4字符型变量 8.5布尔型…

【计算机网络:自顶向下方法】(二)应用层

tm 【计算机网络:自顶向下方法】(二)应用层 文章目录应用层如何创建一个新的网络应用?2.1 应用层原理网络应用的体系结构对等模式(P2P:Peer To Peer)混合体:客户-服务器和对等体系结构进程通信分布式进程通信需要解决的问题问题1:进程…

CorelDRAW2023全新版功能及下载安装教程

CorelDraw2023是一款优秀的图形工具。有了它,不太专业的客户也可以做直观和简短的组成,由于其平滑和简单的用户界面。你可以一起做很多编辑工作。有了这个巨大的工具,你可以对你的图像、网站、商标和其他许多东西产生美丽而令人印象深刻的效果…

DJYOS驱动开发系列一:基于DJYOS的UART驱动编写指导手册

1.概述 DJYOS设计通用的串口驱动模型,在此模型的基础上,移植到不同硬件平台时,只需提供若干硬件操作函数,即可完成串口驱动开发,使开发工作变得简单而快速执行效率高。 DJYOS源代码都有特定的存放位置, 建…

DJYGUI系列文章五:GK显示器接口

1 GK显示器接口概述 显示器是图形显示的终端,图形的所有操作都会直接或间接的体现在显示器上面。DJYGUI支持多显示器、虚显示器和镜像显示器的功能。应用程序在调用API函数绘图前,需安装显示器,按照GK显示器标接口实现驱动函数。 GK的底层硬件…

DCS系统组态设计实验

太原理工大学控制仪表实验之DCS系统组态设计实验 DCS系统组态设计一.实验内容1.根据自己的理解,复述实验整体流程,并画出实验整体流程图。2.根据视频,写出DCS 信号通道接线关系表。即主控站DCS模块名称,模块型号,I/O模…

跟艾文学编程《Python基础》(5)Python的文件操作

作者: 艾文,计算机硕士学位,企业内训讲师和金牌面试官,公司资深算法专家,现就职BAT一线大厂。邮箱: 1121025745qq.com博客:https://wenjie.blog.csdn.net/内容:跟艾文学编程《Python…

linux网络编程epoll内核实现代码分析

1、linux内核epoll相关数据结构 1.1、epoll相关数据结构类图 1.2、关键数据结构说明 socket_wq结构体包含一个__wait_queue_head成员,__wait_queue_head用于连接wait_queue_t链表,对于epoll而言就是连接eppoll_entry; eppoll_entry包含一个e…

第七届信息类研究生学术论坛参赛有感

因为疫情不仅感叹时光飞逝,上了大半年的网课再次回到校园已经有师弟师妹了。今年的研究生学术论坛更卷了,入围了88项作品。这次科研作品征集研究生在学期间信息类相关研究成果,鼓励实物参展,包括软件系统、硬件系统等,…

Kubernetes(k8s)CNI(Calico)网络模型原理

文章目录一、概述二、Calico 架构和核心组件三、什么是BGP?三、Calico 两种网络模式1)IPIP 模式2)BGP 模式四、安装Calico插件1)通过helm安装Calico2)通过yaml文件安装3)k8s flannel网络切换calico1、卸载f…

适配不同场景的RestTemplate

一个基本实现 如果项目里可能只是偶尔通过一个url,发起一个http请求,一个基本实现如下: Configuration public class RestTemplateConfiguration {Beanpublic RestTemplate restTemplate() {RestTemplate restTemplate new RestTemplate()…

项目常遇到的问题

这里写自定义目录标题1:uniapp生成二维码2:uniapp onShow接收参数3:javascript如何获取对象的key和value4:uni-app:页面直接传递复杂参数5:js对于数组元素相同的分类方法1:uniapp生成二维码 选择…

关联式容器(Associative Container)

1:什么是关联式容器&#xff1f; 关联式容器依照特定的排序准则 自动为元素排序 元素可以是任何类型的value 也可以是 key/value pair key可以是任何类型 映射至一个相关value 而value也可以是任意类型 通常是所有容器默认以<进行比较 也可以通过自己的比较函数 定义出不同的…

Dubbo基础

目录 什么是 RPC 那为什么要有 RPC&#xff0c;HTTP 不好么&#xff1f; RPC 的原理是什么? 如何设计一个 RPC 框架 从底向上的思路 服务消费者 服务提供者 注册中心 监控运维 小结一下 简单实现一个 RPC 框架 Dubbo 简介 Dubbo的历史 Dubbo的功能 为什么要用 …