Linux:文件增删 文件压缩指令

news2024/11/16 12:02:28

Linux:文件增删 & 文件压缩指令

    • 文件增删
      • touch指令
      • mkdir指令
      • cp指令
      • rm指令
      • rmdir指令
    • 文件压缩
      • zip & unzip 指令
      • tar指令


文件增删

touch指令

功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件

  • touch 文件名 ,直接创建一个文件:

在这里插入图片描述
第一次使用ll,发现当前是一个空目录。touch test.txt后,再次ll就多出了一个test.txt的文件。

  • touch 后面可以接多个文件名,同时创建多个文件:

在这里插入图片描述

常用选项

  • -a 或 --time=atime 或 --time=access 或 --time=use 只更改存取时间。
  • -c 或 --no-create 不建立任何文档。
  • -d 使用指定的日期时间,而非现在的时间。
  • -m 或 --time=mtime 或 --time=modify 只更改变动时间。
  • -r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
  • -t 使用指定的日期时间,而非现在的时间

mkdir指令

功能:在当前目录下创建一个的目录

  • mkdir 目录名 直接创建一个空目录:

在这里插入图片描述

常用选项

-p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立
好那些尚不存在的目录,即一次可以建立多个目录

  • mkdir -p 一条路径,会创建一整条路径的目录:

在这里插入图片描述

此处用了一个指令tree,其可以以树形图的形式展示目录结构。


cp指令

功能:复制文件或目录
说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息

现在我们有如下目录结构:
在这里插入图片描述
目录dir1内部有三个文件,dir2是一个空目录。现在我们用cp指令吧三个文件复制到dir2
在这里插入图片描述
可以看到,我们成功把三个文件进行了拷贝。

常用选项

  • -r递归处理

假设我们现在有以下目录结构:

在这里插入图片描述

现在我们要把目录a以及其内部的三个文件一起复制到dir2中,直接cp试试看:

在这里插入图片描述
我们的指令执行失败了,这是因为a是一个内部有内容的目录结构,我们不能直接复制,而应该递归式地复制。

再次输入cp -r dir1/a dir2
在这里插入图片描述
这样我们就把a整个目录成功拷贝了过去。

其它选项:

  • -f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
  • -i 或 --interactive 覆盖文件之前先询问用户
  • -R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理

rm指令

功能:删除文件或目录

语法: rm [-f-i-r-v][文件/目录名]

常用选项

  • -f 即使文件属性为只读(即写保护),亦直接删除
  • -i 删除前逐一询问确认
  • -r 删除目录及其下所有文件

我们经常使用rm -rf的组合,来强制删除目录和文件,但是这个操作非常危险,删除前要慎重考虑。
在这里插入图片描述


rmdir指令

rmdir是一个与mkdir相对应的命令。mkdir是建立目录,而rmdir是删除目录。

语法:rmdir [-p][dirName]

适用对象:具有当前目录操作权限的所有使用者
功能:删除空目录

常用选项:

  • -p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除

文件压缩

zip & unzip 指令

功能: 将目录或文件压缩成zip格式

语法: zip [压缩文件.zip] [目录或文件]
zip的末尾,可以选中多个文件,把他们放到同一个压缩包中:

在这里插入图片描述
我们通过zip test.zip file1 file2 file3把三个文件都压缩到了test.zip压缩包中,最后我们的目录结构中出现了一个test.zip压缩包

常用选项:

  • -r 递归处理,将指定目录下的所有文件和子目录一并处理

压缩后我们也需要解压缩,解压缩的指令是unzip,直接unzip 压缩包就可以解压一个压缩包了。

比如以下目录结构:
在这里插入图片描述
如果我们想要把test.zipdir2中解压,我们可以把test.zip移动到dir2中,然后直接unzip test.zip即可。

当然我们也有更便利的方法:

  • -d 解压到指定目录下

我们可以直接使用unzip dir1/test.zip -d dir2,来把dir1中的压缩文件,解压到dir2中:
在这里插入图片描述


tar指令

tar的功能比zip更强大,也更加常用。

其既可以解压,也可以压缩,还可以直接查看压缩包的内容

语法: tar [-cxtzjvf] 文件与目录 …

通过tar压缩的文件,以.tgz为后缀

常用选项

  • -c :建立一个压缩文件的参数指令(create 的意思);
  • -x :解开一个压缩文件的参数指令!
  • -t :查看 tarfile 里面的文件!
  • -z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
  • -j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
  • -v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
  • -f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
  • -C : 解压到指定目录

