Linu学习笔记一

Linux系统的目录结构

1、Linux目录结构的特点

分区 ‘加载’ 于目录结构:

使用树形目录结构来组织和管理文件。

整个系统只有一个位于根分区的一个根目录(树根)、一棵树

其他所有分区、目录、文件以及外部设备(如硬盘、光驱等)都是以根目录为起点,挂接在目录树的
某个目录中的
通过访问挂载点目录,即可实现对这些分区的访问。

Linux的根目录用“/”表示

每个主分区或逻辑分区都有一个独立的根目录和相应的树形目录结构,各分区采用盘符进行区分和标 识。

一句话,Linux中万物皆文件

在这里插入图片描述

/ Linux文件系统的最上层根目录,其他所有目录均是该目录的子目录
/bin Binary的缩写,存放普通用户可执行的程序或命令
/boot 存放系统启动时所需的文件,这些文件若损坏常会导致系统无法启动,一般不要改动
/dev dev 是设备(device)的英文缩写。包含所有的设备文件
/etc 存放了系统管理时要用到的各种配置文件和子目录
/home 存放一般用户的个人目录
/lib 是库(library)英文缩写,存放系统的各种库文件
/lib64 存放系统本身需要用到64位程序的共享函数库(library)
/mnt/media 可以临时将别的文件系统挂在这个目录下,即为其他的文件系统提供安装点
/opt 该目录通常提供给较大型的第三方应用程序使用,例如Sun Staroffice、Corel WordPerfect,这可避免将文件分散至整个文件系统
/proc 可以在这个目录下获取系统信息。这些信息是在内存中由系统自己产生的
/root 超级用户的个人目录,普通用户没有权限访问
/run 保存自系统启动以来描述系统信息的文件
/sbin 和/bin类似,这些文件往往用来进行系统管理,只有root可使用
/srv srv 是服务(server)的简写,服务启动之后需要访问的数据目录
/sys 本目录是将内核的一些信息映射文件,以供应用程序所用
/tmp 用来存放不同程序执行时产生的临时文件。
/home 存放一般用户的个人目录
/usr 一般用户程序安装所在的目录,用于安装各种应用程序
/var 通常各种系统日志文件放在这里

2、工作目录、用户家目录及路径

绝对路径:是指以根目录“/”为起点来表示系统中某个文件(或目录)的位置的方式

相对路径:是以当前目录为起点,表示系统中某个文件或目录在目录结构中的位置的方式。

3、 Linux的文件类型大致可分为

普通文件:用于存放数据、程序等信息的文件。

使用 ls -l 命令后,第一列第一个字符为 “-” 的文件为普通文件

以普通文件为例,使用 ls -l 命令,可以看到结果的第一列是 -rwxrwxrwx 的形式,其中第一个字符 “-” 表示这个文件为普通文件,它也可以是其他的字符,不同的字符代表不同类型的文件。其后的一串字符表明了该文件的权限,其中:

1)r 表明该文件具有可读权限,若该位置为 “-” ,则表明文件不可读;
2)w 表明该文件具有写权限,若该位置为 “-” ,则表明文件不可写;
3)x 表明该文件具有可执行权限,若该位置为 “-” ,则表明文件不具有可执行权限;
4)第一个 rwx 表示该文件的所有者对该文件的权限;第二个 rwx 表示该文件所属组对该文件的权限;第三个 rwx 表示其他用户对该文件的权限。

目录文件:是由文件系统中一个目录所包含的目录项组成的文件。

第一个字符为 “d” 在 Linux 中代表该文件是一个目录文件

链接文件:又称符号链接文件, 用于不同目录下文件的共享。实际上它指向另一个文件。

硬链接

硬链接,相当于给原文件取了个别名,其实两者是同一个文件,删除二者中任何一个,另一个不会消失
同样的,使用 ln 命令可以创建一个文件的硬链接:

ln test.txt test_hardlink

软连接

