Linux基础知识入门

Linux学习笔记

虚拟机部署

1. Linux内核

应用程序

Shell、文件系统、系统程序库

系统级应用程序,可以理解为出厂自带程序,可供用户快速上手操作系统,如:文件管理器、任务管理器、图片查看、音乐播放等。

操作系统内核:调用CPU、调度内存、调度文件系统、调度网络通讯、调度IO等

硬件

2. 虚拟机安装

  • 下载镜像文件

  • 自定义安装

3. Windows配置WSL(Ubuntu)

  • 启用或关闭Windows功能

  • 勾选:适用于Linux的Windows子系统

  • Windows应用商店搜索下载Ubuntu

  • 推荐终端工具(Windows Terminal)win11自带

4. VMware快照

  • 关机状态快照很快

  • 做快照保存状态

Linux基础命令

1. 目录结构

路径之间的层级关系

  • Windows使用: \
  • Linux使用 :/

在这里插入图片描述

目录结构

  • **根目录(/):**根目录是整个文件系统中最重要的一个目录,位于Linux文件系统目录结构的顶层。因为不但所有的目录都是由根目录衍生出来的, 同时根目录也与操作系统的开机、还原、系统修复等行为有关。

    系统开机所需要的特定文件数据有:核心文件、开机程序、 函数库等等。如果系统出现错误,根目录也必须要包含有能够修复文件系统的程序才行。
    因此FHS标准建议:根目录(/)所在分区应该越小越好, 且应用程序所安装的软件最好不要与根目录放在同一个分区内,保持根目录越小越好。 如此不但效能较佳,根目录所在的文件系统也较不容易发生问题。说白了,就是根目录和Windows的C盘一个样。因为越大的分区内你会放入越多的数据,如此一来根目录所在分区就可能会有较多发生错误的机会。

    因为根目录与开机有关,开机过程中仅有根目录会被挂载, 其他分区则是在开机完成之后才会持续的进行挂载行为。因此根目录下与开机过程有关的目录, 就应该与根目录放在同一个分区里。这些目录分别是:/etc,/bin,/dev,/lib,/sbin。

  • 目录树介绍:

    • /:根目录,位于Linux文件系统目录结构的顶层。通常根目录下只存放目录,不存放文件,/etc,/bin,/dev,/lib,/sbin应该和根目录放置在一个分区中。
    • /bin,/usr/bin:该目录为命令文件目录,也称为二进制目录。包含了供系统管理员及普通用户使用的重要的linux命令和二进制(可执行)文件,包含shell解释器等。
    • /boot: 该目录中存放系统的内核文件和引导装载程序文件,/boot/vmlinuz为linux的内核文件,以及/boot/gurb。建议单独分区,分区大小100M即可。
    • /dev: 设备(device)文件目录,存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备(终端、磁盘驱动器、光驱及网卡等,包括字符设备和块设备)等,常用的是挂载光驱mount /dev/cdrom/mnt。
    • /etc: 系统配置文件目录,该目录存放系统的大部分配置文件和子目录,不建议在此目录下存放可执行文件。该目录下的文件由系统管理员来使用,普通用户对大部分文件有只读权限。
    • /home: 系统默认的用户宿主目录,新增用户账号时,用户的宿主目录都存放在此目录下,~表示当前用户的宿主目录。建议单独分区,并设置较大的磁盘空间,方便用户存放数据。
    • /lib,/usr/lib,/usr/local/lib:系统最基本的动态连接资源库,内核模块文件目录。几乎所有的应用程序都用到此资源库。/lib目录存放了所有重要的库文件,其他的库文件则大部分存放在/usr/lib目录下。
    • /lost+fount: 在EXT2或EXT3文件系统中,系统意外崩溃或意外关机时,产生的一些文件碎片放在这里。当系统重新启动时,fsck工具会检查这里,并修复已经损坏的文件系统。
    • /mnt,/media: mnt目录主要用来临时挂载文件系统,为某些设备提供默认挂载点。
    • /opt: 给主机额外安装软件所摆放的目录。
    • /proc: 此目录的数据都在内存中,如系统核心,外部设备,网络状态,由于数据都存放于内存中,所以不占用磁盘空间。
    • /root:系统管理员root的宿主目录,系统第一个启动的分区为/,所以最好将/root和/放置在一个分区下。
    • /sbin,/usr/sbin,/usr/local/sbin:放置系统管理员使用的可执行命令,如fdisk、shutdown、mount等。与/bin不同的是,这几个目录是给系统管理员root使用的命令,一般用户只能"查看"而不能设置和使用。
    • /tmp: 存放系统产生的临时文件,因此重要文件不要放在此目录下。
    • /srv: 服务启动之后需要访问的数据目录,如www服务需要访问的网页数据存放在/srv/www内。
    • /usr: 应用程序存放目录,/usr/bin 存放应用程序, /usr/share 存放共享数据,/usr/lib 存放不能直接运行的,却是许多程序运行所必需的一些函数库文件,/usr/local 存放软件升级包,/usr/share/doc 系统说明文件存放目录。
    • /usr/share/man: 程序说明文件存放目录,使用 man ls时会查询/usr/share/man/man1/ls.1.gz的内容。建议单独分区,设置较大的磁盘空间。
      /var: 放置系统执行过程中经常变化的文件,如随时更改的日志文件 /var/log。
    • /sys:这个目录其实跟/proc非常类似,也是一个虚拟的档案系统,主要也是记录与核心相关的资讯。 包括目前已载入的核心模组与核心侦测到的硬体装置资讯等等。 这个目录同样不占硬盘容量。

