Linux

Linux

1. 基础

Linux内核是免费开源的,任何人都可以下载内核源码并查看且修改

可以通过:http://www.kernel.org 去下载Linux内核

Linux发行版:内核+系统级程序的完整封装

乌邦图或者Centos是两种不同的发行版

1.1 FinalShell安装

验证网络适配器是否正常:

win+r ncpa.cpl

我们使用VMware可以得到Linux虚拟机,但是在VMware中操作Linux的命令行页面不太方便,主要是:

•内容的复制、粘贴跨越VMware不方便

•文件的上传、下载跨越VMware不方便

•也就是和Linux系统的各类交互,跨越VMware不方便

我们可以通过第三方软件,FinalShell,远程连接到Linux操作系统之上。

并通过FinalShell去操作Linux系统。

FinalShell的下载地址为:

Windows:

http://www.hostbuf.com/downloads/finalshell_install.exe

Mac:

http://www.hostbuf.com/downloads/finalshell_install.pkg

注意:

虚拟机的IP地址是会改变的,可以每次去虚拟机使用ip addr命令去查看

1.2 虚拟机快照

在学习阶段我们无法避免的可能损坏Linux操作系统。

如果损坏的话,重新安装一个Linux操作系统就会十分麻烦。

VMware虚拟机(Workstation和Funsion)支持为虚拟机制作快照。

通过快照将当前虚拟机的状态保存下来,在以后可以通过快照恢复虚拟机到保存的状态。

建议关机之后再制作快照,鼠标右键点击虚拟机,快照管理器,点击拍摄快照就完成了。出现问题了可以恢复到这个快照。

恢复流程:还是关机之后打开快照管理器,选择相应的快照点击转到

1.3 快捷键合集

CTRL-C停止

CTRL - L 清屏

写一部分,Tab补全

1.4 查看命令帮助和手册

任何命令下都可以加--help

ls --hellp

如果想看命令的详细手册,可以通过man(manual,手册)命令查看

man ls  //查看ls命令的详细手册

2. 目录结构

Linux没有盘符这个概念, 只有一个根目录 /, 所有文件都在它下面

image-20240329152205468

/usr/local/hello.txt

注意:

开头的/表示根目录

后面的/表示层级关系

3. Linux基础命令

3.1 基础命令格式

无论是什么命令,用于什么用途,在Linux中,命令有其通用的格式:

command [-options] [parameter]

•command: 命令本身

•-options:[可选,非必填]命令的一些选项,可以通过选项控制命令的行为细节

•parameter:[可选,非必填]命令的参数,多数用于命令的指向目标等

语法中的[],表示可选的意思

3.2 ls命令

3.2.1 ls基础

ls命令的作用是列出目录下的内容,语法细节如下:

ls [-a -l -h] []

•-a -l -h 是可选的选项

•Linux路径是此命令可选的参数

Home:

Linux系统的命令行终端,在启动的时候,默认会加载:

•当前登录用户的HOME目录作为当前工作目录,所以ls命令列出的是HOME目录的内容

•HOME目录:每个Linux操作用户在Linux系统的个人账户目录,路径在:/home/用户名

•如,图中的Linux用户是itheima,其HOME目录是:/home/itheima

Windows系统和Linux系统,均设有用户的HOME目录

3.2.2 ls参数

那么ls的选项和参数具体有什么作用呢?首先我们先来看参数。

•当ls不使用参数,表示列出:当前工作目录的内容,即用户的HOME目录

•当使用参数,ls命令的参数表示:指定一个Linux路径,列出指定路径的内容

ls /

ls / 列出了根目录的内容

  1. -a

-a选项,表示:all的意思,即列出全部文件(包含隐藏的文件/文件夹)

ls -a 对比 ls 列出的内容更多了。

以.开头的,表示是Linux系统的隐藏文件/文件夹(只要以.开头,就能自动隐藏)

•只有通过-a选项,才能看到这些隐藏的文件/文件夹

2.-l

-l选项,表示:以列表(竖向排列)的形式展示内容,并展示更多信息

-l选项其实和图形化中,文件夹以列表形式排列是一个意思

这俩可以组合使用

ls -l -a
ls -la
ls -al

3.-h

-h 表示以易于阅读的形式,列出文件大小,如K、M、G

-h选项必须要搭配 -l 一起使用

参数可以一起使用

例:

ls -lah /

3.3 cd切换工作目录

来自英文Change Directory

语法:cd [Linux路径]