软链接相当于给原文件创建了一个快捷方式,如果删除原文件,则对应的软链接文件也会消失。
软链接(又称符号链接),使用 ln -s file file_softlink 命令可以创建一个文件的软链接文件:

ln -s test.txt test_softlink

设备文件:用于与I/O设备提供连接的一种文件,分为 块设备文件:表示磁盘、光盘等

1)块设备文件:

一个 block 通常为 4KB 的大小,也就是说每次可以存取 4096(或其整数倍) 个字节的数据
硬盘、软盘等都是块设备
块设备文件支持以块(block)为单位的访问方式

2)字符设备文件:

字符终端、串口和键盘等就是字符设备
字符设备文件:联系着按照字符进行操作的终端、键盘等设备。
字符设备文件的第一个字符是 “c”(char)

管道文件:主要用于在进程间传递数据。

套接字文件 :套接字(socket)文件通常用于网络数据连接。

管道文件主要用于进程间通信,第一个字符为 “p”(pipe)


ls命令

列表(list)显示目录内容——ls命令
命令格式:ls [选项] 文件名或目录名

选项 功能
-a 显示所有子目录和文件的信息,包括名称以“.”开头的隐藏目录和隐藏文件。
-A 与-a选项的作用类似,但不显示表示当前目录的“.”和表示父目录的“…”。
-c 按文件的修改时间排序后,予以显示。
-d 显示指定目录本身的信息,而不显示目录下的各个文件和子目录的信息。
-h 以更人性化的方式显示出目录或文件的大小,默认的大小单位为字节,使用-h选项后将显示为K、M等单位。此选项需要和-l选项结合使用才能体现出结果。
-l 以长格形式显示文件和目录的详细信息,ls命令默认只显示名称的短格式。
-R 以递归的方式显示指定目录及其子目录中的所有内容。

date命令

参数 作用
%S 秒(00~59)
%M 分钟(00~59)
%H 小时(00~23)
%I 小时(00~12)
%m 月份(1~12)
%p 显示出AM或PM
%a 缩写的工作日名称(例如:Sun)
%A 完整的工作日名称(例如:Sunday)
%b 缩写的月份名称(例如:Jan)
%B 完整的月份名称(例如:January)
%q 季度(1~4)
%y 简写年份(例如:20)
%Y 完整年份(例如:2020)
%d 本月中的第几天
%j 今年中的第几天
%n 换行符(相当于按下回车键)
%t 跳格(相当于按下Tab键)

按照“年-月-日 小时:分钟:秒”的格式查看当前系统时间的date命令如下所示:

[root@ikta ~]# date "+%Y-%m-%d %H:%M:%S"
2021-11-23 11:46:23

将系统的当前时间设置为2020年11月1日8点30分的date命令如下所示:

[root@ikta ~]# date -s "20201101 8:30:00" 
Sun Nov 1 08:30:00 CST 2020

timedatectl命令

timedatectl命令用于设置系统的时间,英文全称为:“time date control”

语法格式为:“ timedatectl [参数]”

timedatectl命令中的参数以及作用

参数 作用
status 显示状态信息
list-timezones 列出已知时区
set-time 设置系统时间
set-timezone 设置生效时区

查看系统时间与时区:

[root@ikta ~]# date "+%Y-%m-%d %H:%M:%S"
2021-11-23 11:46:23
[root@ikta ~]# timedatectl status 
               Local time: Tue 2021-11-23 11:49:03 CST
           Universal time: Tue 2021-11-23 03:49:03 UTC
                 RTC time: Tue 2021-11-23 03:49:03
                Time zone: Asia/Shanghai (CST, +0800)
System clock synchronized: no
              NTP service: inactive
          RTC in local TZ: no

mkdir命令

——mkdir命令(make directory)

命令格式: mkdir [-p] [/路径/]目录名 -p——可快速创建出目录结构中指定的每个目录,对于已存在的目录不会被覆盖