2. 命令入门

命令格式

command [-options] [parameter]

  • command:命令本身
  • -options:命令的选项,控制命令的行为细节
  • parameter:命令的参数,多数用于命令的指向目标等
cp -r test1 test2
// cp是命令本身,-r是选项,test1和test2是参数
// 意思是:复制文件夹test1成为test2
ls命令

ls [-a -l -h] [Linux路径]

ls:以平铺的形式,列出当前工作目录下的内容

  • -a:表示all,列出全部文件(包括隐藏文件/文件夹)
  • -l:以列表的形式展示内容,并展示跟多内容
  • -h:以易于阅读的实现展示文件大小K、M、G
//混合使用
ls -a -l
ls -al
ls -la
//以上等价 以此类推

用户目录:~

  • home目录:相应用户目录

  • root目录:root用户目录

3. 目录切换相关命令(cd/pwd)

cd [Linux路径]

  • cd:表示Change Directory,更改当前目录

pwd

  • pwd:表示Print Work Directory,验证当前工作目录

4. 创建目录

mkdir [-p] Linux路径

mkdir:表示Make Directory,创建文件夹

  • -p:一次性创建多个层级的目录,表示递归

5. 文件操作命令(touch、cat、more、cp、mv)

touch Linux路径

  • touch:创建文件

cat Linux路径

  • cat:查看文件内容

more Linux路径

  • more:翻页显示文件内容,空格翻页,q退出

cp [-r] 参数1 参数2

  • cp:复制文件/文件夹
  • 参数1:Linux路径,被复制文件/文件夹
  • 参数2:Linux路径,要复制去的地方
  • -r:复制文件夹,表示递归

mv 参数1 参数2

  • mv:移动文件/文件夹
  • 参数1:Linux路径,表示被移动的文件/文件夹
  • 参数2:Linux路径,表示要移动去的地方,如果目标不存在则进行改名

rm [-r -f] 参数1 参数2 …… 参数N

  • rm:删除文件/文件夹

  • 参数1 参数2 …… 参数N:表示要删除的文件/文件夹

  • -r:删除文件夹,表示递归

  • -f:表示force,强制删除,用于管理员不弹出提示

  • 支持通配符

    test*	表示匹配任何以test开头的内容
    *test	表示匹配任何以test结尾的内容
    *test*	表示匹配任何以包含test的内容
    

6. 查找命令(which、find)

which 要查找的命令

  • which:查找命令程序文件的位置

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

  • find:查找文件或文件夹
  • 支持模糊匹配

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

  • +、-:表示大于或小于
  • n:表示大小数字
  • KMG:表示大小单位k(小写)
find / -size -10k
find / -size +100M

7. grep、wc和管道符

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

  • grep:在文件中,通过关键字过滤文件行

  • -n:在结果中显示匹配行的行号

  • 关键字:过滤的关键字,建议使用“ ”包围

  • 文件路径:要过滤内容的文件路径

  • grep -n "hello world" test.txt
    // 显示test.txt中含有hello world的行
    // -n 可选,是否显示行号
    

