假期作业 12

本文介绍了如何使用tar指令进行文件打包与压缩,包括file、head、tail和管道符的基本用法。同时预览了结构体的定义、初始化以及未初始化情况下成员变量的赋值方法。
摘要由CSDN通过智能技术生成

1.整理tar指令打包压缩和解压的使用、复习file、head、tail和管道符的使用

tar

打包并压缩/拆包并解压缩

打包:多个文件合并成一个文件

拆包:把多个文件拆出来

tar指令执行结束后,源文件存在

借助tar指令,可以完成目录文件的压缩和解压缩

打包

tar -c(v)f 要生成的文件.tar 要打包的文件····(多个文件中间以空格作为分隔)

-c:打包的参数      -v:显示打包的过程       -f:file后面必须跟文件名

tar -cv(压缩参数)f 要生成的文件.tar.xz/gz/bz2 要打包的文件

-J:xz压缩        -j:bz2压缩          -z:gz压缩

当压缩工具参数和生成的文件后缀不一致时,只会完成打包操作,不会压缩(可以直接使用-xf拆包)

拆包

tar -x(v)f 要拆包的文件

(既可以完成拆包也可以完成解压缩)

file     查看文件的信息

file 文件名 查看文件的属性信息

a.out: 文件名

ELF:可执行文件

64-bit LSB shared object:小端存储

x86-64:支持64位架构

version 1 (SYSV):版本

dynamically linked, interpreter /lib64/l:链接的库

for GNU/Linux 3.2.0:gcc编译器的版本

BuildID[sha1]=2d5ea4ac25c53f60b6e7ebb97313ba7be8ae0457:动态id

not stripped:没有被压缩过,arm课程会讲

head

head 文件名 默认回显文件的前十行

head -n 文件名 回显文件的前n行

tail

tail 文件名 默认回显文件的后10行

tail -n 文件名 回显文件的后n行

| 管道符

指令1 | 指令2 | 指令3 | ·····

管道符左侧指令的输出用作管道符右侧指令的输入

2.预习结构体知识点

定义结构体类型

struct Init{
	int a;
	float b;
	double c;
}I1;
struct SIMPLE{
	int a;
	float b;
	double c;
};
stuct SIMPLE s1;

然而即使两个结构体成员列表全部一样,但是这两者还是被编译器当做完全不同的存在。一个类型是struct Init 一个类型是 struct SIMPLE就相当于int 和float 一样。
结构体中可以包含其他结构体。

定义结构体变量的同时,初始化结构体变量
#include <stdio.h>
struct Init{
	int a;
	double b;
	char *c;
	float d;
}id1 = {1,2.0,"hello"},id2[2],*id;
 定义结构体变量后,赋值成员变量
#include <stdio.h>
struct Init{
	int a;
	double b;
	char *c;
	float d;
}id2;

这种就是还未经过初始化的结构体成员变量定义。而想要在未经初始化的结构体变量定义之后,对该结构体进行成员变量修改。
形式上有所不同,可以分为以下两种方式。

第一种是有序赋值(初始化定义)。
struct Init id2 = {1,1.1,"hello"};
第二种是无序赋值,也就是键值对类型。
struct Init id2;
id2.a = 1;
id2.c = "world";
id2.d = 1.1;
  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值