[root@ikta ~]# mkdir test.txt

du命令

统计目录及文件的空间占用情况——du命令

功能:查看某个目录中的各级子目录所占用的磁盘空间数。

命令格式: du [选项] [目录名] 如果不跟目录名,则缺省为当前目录。

选项 功能
-a 统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录。
-s 只统计每个参数所占用空间总的大小,而不是统计每个子目录、文件的大小。
-h 以K,M,G为单位显示磁盘使用情况,以提高信息的可读性。

reboot命令

reboot命令用于重启系统

poweroff命令

poweroff命令用于关闭系统

wget命令

wget命令用于在终端命令行里下载网络文件,英文全称为:“web get”
语法格式为:“wget [参数] 网 址”。

wget命令中的参数以及作用

参数 作用
-b 后台下载模式
-P 下载到指定目录
-t 最大尝试次数
-c 断点续传
-p 下载页面内所有资源,包括图片、视频等
-r 递归下载

在这里插入图片描述

Bash 执行命令

1、Shell命令一般格式

Shell命令的一般格式如下:

命令名 [选项] [参数]

其中命令名、选项、参数之间使用空格隔开,多余的空格将被忽略,而用方括号括起来的部分表明该项是可 省略的,如直接在提示符后面输入命令date,显示当前的日期和时间。

(1)命令名——决定了该命令“做什么” 命令名由小写的英文字母构成,往往是表示相应功能的英文单词或单词的缩写
(2)选项——决定了该命令“怎么做” 不同的命令,其能够使用的的选项也会不同(数量和内容),以“-”(半角的减号符)引导,多个选项可用一个“-” 连起来,如“-la”等同于“-l-a”。注意“-”一般不能省略,个别命令的选项中的减号可以省略,如tar命令。
(3)参数——决定了该命令“对谁做” 参数提供命令执行所需提供的一些相关信息或者是命令执行过程中所使用的文件名。有一些命令可以完 全不用参数,而有一些则可能需要多个参数。
(4)Linux的命令、选项、参数均区分大小写,大多数情况下是小写。
(5)按【Ctrl+C】键可中断正在执行的命令。

2、命令、选项和参数的自动补全

[root@ikta ~]# rpm -q bash-completion
bash-completion-2.7-5.el8.noarch
[root@ikta ~]# 

两种补全:

补全命令:输入命令关键字的前几个字符后,按Tab键,可实现命令自动补全。
补全文件名和目录名(当前路径下的)

3、bash shell提示符

[root@localhost ~]# echo $PS1 
[\u@\h \W]\$ 
[root@localhost ~]# -->root用户提示符 

[test@localhostr ~]$ -->普通用户提示符

PS1常用的参数含义如下:

\d :#代表日期,格式为weekday month date,例如:“Mon Aug 1”

\H :#完整的主机名称

\h :#仅取主机的第一个名字

\t :#显示时间为24小时格式,如:HH:MM:SS

\T :#显示时间为12小时格式

\A :#显示时间为24小时格式:HH:MM

\u :#当前用户的账号名称

\v :#BASH的版本信息

\w :#完整的工作目录名称

\W :#利用basename取得工作目录名称,所以只会列出最后一个目录

# :#下达的第几个命令

$ :#提示字符,如果是root时,提示符为:# ,普通用户则为:$

查看IP

[root@localhost ~]$ ifconfig
[root@localhost ~]$ ip a

man命令

man用来提供在线帮助,使用权限是所有用户。在Linux系统中存储着一部联机使用的手册,以 供用户在终端上查找。使用man命令可以调阅其中的帮助信息,非常方便实用。

语法格式:

man[-acdfhkktwW] [-m system] [-p string] [-C config_file] [-Mpath] [-P pager] [-S section_list][section] name…

man命令中常用按键以及作用