wc [-c -m -l -w]

  • wc:统计文件的行数、单词数量等
  • -c:统计bytes数量
  • -m:统计字符数量
  • -l:统计行数
  • -w 统计单词数量

管道符

cat test.txt | grep hello

  • 含义:将管道符左边命令的结果,作为右边命令的输入

8. echo、tail和重定向符

echo 输出内容

  • echo:在命令行内输出指定内容

  • 要执行的命令:使用``包裹要执行的命令

  • >、>>:重定向符
    // 将左侧命令的结果,“覆盖”写入符号右侧指定的文件中
    // 将左侧命令的结果,“追加”写入符号右侧指定的文件中
    

tail [-f -num] Linux路径

  • tail:查看文件尾部内容,跟踪文件的最新更改
  • -f:表示持续跟踪
  • -num:表示查看尾部多少行,不填默认10行

9. vi/vim编辑器

三种工作模式

  • 命令模式(Command mode)
  • 输入模式(Insert mode)
  • 底线命令模式(Last line mode)
    以**:**开始,通常用于文件的保存、退出

命令模式快捷键(进入输入模式)

  • i:在当前光标位置,进入输入模式
  • a:在当前光标位置之后,进入输入模式
  • I:在当行开头,进入输入模式
  • A:在当行结尾,进入输入模式
  • o:在当前光标下一行,进入输入模式
  • O:在当前光标上一行,进入输入模式
  • esc:返回命令模式

命令模式快捷键(移动)

  • k:上
  • j:下
  • h:左
  • l:右
  • 0:移动到当行开头
  • $:移动到当行结尾
  • gg:跳到首行
  • G:跳到尾行
  • pageup(PgUp):向上翻页
  • pagedown(PgDn):向下翻页

命令模式快捷键(搜索)

  • /:进入搜索模式
  • n:向下继续搜索
  • N:向上继续搜索

命令模式快捷键(基本命令)

  • dd:删除当前行
  • ndd:向下删除n行
  • yy:复制当前行
  • nyy:向下复制n行
  • p:粘贴
  • u:撤销
  • ctrl + r:反向撤销
  • dG:向下删除尾行(向下的所有)
  • dgg:向上删除到首行(向上的所有)
  • d0:删除到本行开头
  • d$:删除到本行结尾

底线命令模式快捷键

  • :wq 保存并退出
  • :q 仅退出
  • :q! 强制退出
  • :w 仅保存
  • :set nu 显示行号
  • set paste 设置粘贴模式

Linux权限管理

1. 认知root用户

切换用户

su [-] [用户名]

  • -:表示是否在切换用户后加载环境变量,建议带上
  • 用户名:表示要切换的用户,省略表示root
  • 切换用户后,可通过exit返回上一个用户也可以Ctrl + d

sudo命令

sudo 其他命令

  • 为一条命令临时赋予root权限

  • 并不是所有用户都有权利使用sudo,需要为普通用户配置sudo认知

    # 在vi编辑器中打开:/etc/sudoers
    visudo	
    # 在文件最后添加:
    jq ALL=(ALL)	NOPASSWD:ALL
    # 其中NOPASSWD:ALL表示sudo命令无需输入密码
    

2. 用户、用户组管理

用户、用户组

Linux系统中可以:

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

Linux中权限管控有2个级别:

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

用户组管理

创建用户组

groupadd 用户组名

删除用户组

groupdel 用户组名

用户管理

添加用户

useradd [-g -d] 用户名

  • -g:指定用户的组,不指定-g会创建同名组并自动加入,若已存在同名组必须使用-g
  • -d:指定用户HOME目录,不指定,HOME目录默认为:/home/用户名

删除用户

userdel [-r] 用户名

  • -r:删除用户的HOME目录,不使用-r,删除用户是HOME目录保留

查看用户所属组

id [用户名]

  • 若省略用户名,则查看用户本身

修改用户所属组

usermod -aG 用户组 用户名

  • 将指定用户加入指定用户组

查看当前系统中的用户

getent passwd

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

查看系统中的组

getent group

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

3. 查看权限控制

权限信息