cd命令直接执行,不写参数,表示回到用户的HOME目录

//切换到根目录
cd / 
//切换到home目录
cd

3.4 pwd查看当前目录

功能:查看当前工作目录

来自英文:print work Directory

语法:直接输入pwd即可,无选项,无参数,直接输入

HOME目录

每一个用户在Linux系统中都有自己的专属工作目录,称之为HOME目录。

  • 普通用户的HOME目录,默认在:/home/用户名

  • root用户的HOME目录,在:/root

FinalShell登陆终端后,默认的工作目录就是用户的HOME目录

3.5路径

//绝对路径
cd /home/wns/Desktop
//相对路径
cd Desktop

绝对路径:以根目录为起点,描述路径的一种写法,描述以/开头

相对路径:以当前目录为起点,描述路径的一种写法,描述不用写/

特殊路径符号:

  • .,表示当前,比如./a.txt,表示当前文件夹内的a.txt文件
  • ..,表示上级目录,比如../表示上级目录,../../表示上级的上级目录
  • ~,表示用户的HOME目录,比如cd ~,即可切回用户HOME目录cd 比如说:cd ~/Desktop

3.6 mkdir创建文件夹

创建文件夹

来自英文:make directory

语法:mkdir [-p] Linux路径

参数必填,表示Linux路径,即要创建的文件夹的路径,相对路径或绝对路径均可

-p选项可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录

注意:确保操作在home目录内,不要在home外操作,涉及到权限问题,HOME外无法成功

3.7 touch创建文件

功能:创建文件

语法:touch Linux路径

无选项,参数必填,表示要创建的文件的路径

touch a.txt

文件夹和文件的区别:

1.颜色不同

2.ls -l查看时候文件的前缀有d

3.8 cat查看文件内容

语法:cat Linux路径

cat a.txtcat

3.9 more命令查看文件内容

cat是把文件内容全部展示出来

more支持翻页,如果文件内容过多,可以一页页展示

有一个系统文件路径为:/etc/services,可以用more命令查看

通过空格去翻页,想要退出按q

3.10 cp命令

用于复制文件/文件夹,cp命令来自英文单词copy

cp [-r] 参数1 参数2

  • 参数1,Linux路径,被复制的
  • 参数2,Linux路径,要复制去的地方
  • 选项:-r,可选,复制文件夹使用

示例:

  • cp a.txt b.txt,复制当前目录下a.txt为b.txt
  • cp a.txt test/,复制当前目录a.txt到test文件夹内
  • cp -r test test2,复制文件夹test到当前文件夹内为test2存在

3.11 mv 移动文件或文件夹

功能:移动文件、文件夹

语法:mv 参数1 参数2

  • 参数1:被移动的
  • 参数2:要移动去的地方,参数2如果不存在,则会把原来的文件进行改名
  • 要把移动的目标写上
//相当于把第一个改名为第二个
mv test2.txt test3.txt
//移动文件夹
mv test Desktop/

3.12 rm删除文件/文件夹

来自英语:remove

功能:删除文件、文件夹

语法:rm [-r -f] 参数...参数

  • 参数:支持多个,每一个表示被删除的,空格进行分隔
  • 选项:-r,删除文件夹使用
  • 选项:-f,强制删除,不会给出确认提示,一般root用户会用到

root用户才会弹出提示,所以说普通用户用不到

rm命令很危险,一定要注意,特别是切换到root用户的时候。

//删除多个的时候,用空格隔开
rm -r test1 test2 test3

rm命令支持通配符:

  • 符号*表示通配符,即可匹配任意内容(包括空)
  • test*,表示匹配任何以test开头的内容
  • *test,表示匹配任何以test结尾的内容
  • test,表示匹配任何包含test的内容
rm -r test*

如果要使用强制删除,可以切换到root用户:

su - root

输入与普通用户默认的密码(123456),临时切换root用户

退回普通用户:exit

3.13 which&find

3.13.1 which

Linux命令本体就是一个个的二进制可执行程序,和windows系统的.exe文件,是一个意思。

可以通过which命令,查看所使用的一系列命令的程序文件存放在哪里

语法:which 要查找的命令

which cd
which pwd

3.13.2 find

可以用来搜索指定的文件

1.按名字查找

find 起始路径 -name "被查找文件名"

find / -name test
  • 符号*表示通配符,即可匹配任意内容(包括空)
  • test*,表示匹配任何以test开头的内容
  • *test,表示匹配任何以test结尾的内容
  • test,表示匹配任何包含test的内容