按键 作用
空格键 向下翻一页
PaGe down 向下翻一页
PaGe up 向上翻一页
home 直接前往首页
end 直接前往尾页
/ 从上至下搜索某个关键词,如“/linux”
? 从下至上搜索某个关键词,如“?linux”
n 定位到下一个搜索到的关键词
N 定位到上一个搜索到的关键词
q 退出帮助文档

一般来讲,使用man命令查看到的帮助内容信息都会很长很多,如果读者不了解帮助文档信息的目录结 构和操作方法,乍一看到这么多信息可能会感到相当困惑。man命令的帮助信息的结构如表

man命令中帮助信息的结构以及意义

结构名称 代表意义
NAME 命令的名称
SYNOPSIS 参数的大致使用方法
DESCRIPTION 介绍说明
EXAMPLES 演示(附带简单说明)
OVERVIEW 概述
DEFAULTS 默认的功能
OPTIONS 具体的可用选项(带介绍)
ENVIRONMENT 环境变量
FILES 用到的文件
SEE ALSO 相关的资料
HISTORY 维护历史与联系方式

打包、压缩、解压缩

xargs和-exec

[root@ikta ~]# touch find_test{1..5}.txt         ---------创建五个文件
[root@ikta ~]# find . -name "find_test*.txt"
./find_test1.txt
./find_test2.txt
./find_test4.txt
./find_test5.txt
./find_test3.txt

使用xargs输出,可见是以空格为分隔符,多行放到一行显示

[root@ikta ~]# find . -name "find_test*.txt" | xargs 
./find_test1.txt ./find_test2.txt ./find_test4.txt ./find_test5.txt ./find_test3.txt

-n为每行参数最大值

[root@ikta ~]# find . -name "find_test*.txt" | xargs -n 3
./find_test1.txt ./find_test2.txt ./find_test4.txt
./find_test5.txt ./find_test3.txt

执行删除操作

[root@ikta ~]# find . -name "find_test*.txt" | xargs -n 3 rm -rf
[root@ikta ~]# find . -name "find_test*.txt"
[root@ikta ~]# 

所以xargs可改变我们输出的格式,前面默认换行输出的格式我们可以改变它

xargs默认的分隔符为空格

[root@ikta ~]# echo "arg1 arg2 arg3"
arg1 arg2 arg3
[root@ikta ~]# echo "arg1 arg2 arg3" | xargs
arg1 arg2 arg3 

那么我们改变它的形式,-n 1 ==>每行显示一个

[root@ikta ~]# echo "arg1 arg2 arg3" | xargs -n 1
arg1
arg2
arg3

现在我们来分析

[root@ikta ~]# find . -name "find_test*.txt" | xargs -n 3 rm -rf

执行xargs的时候 -n 3 每行输出三个,rm -rf每次删除几个呢?

答案是三个,随n后面的值而每次删除的个数

[root@ikta ~]# echo "arg1Zarg2Zarg3" | xargs
arg1Zarg2Zarg3
[root@ikta ~]# echo "arg1Zarg2Zarg3" | xargs -n 1
arg1Zarg2Zarg3

为什么显示的一样呢,因为默认的分隔符为空格,现在是Z

那我们加个 -d 后面跟分隔符

[root@ikta ~]# echo "arg1Zarg2Zarg3" | xargs -d Z
arg1 arg2 arg3

-d指定分隔符

-I 替换字符串

我们重新创建五个文件

[root@ikta ~]# touch find_test{1..5}.txt
[root@ikta ~]# find . -name "find_test*.txt"
./find_test1.txt
./find_test2.txt
./find_test4.txt
./find_test5.txt
./find_test3.txt

现在我们不使用管道符,使用-exec

[root@ikta ~]# find . -name "find_test*.txt" -exec rm {} \;

{}意思是前面我们每次find找到的结果每行作为一次参数传给它

意味着就是-exec后面的rm要执行五次,rm后面的参数我们要删除谁,find_test{1, 2, 3, 4, 5}.txt,执行五次,所以这个括号{}类似一个占位符,每次传进来一个参数,rm要执行一次,执行五次