# 例如:
drwxr-xr-x	所属用户  所属组 
# 拆分:
d  rwx	r-x	 r-x  所属用户  所属组
1   2    3    4
# r表示read、w表示write、x表示execute
  • 1:表示类型,-表示文件、d表示文件夹、l表示软连接
  • 2:所属用户的权限
  • 3:所属用户组的权限
  • 4:其他用户的权限

4. 修改权限控制

修改权限信息

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

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

  • # 示例:
    chmod u=rwx,g=rx,o=x test.txt # 结果为:rwxr-x--x
    chmod 741 test.txt # 结果为:rwxr----x、二进制表示
    

修改所属用户、所属用户组

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

  • 普通用户无法修改,只适用root用户

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

  • # 示例:
    chown root test.txt		# 修改所属用户
    chown :jq test.txt		# 修改所属用户组
    chown root:jq test.txt	# 修改所属用户和所属用户组
    

实用操作

1. 常用快捷键

  • ctrl + c :强制停止、取消当前输入命令
  • ctrl + d:退出或登出
  • history:查看历史输入过的命令
    • !+ 命令前缀:自动执行上一次匹配前缀的命令
  • ctrl + r:输入内容去匹配历史命令
    • 回车可以直接执行
    • 键盘左右键,可以的到命令(不执行)
  • ctrl + a:跳到命令开头
  • ctrl + e:跳到命令结尾
  • ctrl + 键盘左键:向左跳一个单词
  • ctrl + 键盘有键:向右跳一个单词
  • ctrl + l:清屏,等效clear

2. 软件安装

Centos软件安装

yum:RPM包软件管理器,用于自动化安装Linux软件,并可以自动解决依赖问题

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

  • -y:自动确认
  • install:安装
  • remove:移除
  • search:搜索
  • yum命令需要root权限并且联网

Ubuntu软件安装

软件安装,Centos系统和Ubuntu是使用不同的包管理器

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

  • -y:自动确认

3. systemctl

Linux系统很多软件(内置或第三方)均支持使用systemctl命令控制:启动、停止、开机自启能够被systemctl管理的软件,一般也称为:服务

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

  • enable | disable:开机自启动

系统内置的服务比较多,比如:

  • NetworkManager,主网络服务
  • network,副网络服务
  • firewalld,防火墙服务
  • sshd,ssh服务

4. 软连接

将文件、文件夹链接到其他位置,类似Windows中的快捷方式

ln -s 参数1 参数2

  • -s:创建软链接

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

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

  • # 示例:
    ln -s /etc/nginx/nginx.conf ~/nginx.conf
    为/etc/nginx/nginx.conf在~目录下创建软连接nginx.conf
    

5. 日期、时区

查看系统时间

date [-d] [+格式化字符串]

  • -d:按照给定的字符串显示日期,一般用于日期计算

  • 格式化字符串:通过字符串控制显示的日期格式

    • %Y:年
    • %y:年份后两位数字【00,99】
    • %m:月份【01,12】
    • %d:日【01,31】
    • %H:小时【00,24】
    • %M:分钟【00,59】
    • %S:秒【00,60】
    • %s:自1970-01-01 00:00:00 UTC 到现在的秒数
  • # 示例:
    date -d "+1 day"			# 明天的日期
    date +%Y-%m-%d				# 显示2023-01-26
    date -d "+1 day" +%Y-%m-%d	# 显示2026-01-27
    

修改时区

  1. rm -f /etc/localtime 删除现有日期软链接
  2. sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 重新创建需要时区的日期软链接

校准时间

  1. yum install ntp 安装ntp自动联网校准时间程序
  2. systemctl start ntpd & systemctl enable ntpd 启动服务
  3. ntpdate -u ntp.aliyun.com 手动校准

6. IP地址、主机名

查看IP地址

ifconfig

  • 如果命令不存在,yum install net-tools

查看主机名

  • hostname

修改主机名

  • hostnamectl set-hostname jqStrong

Linux配置固定IP

vim /etc/sysconfig/network-scripts/ifcfg-ens33

  • BOOTPROTO=static
  • IPADDR=“192.168.88.130” # IP地址
  • NETMASK=“255.255.255.0” # 子网掩码
  • GATEWAY=“192.168.88.2” # 网关
  • DNS1=“192.168.88.2” # 指定DNS服务器

systemctl restart network 重启网卡服务

7. 网络传输

下载和网络请求

