1.归档

tar(tape archiving program),最早是一个磁盘归档程序。tar命令用于文件的打包(归档),可以将若干😈文件或者目录😈打包成一个文件,既利于文件管理,也方便压缩和文件的网络传输。

1.1tar命令格式

命令格式: tar 主选项 [辅助选项] 文件或目录
常用主选项:
-A,–catenate,–concatenate:将若干tar文件合成一个tar文件
-c,–create:创建一个新的tar文件
-d,–diff,–compare:比较tar文件或文件系统的不同之处。
–delete:从tar文件中删除文件,但不能把磁带文件删除
-r,–append:在tar文件尾部追加文件。
-t,–list:显示tar文件内容
-u,–update:更新tar文件。
-x,–extra,–get:从tar文件中取出文件。
-v 显示命令执行过程中的详细信息(verbose),会列出正在添加到归档的文件
-z:使用gzip压缩/解压缩文件(不仅可归档,也可压缩,但tar主要用于打包)

1.2tar命令使用

1)tar -cfv gone.tar ./*
tar:是 Linux 下用于文件归档的命令工具
-c:表示创建新的归档文件(create)
-f:指定归档文件的名称(file),后面必须紧跟文件名
-v:显示命令执行过程中的详细信息(verbose),会列出正在添加到归档的文件
gone.tar:要创建的归档文件名称
./:表示当前目录
*:通配符,表示当前目录下的所有文件和子目录
//将当前目录下的所有文件和子目录打包压缩成一个名为 gone.tar 的归档文件,并在执行过程中显示正在处理的文件列表。
2) tar -tf gone.tar
-t:表示列出归档文件中的内容(list)
-f:指定要操作的归档文件名称(file),后面必须紧跟文件名
//列出 gone.tar 归档文件中包含的所有文件和目录的名称,但不会提取这些文件,只是查看归档内容。
3) tar -xvf gone.tar
-x:表示提取归档文件中的内容(extract)
-v:显示命令执行过程中的详细信息(verbose),会列出正在提取的文件
-f:指定要操作的归档文件名称(file),后面必须紧跟文件名
//将 gone.tar 归档文件中的所有文件和目录提取到当前工作目录中,并在执行过程中显示正在提取的文件列表。
4) tar -rf gone.tar myfile
//将 myfile(可以是单个文件或目录)添加到已有的 gone.tar 归档文件尾部。
5) # tar -czvf aaa.tar.gz /aaa
将 /aaa 目录(或文件)打包并通过 gzip 算法压缩,生成一个名为 aaa.tar.gz 的压缩归档文件,并在过程中显示详细的处理信息。
6)tar -xvf aaa.tar
将 aaa.tar 归档文件中的所有内容(文件和目录)提取到当前工作目录中,并在提取过程中显示每个被处理的文件名称。
7)tar -zxvf aaa.tar.gz
💤 -z:表示使用 gzip 解压缩
先对 aaa.tar.gz 进行 gzip 解压缩,再提取其中的 tar 归档内容到当前工作目录,并在过程中显示详细的处理信息。
8) tar -zxvf aaa.tar.gz -C /home/aaa
将 aaa.tar.gz 压缩包中的所有内容,解压到 /home/aaa 目录下,而不是当前工作目录,并在过程中显示详细的文件处理信息。
9)tar -cvf archive.tar file1 file2
将 file1 和 file2 两个文件打包成 archive.tar 归档文件
10)touch file3;tar -r myfiles.tar file3
先创建 file3 文件,再将其添加到已存在的 myfiles.tar 归档中

1、用tar命令归档/myfile目录下的文件,指明创建文件并列出详细过程。文件名为myfiles.tar
2、把文件file1,file2打包为archive.tar
3、从打包文件myfiles.tar中取出文件。
4、创建file3并追加到名称为myfiles.tar文件
5、将当前目录打包为file.tar.gz。
6、把打包文件解压至当前目录下。
7、把打包压缩文件解至/test中。

1、用tar命令归档/myfile目录下的文件,指明创建文件并列出详细过程。文件名为myfiles.tar

tar -cvf  myfiles.tar  /myfile

2、把文件file1,file2打包为archive.tar

tar -cvf  archive.tar file1 file2

3、从打包文件myfiles.tar中取出文件。

tar -xvf   myfile.tar

4、创建file3并追加到名称为myfiles.tar文件

touch file3;tar -r myfiles.tar  file3

5、将当前目录打包为file.tar.gz。

tar  -czvf  file.tar.gz    ./

6、把打包文件解压至当前目录下。

tar  -xzvf   file.tar.gz

7、把打包压缩文件解至/test中。

tar  -xzvf  file.tar.gz  -C  /test
2.压缩

打包(归档)指的是将多个文件和目录集中存储在一个文件中,归档文件没有经过压缩,因此,它占用的空间是其中所有文件和目录的总和;
压缩是指利用算法将文件进行处理,以达到保留最大文件信息,而让文件体积变小的目的。其基本原理为,通过查找文件内的重复字节,建立一个相同字节的词典文件,并用一个代码表示实现缩小文件体积的目的。压缩又可以分为有损压缩和无损压缩。无损压缩很好理解,指的是压缩数据必须准确无误;有损压缩指的是即便丢失个别的数据,对文件也不会造成太大的影响。采用压缩工具对文件进行压缩,生成的文件称为压缩包,该文件的体积通常只有原文件的一半甚至更小。需要注意的是,压缩包中的数据无法直接使用,使用前需要利用压缩工具将文件数据还原,此过程又称为解压。

2.1zip命令

zip [选项] 压缩包名 源文件或源目录列表
💦注意,zip 压缩命令需要手工指定压缩之后的压缩包名(较麻烦,Linux中不常用),注意写清楚扩展名,以便解压缩时使用。
-r 递归压缩目录,及将指定目录下的所有文件以及子目录全部压缩。
-m 将文件压缩之后,删除原始文件,相当于把文件移到压缩文件中。
-v 显示详细的压缩过程信息。
-q 在压缩的时候不显示命令的执行过程。
-压缩级别 压缩级别是从 1~9 的数字,-1 代表压缩速度更快,-9 代表压缩效果更好
-u 更新压缩文件,即往压缩文件中添加新文件。

2.2unzip命令

unzip [选项] 压缩包名

unzip 命令可以查看和解压缩 zip 文件

-d 目录名 将压缩文件解压到指定目录下。
-n 解压时并不覆盖已经存在的文件。
-o 解压时覆盖已经存在的文件,并且无需用户确认。
-v 查看压缩文件的详细信息,包括压缩文件中包含的文件大小、文件名以及压缩比等,但并不做解压操作。
-t 测试压缩文件有无损坏,但并不解压。

-x 文件列表 解压文件,但不包含文件列表中指定的文件。

2.3gzip命令

gzip [选项] 源文件

gzip经常用来对文件进行压缩和解压缩的命令,其扩展名通常标记为“.gz”。只能用来压缩文件,不能压缩目录,即便指定了目录,也只能压缩目录内的所有文件。

-c 将压缩数据输出到标准输出中,并保留源文件。
-d 对压缩文件进行解压缩。
-r 递归压缩指定目录下以及子目录下的所有文件。
-v 对于每个压缩和解压缩的文件,显示相应的文件名和压缩比
-l 对每一个压缩文件,显示以下字段:压缩文件的大小;未压缩文件的大小;压缩比;未压缩文件的名称。
-数字 用于指定压缩等级,-1 压缩等级最低,压缩比最差;-9 压缩比最高。默认压缩比是 -6。

1)gzip -c /abc.txt > aaa.gz
-c:表示将压缩数据输出到标准输出而不是覆盖原文件
/abc.txt:要压缩的源文件路径
/ > :是 shell 的重定向符号,用于将前面命令的输出写入到指定文件
aaa.gz:压缩后生成的目标文件名
对 /abc.txt 文件进行 gzip 压缩,并将压缩结果保存为 aaa.gz 文件,同时保持原文件 /abc.txt 不被删除或修改。与直接使用 gzip /abc.txt 相比,这条命令的优势是不会删除原始文件,而是生成一个新的压缩文件,适合需要保留源文件的场景。
2)gzip -d /abc.txt.gz
-d 表示解压缩(decompress)
将 /abc.txt.gz 压缩文件解压缩,生成原始文件 /abc.txt
解压缩后,原压缩文件 /abc.txt.gz 会被删除
3)gzip -dv /abc.txt.gz
-d 表示解压缩,-v 表示显示详细信息
作用:解压缩 /abc.txt.gz 并显示解压缩过程的详细信息(如文件名、压缩率等)
示例输出可能为:/abc.txt.gz: 50.0% – replaced with /abc.txt
4)gzip -tv /abc.txt.gz
-t 表示测试压缩文件的完整性(test),-v 表示显示详细信息
作用:检查 /abc.txt.gz 文件是否完好无损,不会进行解压缩操作
如果文件正常,会显示类似:/abc.txt.gz: OK
如果文件损坏,会提示错误信息

2.4gunzip命令

gunzip [选项] 文件

它用于解压被 gzip 压缩过的文件(扩展名为 .gz)。
对于解压被 gzip 压缩过的文件,还可以使用 gzip 自己,即 gzip -d 压缩包。

-r 递归处理,解压缩指定目录下以及子目录下的所有文件。
-c 把解压缩后的文件输出到标准输出设备。
-f 强制解压缩文件,不理会文件是否已存在等情况。
-l 列出压缩文件内容。
-v 显示命令执行过程。
-t 测试压缩文件是否正常,但不对其做解压缩操作。

2.5bzip2 命令

bzip2 [选项] 源文件

bzip2 命令同 gzip 命令类似,只能对文件进行压缩(或解压缩),当执行压缩任务完成后,会生成一个以“.bz2”为后缀的压缩包。
⭐️从理论上来讲,“.bz2”格式的算法更先进、压缩比更好;而 “.gz”格式相对来讲的时间更快

-k bzip2 在压缩或解压缩任务完成后,会删除原始文件,若要保留原始文件,可使用此选项。(建议使用bzip2时加上-k)
-f bzip2 在压缩或解压缩时,若输出文件与现有文件同名,默认不会覆盖现有文件,若使用此选项,则会强制覆盖现有文件。
-d 对压缩文件进行解压缩。
-t 测试压缩包文件的完整性。
-v 压缩或解压缩文件时,显示详细信息。
-数字 这个参数和 gzip 命令的作用一样,用于指定压缩等级,-1 压缩等级最低,压缩比最差;-9 压缩比最高

2.6bunzip2 命令

bunzip2 [选项] 源文件

bunzip2 命令的使用和 gunzip 命令大致相同,bunzip2 命令只能用于解压文件,即便解压目录,也是解压该目录以及所含子目录下的所有文件。

-k 解压缩后,默认会删除原来的压缩文件。若要保留压缩文件,需使用此参数。
-f 解压缩时,若输出的文件与现有文件同名时,默认不会覆盖现有的文件。若要覆盖,可使用此选项。
-v 显示命令执行过程。
-l 列出压缩文件内容。

3.用户管理

在这里插入图片描述

3.1用户帐号的分类

超级用户(UID=0)Root
普通用户(1000<=UID<max=60000): 操作权限受到限制
伪用户(系统用户)(关机、系统调用等) (UID=1—999):限制本机登录

3.2用户帐号包含的信息

用户名:
口令:(密码)
UID:用户唯一标识符
GID:用户组的唯一标识符
用户描述信息:
用户主目录:用户登录的初始目录
SHELL类型:设置SHELL程序的种类

root下 cat /etc/passwd会显示用户信息,各个信息由:分开
root:x:0:0:root:/root:/bin/bash
shutdown(关机):x:6:0:shutdown:/sbin:/sbin/shutdown

3.3用户账号文件–口令文件(/etc/passwd)

该文件用于用户登录时校验用户的登录名、加密的口令数据项、用户ID(UID)、 默认的用户分组ID(GID)、GECOS字段、用户登录子目录以及登录后使用的shell。

root下 cat /etc/passwd会显示用户信息,各个信息由:分开
root:x:0:0:root:/root:/bin/bash
shutdown(关机):x:6:0:shutdown:/sbin:/sbin/shutdown

nobody:x:65534(补码信息(-2的16位补码)):65534:Kernel Overflow User:/:/sbin/nologin(其他访问我的系统的root用户)

3.4用户影子文件–(/etc/shadow)

在这里插入图片描述

文件中每行代表一个用户,同样使用 “:” 作为分隔符,不同之处在于,每行用户信息被划分为 9 个字段。
每个字段的含义如下:用户名:加密密码:最后一次修改时间(1979年1月1日起算的时间戳):最小修改时间间隔:密码有效期(99999表示无限期):密码需要变更前的警告天数:密码过期后的宽限时间:账号失效时间:保留字段

4.用户管理操作
4.1添加新用户

useradd [参数] 用户名
-u UID //指定用户的UID值(如果不指定,默认从1000递增)
-g 组名 //指定用户所属的默认组
-G 组名 //指定用户附加
-d 路径 //指定用户主目录(若不指定, 默认为/home/用户名)
-e 时间 //指定用户帐号有效日期(YYYY-MM-DD)

4.2设置用户口令

passwd [选项] [用户名]
无选项:设置用户密码
-d (delete) //删除用户口令
-l (lock) //暂时锁定指定的用户账号
-u (unlock)//解除指定用户账号的锁定
-S (status) //显示指定用户账号的状态

4.3修改用户信息

usermod [参数] 用户名
-l 新用户名 当前用户名 //更改用户名
-d 路径 //更改用户主目录
-G 组名 //修改附加组
-L 用户帐号名 //锁定用户帐号(不能登录)
-U 用户帐号名 //解锁用户帐号

4.4删除用户

userdel [参数] 用户名
-r // 同时删除用户主目录

4.5切换用户身份

su [-] [用户名]
实例:
#su – // 切换到超级用户
#su tom
普通用户切换到root需要密码,root切换其他不需要。

5.案例

1.新建一个user1用户,UID、GID、主目录均按默认;
2.新建一个user2用户,UID=1200、其余按默认;
3.新建一个user3用户,默认主目录为/abc、其余默认;并观察这三个用户的信息有什么不同;
4.分别为以上三个用户设置密码为123456;
5.把user1用户改名为u1,UID改为1700,主目录为/test,密码改为12345678;
6.将用户user3的主目录改名为/ab,并修改其附加组为group2;
7.把u1用户锁定,并观察有什么变化,并解锁账号;
8.连同主目录一并删除账号user3用户;

所有操作要在root下,切换到root的方法:先sucd~

1.新建一个user1用户,UID、GID、主目录均按默认;
在这里插入图片描述
2.新建一个user2用户,UID=1200、其余按默认;
在这里插入图片描述
3.新建一个user3用户,默认主目录为/abc、其余默认;并观察这三个用户的信息有什么不同;
在这里插入图片描述
在这里插入图片描述
4.分别为以上三个用户设置密码为123456;
在这里插入图片描述
在这里插入图片描述

5.把user1用户改名为u1,UID改为1700,主目录为/test,密码改为12345678;
在这里插入图片描述
查看
在这里插入图片描述

6.将用户user3的主目录改名为/ab,并修改其附加组为group2;
在这里插入图片描述
在这里插入图片描述

7.把u1用户锁定,并观察有什么变化,并解锁账号;
在这里插入图片描述

8.连同主目录一并删除账号user3用户;
在这里插入图片描述

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

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

相关文章

9.18 丑数|换根dp

lc854 偶数之间的奇数个数 差值/2 先都变成偶数 把整个范围包起来&#xff0c;反正偶数不做数class Solution {public int countOdds(int low, int high) {if(low % 2 1){--low;}if(high % 2 1){high;}return (high - low) / 2;} }lc17.10摩尔投票class Solution { public:i…

PHP通过命令行调用Ghostscript把pdf转换成图片集

1.使用命令行在服务器上安装Ghostscript&#xff0c;网上教程很多按步骤操作就行。2.使用php执行命令行。/*** 使用Ghostscript命令行转换PDF为图片** param string $pdfUrl PDF文件URL* param string $folderName 存储目录名 (默认值&#xff1a;wenjianming)** return ar…

Spring Boot `@Service` 互相调用全攻略:`@Autowired` vs `@Resource`

Spring Boot Service 互相调用全攻略&#xff1a;Autowired vs Resource 在日常写 Spring Boot 项目的时候&#xff0c;经常会遇到一个问题&#xff1a;多个 Service 之间需要互相调用&#xff0c;到底该怎么写才优雅&#xff1f;用 Autowired&#xff1f;用 Resource&#xf…

c过渡c++应知应会(2)

c过渡c应知应会&#xff08;2&#xff09;1.缺省参数2.函数重载3.引用4.inline1.缺省参数 缺省参数是声明或定义函数时为函数的参数指定一个缺省值。在调用该函数时&#xff0c;如果没有指定实参&#xff0c;则采用该形参的缺省值&#xff0c;否则使用指定的实参&#xff0c;缺…

SSH连接排故排查

文章目录SSH连接排故排查案例1&#xff1a;解决思路排故过程故障模拟SSH连接排故排查 案例1&#xff1a; 你是某在线教育公司的运维工程师&#xff0c;负责维护 3 台应用服务器。今日上午 9 点&#xff0c;开发团队反馈无法通过 SSH 连接 10.1.8.10 服务器部署代码。该服务器…

Python爬虫实战——使用NetNut网页解锁器获取亚马逊电商数据的入门指南

摘要在当今数字化时代&#xff0c;电商数据蕴含着巨大的商业价值。亚马逊作为全球知名的电商平台&#xff0c;其上的商品信息、用户评价等数据对于市场分析、竞品研究等具有重要意义。然而&#xff0c;由于反爬虫机制的存在&#xff0c;直接获取亚马逊电商数据并非易事。本文将…

汽车多核架构中内存系统故障检测的改进算法

摘要随着半导体行业向纳米级方向发展&#xff0c;多核架构已成为主流趋势。然而&#xff0c;这一趋势也使得多核处理器面临诸多挑战&#xff0c;在一定程度上限制了其性能发挥。目前&#xff0c;汽车行业中的混合安全关键型系统普遍采用多核处理器。为满足新兴自动驾驶等级的需…

VastBase数据库Crash后使用gdb收集coredump信息

VastBase数据库Crash后使用gdb收集coredump信息&#x1f418; 数据库版本&#xff1a;VastBase G100 V3.0.8检查数据库崩溃后生成的core文件&#xff1a; [vbdbadbhost vastbase]$ ll -h core* -rw------- 1 vbdba vbdba 62G Aug 20 20:02 core-vastbase-162199-2025_08_20_19_…

【LeetCode 每日一题】2749. 得到整数零需要执行的最少操作数

Problem: 2749. 得到整数零需要执行的最少操作数 文章目录整体思路完整代码时空复杂度时间复杂度&#xff1a;O(1)空间复杂度&#xff1a;O(1)整体思路 这段代码旨在解决一个具有数学和位运算性质的问题&#xff1a;给定两个整数 num1 和 num2&#xff0c;找到最小的正整数 k&…

安卓开发工程师中高级知识点 —— 系统底层安全方向

一、AIDL 通信 Android Interface Definition Language 基于 Binder 实现跨进程通信&#xff08;IPC&#xff09;&#xff0c;核心是通过定义接口生成代理类&#xff0c;屏蔽底层 Binder 通信细节 适用于跨进程服务调用&#xff08;如系统服务、多App协作&#xff09;。常见于后…

动环监控系统-机房高效运维

动环监控系统&#xff08;全称为动力环境监控系统&#xff09;是机房高效运维的核心工具&#xff0c;通过集成动力、环境、安防、IT设备等模块&#xff0c;结合智能告警、AI分析、3D可视化等技术&#xff0c;实现机房的全方位监控与管理。动力系统监控供电设备&#xff1a;实时…

知微传感Dkam系列3D相机SDK例程篇:CSharp设置相机工作模式

设置3D相机触发模式 写在前面 本人从事机器视觉细分的3D相机行业。编写此系列文章主要目的有&#xff1a; 1、便利他人应用3D相机&#xff0c;本系列文章包含公司所出售相机的SDK的使用例程及详细注释&#xff1b;2、促进行业发展及交流。设置触发模式及API说明 触发模式说明 知…

PHP 常用函数及用法

文章目录PHP 常用函数及用法一、字符串处理函数1. 字符串基础操作2. 字符串查找与替换3. 字符串分割与连接4. 字符串大小写转换5. 字符串格式化二、数组操作函数1. 数组基础操作2. 数组遍历与查找3. 数组修改与排序4. 数组过滤与合并三、文件操作函数1. 文件读写2. 文件和目录信…

yum命令--obsoletes与--allowerasing两者的区别

在 YUM&#xff08;Yellowdog Updater Modified&#xff09;包管理工具中&#xff0c;–obsoletes 和 --allowerasing 是两个与包升级 / 安装相关的选项&#xff0c;它们的功能和使用场景有明显区别&#xff1a; 1. --obsoletes&#xff08;默认启用&#xff09;作用&#xff1…

Day24_【深度学习(3)—PyTorch使用(1)—张量的创建和类型转换】

一、创建张量1.张量基本创建方式torch.tensor 根据指定数据创建张量 &#xff08;最重要&#xff09;torch.Tensor 根据形状创建张量, 其也可用来创建指定数据的张量torch.IntTensor、torch.FloatTensor、torch.DoubleTensor 创建指定类型的张量1.1 torch.tensor# 方式一&…

阿里云图像编辑大模型开发部署

与阿里云一起轻松实现数智化让算力成为公共服务&#xff1a;用大规模的通用计算&#xff0c;帮助客户做从前不能做的事情&#xff0c;做从前做不到的规模。让数据成为生产资料&#xff1a;用数据的实时在线&#xff0c;帮助客户以数据为中心改变生产生活方式创造新的价值。图像…

查看磁盘分区并新建一个分区,挂载分区

linux系统磁盘df -h查看文件系统的磁盘的空间占用情况&#xff0c;常用于快速检查磁盘使用率&#xff1a;df -h-h是说把磁盘空间以G位单位&#xff0c;如果直接用df也是可以的&#xff0c;只不过单位是块&#xff0c;看的不明显du -sh /home/查看/home目录下总共占用了多大的空…

vscode单击暂时预览文件 双击持续打开文件

直接单击文件列表中的文件&#xff0c;会在编辑器中以预览模式打开 文件标签会显示为斜体&#xff0c;表示是预览状态 当您单击另一个文件或开始编辑时&#xff0c;预览文件会自动关闭 在 settings.json 中添加&#xff0c;mac通过cmd,实现。 json {"workbench.editor.ena…

设计模式-桥接模式04

什么是桥接模式&#xff1f; 桥接模式就是把事物的两个方面&#xff08;两个变化的维度&#xff09;分开管理&#xff0c;让它们可以分别自由变化&#xff0c;然后通过一个“桥”把它们连接起来。举个生活中的例子 想象一下你在买鞋子&#xff1a; 鞋子有不同的款式&#xff08…

群晖企业级NAS :从中小企业效率工具到核心业务数据基石

在数字化转型加速的今天&#xff0c;数据已成为企业最核心的资产。全球超半数财富 500 强企业选择群晖&#xff08;Synology&#xff09;作为数据管理伙伴&#xff0c;其企业级 NAS 解决方案凭借 DSM 操作系统的生态优势、硬件与软件的深度协同&#xff0c;以及覆盖全场景的产品…