我们重新创建五个文件

[root@ikta ~]# touch find_test{1..5}.txt
[root@ikta ~]# find . -name "find_test*.txt"
./find_test1.txt
./find_test2.txt
./find_test4.txt
./find_test5.txt
./find_test3.txt

现在使用xargs

如果是这种形式,意味着前面查询到的结果一次性传过来,rm执行一次,一次性删除所有

[root@ikta ~]# find . -name "find_test*.txt" | xargs  rm -rf

如果我们想像-exec一样每次只执行一次呢

[root@ikta ~]# find . -name “find_test*.txt” | xargs -I {} rm -rf {}

{} => 前面我们查询到的结果按行输出,现在用xargs后按空格分隔,意味着我们现在有五个参数,原先是按行输出,现在每个参数去替换这个大括号,然后再给后面去执行
rm find_test1.txt rm 后面跟的参数
{} => 后面

ZIP

创建三个文件

[root@ikta ~]# touch find_test{1..3}
[root@ikta ~]# du -sh find_test1
4.0K	find_test1

使用zip压缩(保留源文件)

[root@ikta ~]# zip find_test1.zip find_test1
  adding: find_test1 (deflated 98%)
[root@ikta ~]# du -sh find_test*
4.0K	find_test1
4.0K	find_test1.zip
0	find_test2
0	find_test3
[root@ikta ~]# ls -l find_test*
-rw-r--r--. 1 root root 2333 Nov 18 20:34 find_test1
-rw-r--r--. 1 root root  224 Nov 18 20:36 find_test1.zip
-rw-r--r--. 1 root root    0 Nov 18 20:32 find_test2
-rw-r--r--. 1 root root    0 Nov 18 20:32 find_test3

zip -9 最大限度去压缩

[root@ikta ~]# zip -9 find_test2.zip find_test2

创建目录文件

[root@ikta ~]# mkdir zip_test
[root@ikta ~]# cp find_test1 find_test2 zip_test/

压缩目录

[root@ikta ~]# zip zip_test.zip zip_test/
  adding: zip_test/ (stored 0%)
[root@ikta ~]# ls -l zip_test*
-rw-r--r--. 1 root root 168 Nov 18 20:48 zip_test.zip
zip_test:
total 8
-rw-r--r--. 1 root root 2333 Nov 18 20:46 find_test1
-rw-r--r--. 1 root root 2333 Nov 18 20:46 find_test2

嵌套目录

[root@ikta ~]# cd zip_test/
[root@ikta zip_test]# ls
find_test1  find_test2
[root@ikta zip_test]# ll
total 8
-rw-r--r--. 1 root root 2333 Nov 18 20:46 find_test1
-rw-r--r--. 1 root root 2333 Nov 18 20:46 find_test2
[root@ikta zip_test]# mkdir inner_dir
[root@ikta zip_test]# cp find_test1 inner_dir/
[root@ikta zip_test]# ls
find_test1  find_test2  inner_di

如果为目录文件则递归去压缩

[root@ikta ~]# zip -r zip_dir.zip zip_test
  adding: zip_test/ (stored 0%)
  adding: zip_test/find_test1 (deflated 98%)
  adding: zip_test/find_test2 (deflated 98%)
  adding: zip_test/inner_dir/ (stored 0%)
  adding: zip_test/inner_dir/find_test1 (deflated 98%)

解压文件到unzip_test/目录

[root@ikta ~]# unzip zip_dir.zip -d unzip_test/
Archive:  zip_dir.zip
   creating: unzip_test/zip_test/
  inflating: unzip_test/zip_test/find_test1  
  inflating: unzip_test/zip_test/find_test2  
   creating: unzip_test/zip_test/inner_dir/
  inflating: unzip_test/zip_test/inner_dir/find_test1

把xx文件添加到压缩文件当中

[root@ikta ~]# zip -m zip_dir.zip uniq_data.txt 
  adding: uniq_data.txt (deflated 17%)