ping [-c num] IP/域名

  • -c num:测试次数

  • 检测是否连通

wget [-b] url

  • -b:后台下载,将日志写入当前工作目录的wget-log文件
  • url:下载链接

curl [-O] url

  • 发送http网络请求
  • -O:用于下载文件,当url是下载链接是,可保存文件
  • url:要发起请求的网络地址
  • curl cip.cc 查看当前公网IP地址

端口:设备与外界交流的出入口

  • 物理端口:可称之为接口,可见,如USB,HDMI,TYPC,网口等
  • 虚拟端口:计算机内部的端口,不可见,用于操作系统和外部交流

计算机程序之间的通讯

  • 通过IP锁定计算机
  • 通过端口锁定程序

查看端口占用

nmap 被查看的IP地址

查看指定端口占用

netstat -anp | grep 端口号

netstat -tunlp

lsof -i:端口号

8. 进程管理

查看进程

ps [-e -f]

  • -e:显示出全部的进程
  • -f:以完全格式化的形式展示信息
    • UID:进程所属的用户ID
    • PID:进程的进程号ID
    • PPID:进程的父ID(启动此进程的其他进程)
    • C:此进程的CPU占用率(百分比)
    • STIME:进程的启动时间
    • TTY:启动此进程的终端序号,如显示?,表示非终端启动
    • TIME:进程占用CPU时间
    • CMD:进程对应的名称或启动路径或启动命令

关闭进程

kill [-9] 进程ID

  • -9:表示强制关闭进程,不使用此选项会向进程发送信号要求其关闭,但是否关闭看进程本身的处理机制

9. 主机状态

查看系统资源占用

top

  • -p:只显示某个进程的信息
  • -d:设置刷新时间,默认是5s
  • -c:显示产生进程的完整命令,默认是进程名
  • -n:指定刷新次数,比如 top -n 3,刷新输出3次后退出
  • -b:以非交互非全屏模式运行,以批次的方式执行top,一般配合-n指定输出几次统计信息,将输出重定向到指定文件,比如:top -b -n 3 > /tmp/top.tmp
  • -i:不显示任何限制(idle)或无用(zombie)的进程
  • -u 查找特定用户启动的进程
第一行:top - 22:53:06 up  1:06,  2 users,  load average: 0.00, 0.01, 0.05
top:命令名称、22:53:06:当前系统时间、up 1:06:启动了1小时6分钟、2 users:两个用户登录,load:1,5,15分钟负载
Tasks: 192 total,   1 running, 191 sleeping,   0 stopped,   0 zombie
进程信息:总数、运行、睡眠、停止、僵尸
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
cpu使用率:us用户、sy系统、ni高优先级进程占用CPU时间百分比、id空闲、wa IO等待、hi硬件中断、si软件中断、st强制等待
KiB Mem :  4026152 total,  3089632 free,   575752 used,   360768 buff/cache
物理内存:
KiB Swap:  4063228 total,  4063228 free,        0 used.  3212280 avail Mem
虚拟内存(交换区):

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

  • PID:进程ID
  • USER:进程所属用户
  • PR:进程优先级,越小越高
  • NI:负值表示高优先级,正表示低优先级
  • VIRT:进程使用虚拟内存,单位KB
  • RES:进程使用物理内存,单位KB
  • SHR:进程使用共享内存,单位KB
  • S:进程状态(S休眠,R运行,Z僵死状态,N负数优先级,I空闲状态)
  • %CPU:进程占用CPU率
  • %MEM:进程占用内存率
  • TIME+:进程使用CPU时间总计,单位10毫秒
  • COMMAND:进程的命令或程序文件路径

磁盘信息监控

df [-h] 查看硬盘的使用情况

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

iostat [-x] [num1] [num1] 查看CPU、磁盘相关信息

  • -x:显示更多信息
  • num1:数字,刷新间隔
  • num2:数字,刷新次数

网络状态监控

sar -n DEV num1 num2 查看网络的相关统计,(sar非常复杂,这里简单用于统计网络)

  • -n:查看网络,DEV表示查看网络接口
  • num1:数字,刷新间隔
  • num2:数字,刷新次数

信息解读:

IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s

  • IFACE:本地网卡接口的名称
  • rxpck/s:每秒钟接受的数据包
  • txpck/s:每秒钟发送的数据包
  • rxkB/s:每秒钟接受的数据包大小,单位KB
  • txkB/s:每秒钟发送的数据包大小,单位KB
  • rxcmp/s:每秒钟接受的压缩数据包
  • txcmp/s:每秒钟发送的压缩数据包
  • rxmcst/s:每秒钟接受的多播数据包

10. 环境变量

我们使用的一系列命令,其实本质上就是一个个的可执行程序

比如:cd命令的本体就是:/usr/bin/cd 这个程序文件

env 查看当前系统中记录的环境变量(KeyValue结构)

  • PATH:记录一组目录,用来搜索命令,用:隔开

$符号

echo $PWD / echo ${PWD} 获取环境变量的value

自行设置环境变量

临时设置

export key=value

永久生效

  • 针对当前用户生效,配置:~/bashrc
  • 针对所有用户生效,配置:/etc/profile
  • source 对应配置文件,立刻生效配置

11. 上传、下载

建议使用工具

12. 压缩、解压

压缩格式

zip:Linux、Windows、MasOs,常用

7zip:Windows常用

rar:Windows常用

tar:Linux、MacOS常用

gzip:Linux、MacOS常用

Linux和Mac系统常用的两种压缩格式

  • .tar:称之为tarball,归档文件,简单封装,没有很多体积减少
  • .gz:也常见为.tar.gz,gzip格式压缩文件,可以极大的减少体积

tar命令

tar [-c -v -x -f -z -C] ,使用gzip模式

  • -c:创建压缩文件,用于压缩模式
  • -v:显示压缩、解压过程,用于查看进度
  • -x:解压模式
  • -f:要创建的文件,或要解压的文件,-f选项必须位于最后一个
  • -z:gzip模式,不使用-z是普通的tarball格式
  • -C:选择解压的目的地,用于解压模式
# 常用组合

# 压缩
tar -cvf test.tar 1.txt 2.txt 3.txt	  
# 将1 2 3压缩到test.tar
tar -zcvf test.tar.gz 1.txt 2.txt 3.txt  
# 将1 2 3压缩到test.tar.gz使用gzip模式

# 解压
tar -xvf test.tar	  
# 将test.tar解压到当前目录
tar -zxvf test.tar.gz 
# 将test.tar.gz解压到当前目录,使用gzip模式
tar -zxvf test.tar.gz -C /root/test
# 将test.tar.gz解压到/root/test,使用gzip模式

"""
	注意:
	-z:必须位于第一个
	-f:必须位于最后一个
	-C:单独使用,不用默认当前目录
"""

zip命令

zip [-r] 参数1 参数2 …… 参数N

  • -r:包含文件夹

unzip 压缩包 [-d 解压路径]

# 压缩
zip test.zip a.txt b.txt c.txt
# 将a.txt b.txt c.txt压缩到test.zip文件中
zip -r test.zip test_dir a.txt b.txt c.txt
# 将test_dir a.txt b.txt c.txt压缩到test.zip文件中

# 解压
unzip test.zip 
# 将test.zip解压到当前目录
unzip test.zip -d /root/test
# 将test.zip解压到/root/test

软件部署

1. MySQL数据库管理系统安装部署

mysql 手动安装

ar.gz 1.txt 2.txt 3.txt

将1 2 3压缩到test.tar.gz使用gzip模式

解压

tar -xvf test.tar

将test.tar解压到当前目录

tar -zxvf test.tar.gz

将test.tar.gz解压到当前目录,使用gzip模式

tar -zxvf test.tar.gz -C /root/test

将test.tar.gz解压到/root/test,使用gzip模式

“”"
注意:
-z:必须位于第一个
-f:必须位于最后一个
-C:单独使用,不用默认当前目录
“”"

zip命令

zip [-r] 参数1 参数2 …… 参数N

  • -r:包含文件夹

unzip 压缩包 [-d 解压路径]

# 压缩
zip test.zip a.txt b.txt c.txt
# 将a.txt b.txt c.txt压缩到test.zip文件中
zip -r test.zip test_dir a.txt b.txt c.txt
# 将test_dir a.txt b.txt c.txt压缩到test.zip文件中

# 解压
unzip test.zip 
# 将test.zip解压到当前目录
unzip test.zip -d /root/test
# 将test.zip解压到/root/test
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值