2.按照文件大小查找

find 起始路径 -size +| -n[KMG]

示例

find / -size -10k //查找小于10KB的文件
find / -size +100M  //查找大于100MB的文件
find / -size +1G  //查找大于1G的文件

3.14 grep &wc

3.14.1 grep

从文件中通过关键字过滤文件行

grep [-n] 关键字 文件路径

grep -n "wlq" test.txt

3.14.2 wc

功能:统计

语法:wc [-c -m -l -w] 文件路径

  • 选项,-c,统计bytes数量
  • 选项,-m,统计字符数量
  • 选项,-l,统计行数
  • 选项,-w,统计单词数量
  • 参数,文件路径,被统计的文件,可作为内容输入端口

3.14.3 管道符

功能:将符号左边的结果,作为符号右边的输入

示例:

cat a.txt | grep itheima,将cat a.txt的结果,作为grep命令的输入,用来过滤itheima关键字

可以支持嵌套:

cat a.txt | grep itheima | grep itcast

3.15 echo

功能:输出内容,类似print函数

语法:echo 参数

  • 参数:被输出的内容

最好加上双引号。因为可能有些字符会造成识别错误

echo "hello"

反引号

功能:被两个反引号包围的内容,会作为命令执行

示例:

  • echo `pwd`,会输出当前工作目录

3.16 重定向符

功能:将符号左边的结果,输出到右边指定的文件中去

  • >,表示覆盖输出
  • >>,表示追加输出
echo "hello" > test.txt
echo `pwd` >> test.txt

3.17 tail

功能:查看文件尾部内容

语法:tail [-f -num] 参数

  • 参数:被查看的文件
  • 选项:-f,持续跟踪文件修改
  • 选项:-num ,表示查看尾部的多少行,不填默认十行
tail test.txt
tail -5 test.txt  //查看5行

右键点击finalshell的标签页,可以新开一个进行两个窗口操作。

tail -f test.txt

程序会一直运行,追踪文件的修改情况并打印在屏幕上

4. vi编辑器

vim是vi的加强版本,兼容vi的全部指令

4.1 三种工作模式

命令模式:所敲的按键编辑器都理解为命令,以命令驱动执行不同的功能。不能自由进行文本编辑

输入模式:编辑模式,插入模式。此模式下,可以对文件内容进行自由编辑。

底线命令模式:

以:开始,通常用于文件的保存,退出。

image-20240410163530175

4.2 步骤

编辑文件:

vi 文件路径

vim 文件路径

推荐使用第二个,因为兼容所有命令。

如果有文件,就会打开这个文件进行编辑,如果没有的话,就会自动创建一个

i键进入插入模式,进行编辑

esc回到命令模式

:wq! 保存并退出

4.3 快捷键

命令模式快捷键:

image-20221027215841573

image-20221027215846581

image-20221027215849668

底线命令模式快捷键:

image-20221027215858967

5. 用户和管理员

5.1 root用户

拥有最大的系统操作权限

切换用户:

su [-] [用户名]

退出:exit

超级管理员切换到普通用户不需要密码

但并不是所有的用户都有权利使用sudo,我们需要为普通用户配置sudo认证

步骤:

切换到root用户,执行visudo命令,会自动通过vi编辑器打开:/etc/sudoers

在文件的最后添加

wns ALL=(ALL) NOPASSWD:ALL

这样只要在wns用户的命令前加入sudo,就可以执行root的命令了

5.2 用户、用户组

可以配置多个用户,多个用户组,用户可以加入多个用户组中。

linux中关于权限的管控级别有两个级别:

  • 针对用户的权限控制
  • 针对用户组的权限控制

以下命令需root用户执行:

  • 创建用户组

    Groupadd 用户组名

  • 删除用户组名

    Groupdel 用户组名

  • 创建用户

    useradd [-g -d] 用户名

    -g:指定用户的组,不指定会创建同名组并加入。指定-g需要组已存在,不存在不行

    -d:指定用户Home路径,不指定,home目录默认在/home/用户名

    乌邦图好像不会自动创建,需要

    sudo useradd -m -g lb lb2
    
  • 删除用户

    userdel [-r]用户名

    选项:-r,删除用户的HOME目录,不使用-r,删除用户时,HOME目录保留

  • 查看用户所属组

    id[用户名]

    参数:用户名,被查看的用户,如果不提供则查看自身

    查看用户id,用户所属组id

  • 修改用户所属组

    Usermod -aG 用户组 用户名,将指定用户加入指定用户组