gzip

使用gzip进行压缩,发现压缩比更高

[root@ikta ~]# gzip -c find_test1 > find_test1.gzip
[root@ikta ~]# ls -l find_test1*
-rw-r--r--. 1 root root 2333 Nov 18 20:34 find_test1
-rw-r--r--. 1 root root   83 Nov 18 21:10 find_test1.gzip
-rw-r--r--. 1 root root  224 Nov 18 20:36 find_test1.zip

bzip2、bunzip2

比gzip有着更高的压缩率

[root@ikta ~]# bzip2 find_test1
[root@ikta ~]# ls -l find_test1*
-rw-r--r--. 1 root root  69 Nov 18 20:34 find_test1.bz2
-rw-r--r--. 1 root root  83 Nov 18 21:10 find_test1.gzip
-rw-r--r--. 1 root root 224 Nov 18 20:36 find_test1.zip

发现压缩后我们的源文件不见了

使用bzip2解压文件

[root@ikta ~]# bzip2 -d find_test1.bz2 
[root@ikta ~]# ls -l find_test1*
-rw-r--r--. 1 root root 2333 Nov 18 20:34 find_test1
-rw-r--r--. 1 root root   83 Nov 18 21:10 find_test1.gzip
-rw-r--r--. 1 root root  224 Nov 18 20:36 find_test1.zip

加参数-9最大限度去压缩

[root@ikta ~]# bzip2 -9 find_test1
[root@ikta ~]# ls -l find_test1*
-rw-r--r--. 1 root root  69 Nov 18 20:34 find_test1.bz2
-rw-r--r--. 1 root root  83 Nov 18 21:10 find_test1.gzip
-rw-r--r--. 1 root root 224 Nov 18 20:36 find_test1.zip

bunzip2解压文件

[root@ikta ~]# bunzip2 find_test1.bz2 
[root@ikta ~]# ls -l find_test1*
-rw-r--r--. 1 root root 2333 Nov 18 20:34 find_test1
-rw-r--r--. 1 root root   83 Nov 18 21:10 find_test1.gzip
-rw-r--r--. 1 root root  224 Nov 18 20:36 find_test1.zip

xz、unxz

使用xz进行压缩(源文件不见)

[root@ikta ~]# xz find_test1
[root@ikta ~]# ls -l find_test1*
-rw-r--r--. 1 root root  83 Nov 18 21:10 find_test1.gzip
-rw-r--r--. 1 root root 112 Nov 18 20:34 find_test1.xz
-rw-r--r--. 1 root root 224 Nov 18 20:36 find_test1.zip

查看压缩文件当中的内容

[root@ikta ~]# xzcat find_test1.xz 

解压缩文件

[root@ikta ~]# xz -d find_test1.xz 
[root@ikta ~]# unxz find_test1.xz 

压缩两个文件

[root@ikta ~]# xz find_test1 find_test2
[root@ikta ~]# ls -l find_test*
-rw-r--r--. 1 root root  83 Nov 18 21:10 find_test1.gzip
-rw-r--r--. 1 root root 112 Nov 18 20:34 find_test1.xz
-rw-r--r--. 1 root root 224 Nov 18 20:36 find_test1.zip
-rw-r--r--. 1 root root 112 Nov 18 20:44 find_test2.xz
-rw-r--r--. 1 root root 220 Nov 18 20:45 find_test2.zip
-rw-r--r--. 1 root root   0 Nov 18 20:32 find_test3

那么怎么压缩为一个文件的 ( -c )