以上选项看似多而繁杂,我这里简单解释一下:

-c :创建一个压缩文件
-v : 显示压缩过程
-z :压缩算法(加上这个才能压缩/解压)
-f : 作为最后一个选项,后面跟着压缩后的文件名
-x :解压一个压缩文件
-d :压缩到指定目录
-C :解压到指定目录

我们常用:
tar -czf 压缩包.tgz 被压缩的文件来进行压缩:
在这里插入图片描述

如果你想看压缩过程,那么再加一个参数v,以tar -cvzf 压缩包.tgz 被压缩的文件来进行压缩:
在这里插入图片描述
这次压缩就显示了压缩过程:
在这里插入图片描述

想要解压缩,只需要把-z改为-x就可以了,即tar -xzf 压缩包.tgz,同理,可以加上-v显示解压过程:tar -xvzf 压缩包.tgz

另外就是tar指令最重要的功能,-t可以直接查看一个压缩包的内容:tar -tf 压缩包.tgz(注意不要漏掉f,f用于选中压缩包)
在这里插入图片描述
这样我们就可以在不解压压缩包的情况下,看到压缩包里面的内容了。


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

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

相关文章

UG NX二次开发(C#)-通过曲线组生成NURBS曲面

文章目录 1、前言2、UG NX中通过曲线组生成NURBS曲面的操作3、采用NXOpen C#方法的源代码1、前言 在UG NX中,曲线、曲面的操作使用比较多,对于创建NURBS曲面,可以通过曲线组来生成,本文以NXOpen C#的方法实现通过曲线组生成NURBS曲面的功能。对于UG NX二次开发感兴趣或者有…

【JAVA】通过JAVA实现用户界面的登录

🌈个人主页: Aileen_0v0 🔥热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法|MySQL| ​💫个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-wyCvaz0EBNwHcwsi {font-family:"trebuchet ms",verdana,arial,sans-serif;f…

代码学习记录25---回溯算法最后一天

随想录日记part25【很难】 t i m e : time: time: 2024.03.21 主要内容:回溯算法在之前的学习中已经熟练掌握,今天对其进行挑战并进行总结:1:重新安排行程 ;2.N皇后 ;3.解…

SpringJPA 做分页条件查询

前言: 相信小伙伴们的项目很多都用到SpringJPA框架的吧,对于单表的增删改查利用jpa是很方便的,但是对于条件查询并且分页 是不是很多小伙伴不经常写到. 今天我整理了一下在这里分享一下. 话不多说直接上代码: Controller: RestController public class ProductInstanceContr…

Java基础-正则表达式

文章目录 1.基本介绍2.正则底层实现1.matcher.find()完成的任务2.matcher.group(0)分析1.源代码2.解释(不分组)3.解释(分组) 3.总结 3.正则表达式语法1.基本介绍2.元字符的转义符号1.基本介绍2.代码实例 3.字符匹配符1.基本介绍2.…

洛谷day3

B2053 求一元二次方程 - 洛谷 掌握printf用法&#xff1b; #include <iostream> #include <cmath> using namespace std; double a,b,c; double delta; double x1,x2;int main() {cin>>a>>b>>c;delta b*b-4*a*c;if(delta>0){x1 (-bsqrt…

【前端寻宝之路】JavaScript初学之旅

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法|MySQL| ​&#x1f4ab;个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-azUa9yH16cRXQUxE {font-family:"trebuchet ms",verdana,arial,sans-serif;f…

生产力工具|安装更新R软件(R、studio)

内容介绍&#xff1a; 安装R软件&#xff1a; 下载 R X64 3.5.1: 访问官方R网站 https://cran.r-project.org/。选择适合Windows版本的安装包。将安装包下载到您的计算机。 本地安装: 运行下载的“R-3.5.1-win.exe”文件。按照安装向导&#xff0c;选择安装路径&#xff0c;取消…

机器视觉定位点胶机系统工作原理分析

机器视觉&#xff0c;简而言之&#xff0c;即是通过机器来模拟人眼的视觉功能&#xff0c;执行测量与判断的任务。这一过程中&#xff0c;关键的角色是机器视觉产品&#xff0c;它们通常以CMOS或CCD的形式出现&#xff0c;负责将观察的目标转化为图像信号。这些信号随后被专用的…

Pinctrl子系统_05_Pincontroller构造过程情景分析

上一节我们了解了Pinctrl子系统主要的数据结构&#xff0c;要想更好的掌握Pinctrl子系统&#xff0c;还需要知道他的构造过程。 本节我们就来分析一下Pinctrl子系统的构造过程。 以内核面向对象的思想&#xff0c;设备树可以分为两部分&#xff0c;左边是Pinctrl子系统节点&a…

nodejs+vue高校师资管理系统python-flask-django-php

快速发展的社会中&#xff0c;人们的生活水平都在提高&#xff0c;生活节奏也在逐渐加快。为了节省时间和提高工作效率&#xff0c;越来越多的人选择利用互联网进行线上打理各种事务&#xff0c;然后线上管理系统也就相继涌现。与此同时&#xff0c;人们开始接受方便的生活方式…

002- 用 AutoCoder 添加和修改代码

实际上 AutoCoder 最适合的场景是修改代码&#xff0c;因为它最原始的功能是把源码你指定的文档搜索引擎搜集到的资料和你的需求生成一个prompt给到大模型。 此外纠正大家一个观点&#xff0c; AutoCoder 不是一句话给你创建一个网站抑或一个大型的项目。我们是帮助研发或者产品…

移植 Zephyr 到 Art-Pi

背景 ​ 最近工作中接触到了 Zephyr&#xff0c;不由觉得 Zephyr 是个很强大、全面、优秀的实时操作系统&#xff0c;但同时是有一定的上手难度的&#xff0c;其复杂的构建系统让小编倒吸一口凉气。为了深入研究并完全掌控 Zephyr&#xff0c;小编决定把它移植到手头的开发板上…

Java八股文(SpringCloud)

Java八股文のSpringCloud SpringCloud SpringCloud 什么是Spring Cloud&#xff1f; Spring Cloud是一个用于构建分布式系统的开发工具箱&#xff0c;它基于Spring Boot框架&#xff0c;提供了一系列的组件和工具&#xff0c;用于帮助开发者快速搭建和管理分布式系统中的各种常…

Spring相关框架八股

单例bean是线程安全的吗&#xff1f; AOP 事务失效 Bean生命周期 Bean循环依赖解决 MVC执行流程 自动装配原理 Spring常见注解 SpringMVC注解 SpringBoot注解 MyBatis执行流程 MyBatis延迟加载 MyBatis缓存 SpringCloud五大组件 注册中心Nacos、Eureka 负载均衡Ribbon 服务雪崩…

Android 你遇到的无障碍onGesture不执行

你是不是和我一样&#xff0c;在开发无障碍应用的时候&#xff0c;翻边了Android的AccessibilityService源码 但是就是发现不了onGesture不执行的原因&#xff1f; 你是不是和我一样&#xff0c;在好多测试手机之间徘徊&#xff0c;发现还是不执行&#xff1f; 你是不是和我一…

2024内蒙古等保备案办理流程指引

网络安全已成为国家、企业和个人共同关注的焦点。所以积极办理等保备案是非常重要的。本文将详细介绍办理内蒙古企业办理等保备案的流程&#xff0c;帮助读者了解并顺利完成相关手续。仅供参考哦&#xff01; 2024内蒙古等保备案办理流程指引 办理时间&#xff1a;周一到周五工…

PostgreSQL11 | Windows系统安装PostgreSQL

本教程选取与参考书籍《PostgreSql11 从入门到精通》&#xff08;清华大学出版社&#xff09;的11大版本最新小版本11.22的安装作为教程案例 下载 下载PostgreSQL installer 下载到本地 安装 运行安装引导器 中国地区语言选项&#xff08;暂时&#xff09; Chinese(Simplifie…

OpenHarmony IDL工具规格及使用说明书(仅对系统应用开放)

IDL接口描述语言简介 当客户端和服务器进行IPC通信时&#xff0c;需要定义双方都认可的接口&#xff0c;以保障双方可以成功通信&#xff0c;OpenHarmony IDL&#xff08;OpenHarmony Interface Definition Language&#xff09;则是一种定义此类接口的工具。OpenHarmony IDL先…

io流的学习4

字符缓冲流 原理&#xff1a;底层自带了长度为8192的缓冲区提高性能。 import java.io.BufferedReader; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException;public class BufferedStringdemo01 {public static void main(String…