getent

  1. 查看当前系统中有哪些用户

​ 语法:getent passwd

​ 共有7份信息,分别是:

​ 用户名:密码(x):用户ID:组ID:描述信息(无用):HOME目录:执行终端(默认bash)

  1. 查看系统中有哪些组

    getent group

    包含信息:组名称:组认证(显示为x):组ID

5.3 查看权限控制信息

通过ls -l可以以列表形式查看内容,并显示权限细节

最前面的是权限控制信息

后面的两个名字第一个是文件夹所属用户,第二个是文件夹所属用户组

最前面的:rwx分别是读写执行 x:execute

对于文件夹:

r:查看文件内容

w:可以在文件夹内创建、删除、改名

x:可以更改工作目录到此文件夹,即cd进入

5.4 chmod命令(修改权限信息)

注意:只有文件、文件夹的所属用户或root用户可以修改

chmod [-R] 权限 文件或文件夹

-R :对文件夹内的全部内容应用同样的操作

示例:

chmod u=rwx,g=rx,o=x hello.txt

u表示user所属用户权限,g表示group组权限,o表示other其它用户权限

quan

5.5 chown命令(修改文件、文件夹的所属用户和用户组)

此命令只适用于root用户执行

语法:

chown [-R][用户][:][用户组] 文件或文件夹

-R,对文件夹全部内容应用相同规则

示例:

chown :root hello.txt//修改用户组,跟所属用户的用户组无关
chown root hello.txt//修改用户,跟所属用户组无关,自由
chown root:lb hello.txt//都修改

6. 快捷键

ctrl+c 强制停止,命令输入错误也可以退出重新输入

ctrl+d 退出当前用户,在一些程序中(如mysql)退出

history可以查看历史输入过的命令

history | grep ch //查看ch开头的命令

可以通过:!命令前缀,自动执行上一次匹配前缀的命令

!gi

历史命令搜索:

可以ctrl+r,输入内容去匹配历史命令

如果搜索到的内容是你需要的,那么:

回车键可以直接执行,键盘左右键,可以得到此命令

光标移动快捷键:

ctrl+a,跳到命令开头

ctrl+e,跳到命令结尾

ctrl+键盘左键,向左跳一个单词

ctrl+键盘右键,向右跳一个单词

ctrl+l清空终端内容,或者命令clear

7. 软件安装

两种方式:

安装包自己安装

系统的应用商店

Centos:yum

Ubuntu:apt

Yum:rpm包软件管理器,就是.rpm后缀 ,用于自动化安装配置linux软件,并可以自动解决依赖问题

语法:

yum [-y] [install|remove|search] 软件名称

-y:自动确认,无需手动确认安装或卸载过程

Install:安装

Remove:卸载

Search:搜索是否有这个安装包

Yum命令需要root权限或者sudo提权

ubuntu使用apt管理器,.deb后缀的文件,用法和yum几乎一致

8. systemctl命令控制软件的启动和关闭

linux系统很多软件,均支持使用systemctl命令控制:启动、停止、开机重启

能耐systemctl管理的软件一般称为服务

语法:

systemctl start | stop | status | enable | disable 服务名

启动、关闭、查看状态、开启开机自启,关闭开机自启

防火墙:centos:firewalld

Ubt:ufw

部分第三方软件安装之后自动可以用systemctl控制,但是一部分不能,必须手动加入

9. 软连接(类似快捷方式)

可以将文件、文件夹链接到其它位置

语法:

ln -s 参数1 参数2

-s:创建软连接

参数1:被链接的文件或文件夹

参数2:要链接去的目的地

示例:

ln -s /etc/yum.conf~/yum.conf
ln -s /etc/yum~/yum
sudo rm -rf /smarttt-backend //删除软连接

10. 网络

10.1 ping

ping [-c num] ip/主机名

-c num:num为检查次数,如果不写就是无限次检查

10.2wget命令

非交互式的文件下载器,可以在命令行内下载网络文件

语法:

wget [-b] url
tail -f wget-log

-b后台下载,会将日志写入到当前工作目录的wget-log文件

10.3 curl命令

可以发送http网络请求,可用于下载文件、获取信息等

curl [-O] url

-O,用于下载文件,url是下载链接,用-O,保存文件

示例:

curl cip.cc
curl wangliqingncut.xyz

10.4 端口

端口:物理端口和虚拟端口

物理:插线的

虚拟:计算机内部端口,不可见

linux可以支持65535个端口,分为3类:

公认端口:1~1023,用于系统内置和知名程序,不要占用

注册端口:1024~49151,通常可以随意使用,用于松散的绑定一些程序/服务

动态端口:通常不会固定绑定程序,而是当程序对外进行网络链接时,用于临时使用

查看端口占用情况:

  • 使用nmap命令,安装nmap:yum -y install nmap

​ 查看本机:

nmap 127.0.0.1
  • 使用netstat命令

    netstat -anp|grep 端口号
    
    root@ubuntu2024:/# netstat -anp|grep 3306
    tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      345661/mysqld       
    tcp        0      0 0.0.0.0:33060           0.0.0.0:*               LISTEN      345661/mysqld  
    
    • tcp: 表示这是一个TCP协议的连接。

    • 0 0: 这两个零表示当前连接的发送和接收队列都为空。

    • 0.0.0.0:3306
      
      • 0.0.0.0表示监听所有IPv4地址。服务器将接受发往其任何IP地址的连接请求。
      • 3306是MySQL数据库的默认端口号。
    • 0.0.0.0:*:
      
      • 0.0.0.0表示该端口在所有IPv4地址上监听。
      • *表示接受任何端口的连接请求。
    • LISTEN: 表示这个端口在监听状态,准备接受传入的连接。

    • 345661/mysqld
      
      • 345661是进程ID (PID),即运行MySQL服务器的进程ID。
      • mysqld是进程名,表示这是MySQL数据库服务器守护进程

11.进程管理

为管理运行的程序,每一个程序在运行的时候,便被操作系统注册为系统中的一个:进程

并为每个进程都分配一个独有的:进程ID(进程号)

可以用ps命令查看linux系统中的进程信息

语法:ps [-e -f]

选项:-e 显示出全部的进程

选项:-f,以完全格式化的形式展示信息(展示全部信息)

过滤:

ps -ef | grep tail
ps -ef | grep 97833//按内容查找即可

只看第一条即可,后面的是这条命令的进程

关闭进程:-9表示强制结束

kill [-9] 进程id

12. 主机状态监控

可以通过top命令查看cpu、内存的使用情况,类似win的任务管理器

默认5秒刷新一次,点q退出。

内容解析:

top - 15:29:52 up 21:57,  3 users,  load average: 0.18, 0.18, 0.11
Tasks: 199 total,   1 running, 198 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.7 us,  1.7 sy,  0.0 ni, 97.5 id,  0.0 wa,  0.0 hi,  0.2 si,  0.0 st
MiB Mem :   3919.5 total,    455.2 free,    626.2 used,   2838.1 buff/cache
MiB Swap:      0.0 total,      0.0 free,      0.0 used.   3112.3 avail Mem 

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND                                                                                                                                                                   
 345661 mysql     20   0 1790040 417432  35704 S   0.7  10.4   4:40.26 mysqld  

第一行:15:29:52:当前系统时间,up 21:57:启动了22分钟左右,3 users:三个用户在使用,load average: 0.18, 0.18, 0.11:1、5、15分钟平均负载。负载:如果是1就是100%负载都在工作

第二行:一共199个,1个在跑,198个进程在睡眠,0个停止进程,0个僵尸进程

第三行:%Cpu(s): CPU使用率,us: 用户CPU使用率, sy:系统CPU使用率, ni: 高优先级进程占用CPU时间百分比,id: 空闲CPU率,wa: 10等待CPU占用率,hi: CPU硬件中断率,si: CPU软件中断率,st: 强制等待占用CPU率
第四、五行:
Kib Mem:物理内存,total: 总量,free: 空闲, used:使用,buff/cache: buff和cache占用
KibSwap:虚拟内存 (交换空间),total: 总量, free:空闲,used: 使用,buff/cache: buff和cache占用

Pid:进程号

%cpu cpu占用 %MEM内存占用

top命令也支持选项:

选项功能:

-p 只显示某个进程的信息

-d 设置刷新时间,默认是5s

-c 显示产生进程的完整命令,默认是进程名

-n 指定刷新次数,比如 top -n 3,刷新输出3次后退出n

-b 以非交互非全屏模式运行,以批次的方式执行top,一般配合-n指定输出几次统计信息,将输出重定向到指定文件,比如 top -b -n 3 > /tmp/top.tmp

-i 不显示任何闲置 (idle) 或无用 (zombie) 的进程

-u 查找特定用户启动的进程

当top以交互式运行(非-b选项启动),可以用以下交互式命令进行控制:

按键 功能

h键 按下h键,会显示帮助画面

c键 按下c键,会显示产生进程的完整命令,等同于-c参数,再次按下c键,变为默认显c键

f键 按下f键,可以选择需要展示的项目

M键 按下M键,根据驻留内存大小 (RES)排序M键

P键 按下P键,根据CPU使用百分比大小进行排序

T键 按下T键,根据时间/累计时间进行排序

E键 按下E键,切换顶部内存显示单位

e键 按下e键,切换进程内存显示单位

l键 按下l键,切换显示平均负载和启动时间信息

i键 按下i键,不显示闲置或无用的进程,等同于-i参数,再次按下,变为默认显示

t键 按下t键,切换显示CPU状态信息

m键 按下m键,切换显示内存信息

磁盘信息监控:

df [-h]

-h:以更加人性化的单位显示

可以使用iostat查看cpu,磁盘的相关信息

语法:

iostat [-x] [num1] [num2]

-x:显示更多信息

Num1:数字,刷新间隔

Num2:数字,刷新几次

%util:磁盘利用率

%idle (96.89%): 空闲的CPU时间百分比。这表示系统有多少时间处于空闲状态。

网络状态监控:

  • 可以使用sar命令查看网络的相关统计(sar命令非常复杂,这里仅简单用于统计网络)

语法:sar -n DEV num1 num2

选项:-n查看网络,DEV表示查看网络接口

Num1:数字,刷新间隔

Num2:数字,刷新几次

重点关注:

rxkB/s 每秒钟读取了多少KB

txkB/s每秒钟发送了多少KB

13. 环境变量

环境变量是操作系统在运行的时候,记录的一些关键性信息,用以辅助系统运行,在linux系统中执行env命令可以查看当前系统中记录的环境变量。

环境变量是一种keyvalue型结构,即名称和值。

PATH这个值是执行程序的搜索命令,好几个目录一个个搜

$符号:取变量的值

echo $PATH
echo $PWD
echo ${PATH}abc//后面拼abc

linux环境变量可以用户自行设置其中分为:

  • 临时设置,语法:export变量名=变量值

    例:

    export myname=wlq
    
  • 永久生效

    • 针对当前用户生效,配置在当前用户的:~/bashrc文件中 vi ~/.bashrc
    • 针对所有用户生效,配置在系统的: /etc/profile中
    • 并通过语法:source+配置文件,进行立刻生效,或重新登录finalshell生效

自己编写执行脚本并加到环境变量里:

export PATH=${PATH}:/root/myenv
source /etc/profile

14. 上传下载文件

rz、sz命令进行文件传输

需要安装:

apt -y install lrzsz

下载文件:

sz+文件名

上传文件:

rz 回车会弹出电脑的文件目录,上传到当前文件

15. 压缩和解压

压缩格式(Linux):

zip、tar、gzip

Linux和Mac系统常用有两种压缩格式,后缀名分别是:

  • .tar,归档文件,简单将文件封装,没有减少多少体积
  • .gz使用压缩算法压缩,极大的减少压缩后的体积

tar命令可以对两种进行压缩和解压缩操作:

语法:

tar [-c -v -x -f -z -C] 参数1...

-c, 创建压缩文件,用于压缩模式

-V, 显示压缩、解压过程,用于查看进度

-X, 解压模式

-f, 要创建的文件,或要解压的文件,-f选项必须在所有选项中位置处于最后一个

-z, gzip模式,不使用-z就是普通的tarball格式,建议在开头位置

-C, 选择解压的目的地,用于解压模式

常见组合:

//将这三个文件压缩到test.tar文件内
tar -cvf test.tar 1.txt 2.txt 3.txt
//将这三个文件压缩到test.tar.gz文件内,使用gzip模式
tar -zcvf test.tar.gz 1.txt 2.txt 3.txt

常见的tar解压组合:

tar -xvf test.tar //当前目录
tar -xvf test.tar -C /home //指定目录
tar -zxvf test.tar.gz //gzip模式

zip命令:

可用于压缩为zip压缩包

zip [-r] 参数1 参数2...

-r:被压缩的包含文件夹的时候,需要使用

示例:

zip test.zip a.txt b.txt
zip -r test.zip test a.txt

unzip命令:解压zip压缩包

Unzip [-d] 参数

-d:解压去的位置,通tar的-c选项

参数:被解压的zip压缩包文件

unzip test.zip -d /home
posted @   wlqtc  阅读(28)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示