[root@ikta ~]# xz find_test1 find_test2 -c > find_test12.xz
[root@ikta ~]# ls -l find_test*
-rw-r--r--. 1 root root 2333 Nov 18 20:34 find_test1
-rw-r--r--. 1 root root  224 Nov 18 21:36 find_test12.xz
-rw-r--r--. 1 root root   83 Nov 18 21:10 find_test1.gzip
-rw-r--r--. 1 root root  224 Nov 18 20:36 find_test1.zip
-rw-r--r--. 1 root root 2333 Nov 18 20:44 find_test2
-rw-r--r--. 1 root root  220 Nov 18 20:45 find_test2.zip
-rw-r--r--. 1 root root    0 Nov 18 20:32 find_test3

tar

tar打包文件

-c创建 .tar格式的包文件

-f指定包文件名 -file

[root@ikta ~]# tar -cf find_test.tar find_test1 find_test2
[root@ikta ~]# ls -l find_test*
-rw-r--r--. 1 root root  2333 Nov 18 20:34 find_test1
-rw-r--r--. 1 root root   224 Nov 18 21:36 find_test12.xz
-rw-r--r--. 1 root root    83 Nov 18 21:10 find_test1.gzip
-rw-r--r--. 1 root root   224 Nov 18 20:36 find_test1.zip
-rw-r--r--. 1 root root  2333 Nov 18 20:44 find_test2
-rw-r--r--. 1 root root   220 Nov 18 20:45 find_test2.zip
-rw-r--r--. 1 root root     0 Nov 18 20:32 find_test3
-rw-r--r--. 1 root root 10240 Nov 18 21:41 find_test.tar

查看包当中的文件

[root@ikta ~]# tar -tf find_test.tar 
find_test1
find_test2

解包

-xf解包 -C指定解包到文件夹

[root@ikta ~]# tar -xf find_test.tar -C tar_test/

-v显示打包过程

[root@ikta ~]# tar -cvf find_test1122.tar find_test1 find_test2
find_test1
find_test2

使用gzip压缩,tar进行打包

[root@ikta ~]# tar -czvf find_test.tar.gz find_test1 find_test2
find_test1
find_test2

使用bzip2压缩,tar进行打包

[root@ikta ~]# tar -cjvf find_test.tar.bz find_test1 find_test2
find_test1
find_test2

使用xz压缩,tar进行打包

[root@ikta ~]# tar -cJvf find_test.tar.xz find_test1 find_test2
find_test1
find_test2

查看包当中的文件

[root@ikta ~]# tar -tf find_test.tar 
find_test1
find_test2

解包

-xf解包 -C指定解包到文件夹

[root@ikta ~]# tar -xf find_test.tar -C tar_test/

-v显示打包过程

[root@ikta ~]# tar -cvf find_test1122.tar find_test1 find_test2
find_test1
find_test2

使用gzip压缩,tar进行打包

[root@ikta ~]# tar -czvf find_test.tar.gz find_test1 find_test2
find_test1
find_test2

使用bzip2压缩,tar进行打包

[root@ikta ~]# tar -cjvf find_test.tar.bz find_test1 find_test2
find_test1
find_test2

使用xz压缩,tar进行打包

[root@ikta ~]# tar -cJvf find_test.tar.xz find_test1 find_test2
find_test1
find_test2

简单来说一遍记住!!!

c 创建.tar格式的包文件
x 释放.tar格式的包文件
v 表示在命令执行时显示详细的提示信息
z 调用gzip程序,以gzip格式压缩或解压缩文件。
j 调用bzip2程序,以bzip2格式压缩或解压缩文件。
J 使用xz压缩(.tar.xz)。xz的压缩率通常比bzip2更高
C 目录路径名 释放包时指定释放的目标的位置。

使用gzip压缩,tar进行打包

[root@ikta ~]# tar -czvf find_test.tar.gz find_test1 find_test2

使用bzip2压缩,tar进行打包

[root@ikta ~]# tar -cjvf find_test.tar.bz find_test1 find_test2

使用xz压缩,tar进行打包

[root@ikta ~]# tar -cJvf find_test.tar.xz find_test1 find_test2

如果要解包里面的c全部替换为x

おすすめ

転載: blog.csdn.net/weixin_44811851/article/details/121490557