Linux:实用操作

Linux:实用操作

  • 1. 各类小技巧
    • 1.1 control+c(ctrl + c) 强制停止
    • 1.2 可以通过快捷键:control + d(ctrl + d),退出账户的登录
    • 1.3 历史命令搜索
    • 1.4 光标移动快捷键
  • 2. 软件安装
    • 2.1 介绍
    • 2.2 yum命令(需要root权限)
    • 在这里插入图片描述
  • 3. systemctl
  • 4. 软连接
    • 4.1 使用In命令
  • 5. date命令
    • 5.1 date命令进行日期加减
    • 5.3 修改Linux时区
    • 5.4 ntp程序
  • 6. ip地址主机名
    • 6.1 IP地址
    • 6.2 特殊IP地址
    • 6.3 主机名
    • 6.4 域名解析
    • 6.5 虚拟机配置固定IP
  • 7.网络传输
    • 7.1 ping命令
    • 7.2 wget命令
    • 7.3 curl命令
    • 7.4 端口
      • 7.4.1 端口(虚拟)
      • 7.4.2 查看端口占用
  • 8. 进程管理
    • 8.1 查看进程
      • 8.1.1 关闭进程
  • 9. 主机状态
    • 9.1 查看系统资源占用
      • top命令内容详解
    • 9.2 磁盘信息监控
    • 9.3 网络状态监控
  • 10. 环境变量 重点!!!
    • 10.1 环境变量的作用
    • 10.2 环境变量:PATH
    • 10.3 $符号
      • 10.3.1 自行设置环境变量 !!!
      • 10.3.2 自定义环境变量PATH
  • 11. 上传下载
    • 11.1 rz、sz命令
  • 12. 压缩和解压
    • 12. 1 压缩格式
    • 12.2 tar命令
    • 12.3 zip命令
      • 12.3.1 unzip 命令解压文件

1. 各类小技巧

1.1 control+c(ctrl + c) 强制停止

  • Linux某些程序的运行,如果想要强制停止它,可以使用快捷键control+c (ctrl + c)

  • 命令输入错误,也可以通过快捷键ctrl + c,退出当前输入,重新输入

1.2 可以通过快捷键:control + d(ctrl + d),退出账户的登录

  • 可以通过快捷键:ctrl(control) + d,退出账户的登录

  • 或者退出某些特定程序的专属页面

ps:不能用于退出vi/vim

1.3 历史命令搜索

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

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

  • 可以通过快捷键: control + r (ctrl +c),输入内容去匹配历史命令

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

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

1.4 光标移动快捷键

  • ctrl(control) + a,跳到命令开头
  • ctrl(control) + e,跳到命令结尾
  • ctrl(option) + 键盘左键,向左跳一个单词
  • ctrl(option) + 键盘右键,向右跳一个单词

2. 软件安装

2.1 介绍

操作系统安装软件有许多种方式,一般分为:

  • 下载安装包自行安装
    • 如win系统使用exe文件、msi文件等
    • 如mac系统使用dmg文件、pkg文件等
  • 系统的应用商店内安装
    • 如win系统有Microsoft Store商店
    • 如mac系统有AppStore商店

Linux系统同样支持这两种方式,我们首先,先来学习使用:Linux命令行内的”应用商店”,yum命令安装软件

2.2 yum命令(需要root权限)

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

语法:

  • 选项:-y,自动确认,无需手动确认安装或卸载过程
  • install:安装
  • remove:卸载
  • search:搜索

案例:
在这里插入图片描述
这里的-y是自动安装当前的包以及依赖,不需要你中间确认。


移除

在这里插入图片描述

search 通过yum命令,搜索是否有wget安装包
在这里插入图片描述


wget和yum都是在Linux操作系统中常用的命令,但它们的功能和用途有所不同。

wget是一个用于下载文件的命令行工具。它可以从指定的URL下载文件,并将其保存到本地计算机上。wget可以下载任何可以通过HTTP、HTTPS和FTP协议访问的文件,例如网页、图像、视频等。它还支持断点续传和递归下载。

而yum是一个用于管理软件包的工具。它可以在Linux系统上自动解决软件包之间的依赖关系,并从配置的软件包仓库中下载并安装软件包。yum还可以更新已安装的软件包、卸载软件包和搜索可用的软件包等。它通常用于基于RPM包管理系统的Linux发行版,如Red Hat Enterprise Linux (RHEL)、CentOS和Fedora等。

因此,wget主要用于下载文件,而yum主要用于管理软件包。它们的用途不同,但在某些情况下也可以结合使用,比如使用wget下载一个软件包的安装文件,然后使用yum安装该软件包及其依赖项。


3. systemctl

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

语法:

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

  • NetworkManager,主网络服务
  • network,副网络服务
  • firewalld,防火墙服务
  • sshd,ssh服务(FinalShell远程登录Linux使用的就是这个服务)


4. 软连接

4.1 使用In命令

在系统中创建软链接,可以将文件、文件夹链接到其它位置。
类似Windows系统中的《快捷方式》

语法:

  • -s选项,创建软连接
  • 参数1:被链接的文件或文件夹
  • 参数2:要链接去的目的地

实例:

  • ln -s /etc/yum.conf ~/yum.conf
  • ln -s /etc/yum ~/yum

在这里插入图片描述

5. date命令

通过date命令可以在命令行中查看系统的时间

语法:

  • -d 按照给定的字符串显示日期,一般用于日期计算
  • 格式化字符串:通过特定的字符串标记,来控制显示的日期格式
  • %Y 年
  • %y 年份后两位数字 (00…99)
  • %m 月份 (01…12)
  • %d 日 (01…31)
  • %H 小时 (00…23)
  • %M 分钟 (00…59)
  • %S 秒 (00…60)
  • %s 自 1970-01-01 00:00:00 UTC 到现在的秒数

在这里插入图片描述
如上,由于中间带有空格,所以使用双引号包围格式化字符串,作为整体。

5.1 date命令进行日期加减

  • -d选项,可以按照给定的字符串显示日期,一般用于日期计算
    在这里插入图片描述

其中支持的时间标记为:

  • year年
  • month月
  • day天
  • hour小时
  • minute分钟
  • second秒
  • -d选项可以和 格式化字符串配合一起使用哦

5.3 修改Linux时区

系统默认时区非中国的东八区,使用root权限,执行如下命令,修改时区为东八区时区
在这里插入图片描述

将系统自带的localtime文件删除,并将/usr/share/zoneinfo/Asia/Shanghai文件链接为localtime文件即可

5.4 ntp程序

我们可以通过ntp程序自动校准系统时间
安装ntp:yum -y install ntp
启动并设置开机自启:

  • systemctl start ntpd
  • systemctl enable ntpd

当ntpd启动后会定期的帮助我们联网校准系统的时间

  • 也可以手动校准(需root权限):ntpdate -u ntp.aliyun.com

通过阿里云提供的服务网址配合ntpdate(安装ntp后会附带这个命令)命令自动校准
在这里插入图片描述

6. ip地址主机名

6.1 IP地址

每一台联网的电脑都会有一个地址,用于和其它计算机进行通讯
IP地址主要有2个版本,V4版本和V6版本
IPv4版本的地址格式是:a.b.c.d,其中abcd表示0~255的数字,如192.168.88.101就是一个标准的IP地址

可以通过命令:ifconfig,查看本机的ip地址,如无法使用ifconfig命令,可以安装:yum -y install net-tools

在这里插入图片描述

6.2 特殊IP地址

除了标准的IP地址以外,还有几个特殊的IP地址需要我们了解:

  • 127.0.0.1,这个IP地址用于指代本机
    在这里插入图片描述

  • 0.0.0.0,特殊IP地址

    • 可以用于指代本机
    • 可以在端口绑定中用来确定绑定关系
    • 在一些IP地址限制中,表示所有IP的意思,如放行规则设置为0.0.0.0,表示允许任意IP访问

6.3 主机名

  • 可以使用命令:hostname查看主机名
    在这里插入图片描述
  • 可以使用命令:hostnamectl set-hostname 主机名,修改主机名(需root)
    在这里插入图片描述
    重新登录
    在这里插入图片描述

6.4 域名解析

IP地址实在是难以记忆,有没有什么办法可以通过主机名或替代的字符地址去代替数字化的IP地址呢?
实际上,我们一直都是通过字符化的地址去访问服务器,很少指定IP地址
比如,我们在浏览器内打开:www.baidu.com,会打开百度的网址
其中,www.baidu.com,是百度的网址,我们称之为:域名

在这里插入图片描述

访问www.baidu.com的流程如下:
在这里插入图片描述
在这里插入图片描述

6.5 虚拟机配置固定IP

课程地址

    1. 打开Mac系统的终端程序,并执行如下命令:
    1. 在终端内执行:sudo su - 并输入个人系统密码切换到root用户
      在这里插入图片描述
    1. 先备份一下文件:

cp /Library/Preferences/VMware\ Fusion/networking /Library/Preferences/VMware\ Fusion/networking.bakcup

在这里插入图片描述
在这里插入图片描述

    1. 通过vim编辑器修改文件:vim /Library/Preferences/VMware\ Fusion/networking

在这里插入图片描述

这里要修改为 192.168.88.0

  • 5.备份文件:cp /Library/Preferences/VMware\ Fusion/vmnet8/nat.conf /Library/Preferences/VMware\ Fusion/vmnet8/nat.conf.backup

修改文件:vim /Library/Preferences/VMware\ Fusion/vmnet8/nat.conf

在这里插入图片描述

在这里插入图片描述

    1. 启动VMware Fusion,进入Linux虚拟机

步骤2:在Linux中修改固定IP

  • 在虚拟机的图形化页面中,打开终端,使用su - 切换到root用户
  • 使用vim编辑/etc/sysconfig/network-scripts/ifcfg-ens33文件,填入如下内容

在这里插入图片描述

  • 执行:systemctl restart network 重启网卡,执行ifconfig即可看到ip地址固定为192.168.88.130了

7.网络传输

7.1 ping命令

可以通过ping命令,检查指定的网络服务器是否是可联通状态
语法:

选项:-c,检查的次数,不使用-c选项,将无限次数持续检查
参数:ip或主机名,被检查的服务器的ip地址或主机名地址

示例:

  • 检查到baidu.com是否联通
    在这里插入图片描述
    在这里插入图片描述

7.2 wget命令

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

选项:-b,可选,后台下载,会将日志写入到当前工作目录的wget-log文件
参数:url,下载链接

示例:

  • 下载apache-hadoop 3.3.0版本:wget http://archive.apache.org/dist/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz
    在这里插入图片描述

  • 在后台下载:wget -b http://archive.apache.org/dist/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz
    在这里插入图片描述

  • 通过tail命令可以监控后台下载进度:tail -f wget-log
    在这里插入图片描述

7.3 curl命令

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

选项:-O,用于下载文件,当url是下载链接时,可以使用此选项保存文件
参数:url,要发起请求的网络地址

示例:

  • 向cip.cc发起网络请求:curl cip.cc
    在这里插入图片描述

  • 向python.itheima.com发起网络请求:curl python.itheima.com

  • 通过curl下载hadoop-3.3.0安装包:curl -O http://archive.apache.org/dist/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz
    在这里插入图片描述

7.4 端口

端口,是设备与外界通讯交流的出入口。端口可以分为:物理端口和虚拟端口两类

  • 物理端口:又可称之为接口,是可见的端口,如USB接口,RJ45网口,HDMI端口等
  • 虚拟端口:是指计算机内部的端口,是不可见的,是用来操作系统和外部进行交互使用的

7.4.1 端口(虚拟)

物理端口我们日常生活中经常见到,也能知晓它的作用。
但是虚拟端口,有什么用?为什么需要它呢?

在这里插入图片描述

  • 计算机程序之间的通讯,通过IP只能锁定计算机,但是无法锁定具体的程序。
  • 通过端口可以锁定计算机上具体的程序,确保程序之间进行沟通
  • IP地址相当于小区地址,在小区内可以有许多住户(程序),而门牌号(端口)就是各个住户(程序)的联系地址

Linux系统是一个超大号小区,可以支持65535个端口,这6万多个端口分为3类进行使用:

  • 公认端口:1~1023,通常用于一些系统内置或知名程序的预留使用,如SSH服务的22端口,HTTPS服务的443端口
  • 非特殊需要,不要占用这个范围的端口
  • 注册端口:1024~49151,通常可以随意使用,用于松散的绑定一些程序\服务
  • 动态端口:49152~65535,通常不会固定绑定程序,而是当程序对外进行网络链接时,用于临时使用。

在这里插入图片描述

  • 如图中,计算机A的微信连接计算机B的微信,A使用的50001即动态端口,临时找一个端口作为出口
  • 计算机B的微信使用端口5678,即注册端口,长期绑定此端口等待别人连接

7.4.2 查看端口占用

可以通过Linux命令去查看端口的占用情况

  • 使用nmap命令,安装nmap:yum -y install nmap
    语法:nmap 被查看的IP地址
    在这里插入图片描述

可以看到,本机(127.0.0.1)上有5个端口现在被程序占用了。

  • 可以通过netstat命令,查看指定端口的占用情况
    语法:netstat -anp | grep 端口号,安装netstat:yum -y install net-tools
    在这里插入图片描述
    如图,可以看到当前系统631端口被程序(进程号1212)占用了
    其中,0.0.0.0:6000,表示端口绑定在0.0.0.0这个IP地址上,表示允许外部访问
    在这里插入图片描述
    可以看到,当前系统12345端口,无人使用哦。

8. 进程管理

  • 程序运行在操作系统中,是被操作系统所管理的。
  • 为管理运行的程序,每一个程序在运行的时候,便被操作系统注册为系统中的一个:进程
  • 并会为每一个进程都分配一个独有的:进程ID(进程号)
    在这里插入图片描述

8.1 查看进程

可以通过ps命令查看Linux系统中的进程信息
语法:

选项:-e,显示出全部的进程
选项:-f,以完全格式化的形式展示信息(展示全部信息)
一般来说,固定用法就是: ps -ef 列出全部进程的全部信息

在这里插入图片描述

  • 在FinalShell中,执行命令:tail,可以看到,此命令一直阻塞在那里
  • 在FinalShell中,复制一个标签页,执行:ps -ef 找出tail这个程序的进程信息
  • 问题:是否会发现,列出的信息太多,无法准确的找到或很麻烦怎么办?

我们可以使用管道符配合grep来进行过滤,如:
ps -ef | grep tail,即可准确的找到tail命令的信息

在这里插入图片描述

  • 过滤不仅仅过滤名称,进程号,用户ID等等,都可以被grep过滤哦
  • 如:ps -ef | grep 30001,过滤带有30001关键字的进程信息(一般指代过滤30001进程号)

8.1.1 关闭进程

语法: kill -9 进程ID

9. 主机状态

9.1 查看系统资源占用

  • 可以通过top命令查看CPU、内存使用情况,类似Windows的任务管理器
  • 默认每5秒刷新一次,语法:直接输入top即可,按qcontrol + c退出

在这里插入图片描述
在这里插入图片描述

top命令内容详解

在这里插入图片描述

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

top命令也支持选项:
在这里插入图片描述
当top以交互式运行(非-b选项启动),可以用以下交互式命令进行控制
在这里插入图片描述

9.2 磁盘信息监控

使用df命令,可以查看硬盘的使用情况

语法:df [-h]
选项:-h,以更加人性化的单位显示
在这里插入图片描述
在这里插入图片描述

  • 可以使用iostat查看CPU、磁盘的相关信息
    语法:iostat [-x] [num1] [num2]
  • 选项:-x,显示更多信息
  • num1:数字,刷新间隔,num2:数字,刷新几次

在这里插入图片描述

  • tps:该设备每秒的传输次数(Indicate the number of transfers per second that were issued to the device.)。“一次传输"意思是"一次I/O请求”。多个逻辑请求可能会被合并为"一次I/O请求"。"一次传输"请求的大小是未知的。
  • 使用iostat的-x选项,可以显示更多信息
    在这里插入图片描述
    rrqm/s: 每秒这个设备相关的读取请求有多少被Merge了(当系统调用需要读取数据的时候,VFS将请求发到各个FS,如果FS发现不同的读取请求读取的是相同Block的数据,FS会将这个请求合并Merge, 提高IO利用率, 避免重复调用);
    wrqm/s: 每秒这个设备相关的写入请求有多少被Merge了。
    rsec/s: 每秒读取的扇区数;sectors
    wsec/: 每秒写入的扇区数。
    rKB/s: 每秒发送到设备的读取请求数
    wKB/s: 每秒发送到设备的写入请求数
    avgrq-sz 平均请求扇区的大小
    avgqu-sz 平均请求队列的长度。毫无疑问,队列长度越短越好。
    await: 每一个IO请求的处理的平均时间(单位是微秒毫秒)。
    svctm 表示平均每次设备I/O操作的服务时间(以毫秒为单位)
    %util: 磁盘利用率

9.3 网络状态监控

  • 可以使用sar命令查看网络的相关统计(sar命令非常复杂,这里仅简单用于统计网络)
    语法:sar -n DEV num1 num2
    选项:-n,查看网络,DEV表示查看网络接口
    num1:刷新间隔(不填就查看一次结束),num2:查看次数(不填无限次数)

在这里插入图片描述

如图,查看2次,隔3秒刷新一次,并最终汇总平均记录

信息解读:
IFACE 本地网卡接口的名称
rxpck/s 每秒钟接受的数据包
txpck/s 每秒钟发送的数据包
rxKB/S 每秒钟接受的数据包大小,单位为KB
txKB/S 每秒钟发送的数据包大小,单位为KB
rxcmp/s 每秒钟接受的压缩数据包
txcmp/s 每秒钟发送的压缩包
rxmcst/s 每秒钟接收的多播数据包

10. 环境变量 重点!!!

10.1 环境变量的作用

在讲解which命令的时候,我们知道使用的一系列命令其实本质上就是一个个的可执行程序。
比如,cd命令的本体就是:/usr/bin/cd 这个程序文件。

我们是否会有疑问,为何无论当前工作目录在哪里,都能执行:/usr/bin/cd这个程序呢?
这就是环境变量的作用啦。


环境变量是操作系统(Windows、Linux、Mac)在运行的时候,记录的一些关键性信息,用以辅助系统运行。
在Linux系统中执行:env命令即可查看当前系统中记录的环境变量
环境变量是一种KeyValue型结构,即名称和值,如下图:

在这里插入图片描述


等等一系列信息,用于辅助系统在运行的时候
从环境变量中获取关键信息

10.2 环境变量:PATH

在前面提出的问题中,我们说无论当前工作目录是什么,都能执行/usr/bin/cd这个程序,这个就是借助环境变量中:PATH这个项目的值来做到的。
在这里插入图片描述
PATH记录了系统执行任何命令的搜索路径,如上图记录了(路径之间以:隔开):

  • /usr/local/bin
  • /usr/bin
  • /usr/local/sbin
  • /usr/sbin
  • /home/itheima/.local/bin
  • /home/itheima/bin

  • 当执行任何命令,都会按照顺序,从上述路径中搜索要执行的程序的本体
  • 比如执行cd命令,就从第二个目录/usr/bin 中搜索到了cd命令,并执行

10.3 $符号

在Linux系统中,$符号被用于取”变量”的值。
环境变量记录的信息,除了给操作系统自己使用外,如果我们想要取用,也可以使用。
取得环境变量的值就可以通过语法:$环境变量名 来取得
比如:echo $PATH

在这里插入图片描述
在这里插入图片描述
就可以取得PATH这个环境变量的值,并通过echo语句输出出来。

又或者echo ${PATH}ABC,当和其它内容混合在一起的时候,可以通过{}来标注取的变量是谁
在这里插入图片描述

10.3.1 自行设置环境变量 !!!

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

  • 临时设置,语法:export 变量名=变量值
  • 永久生效
    • 针对当前用户生效,配置在当前用户的: ~/.bashrc文件中
    • 针对所有用户生效,配置在系统的: /etc/profile文件中
    • 并通过语法:source 配置文件,进行立刻生效,或重新登录Termius生效

案例:
设置一个临时变量
在这里插入图片描述
重新连接Termius

** 变量MYNAME就没有值了 **
在这里插入图片描述


当前用户永久生效
[root@centos01 ~]# vi ~/.bashrc

新增内容
在这里插入图片描述

通过命令使文件生效 [root@centos01 ~]# source .bashrc

在这里插入图片描述
断开重连Termius还是生效的,切换用户不生效
在这里插入图片描述


全局生效

[root@centos01 ~]# vim /etc/profile

生效命令[root@centos01 ~]# source /etc/profile

在这里插入图片描述
在这里插入图片描述

10.3.2 自定义环境变量PATH

在/root 目录下, 新建myenv文件夹,并创建mkhaha文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
但我想在任何地方都可以直接执行mkhaha,这时候就需要进行如下操作

在这里插入图片描述
在这里插入图片描述
在任意地点都可以执行该程序
在这里插入图片描述

11. 上传下载

11.1 rz、sz命令

可以通过rz、sz命令进行文件传输
rz、sz需要安装 yum -y install lrzsz

  • rz命令,进行上传,语法:直接输入rz即可
  • sz 下载

12. 压缩和解压

12. 1 压缩格式

市面上有非常多的压缩格式

  • zip格式:Linux、Windows、MacOS,常用
  • 7zip:Windows系统常用
  • rar:Windows系统常用
  • tar:Linux、MacOS常用
  • gzip:Linux、MacOS常用
    在Windows系统中常用的软件如:winrar、bandizip等软件,都支持各类常见的压缩格式,这里不多做讨论。
    我们现在要学习,如何在Linux系统中操作:tar、gzip、zip这三种压缩格式
    完成文件的压缩、解压操作。

12.2 tar命令

Linux和Mac系统常用有2种压缩格式,后缀名分别是:
.tar,称之为tarball,归档文件,即简单的将文件组装到一个.tar的文件内,并没有太多文件体积的减少,仅仅是简单的封装
.gz,也常见为.tar.gz,gzip格式压缩文件,即使用gzip压缩算法将文件压缩到一个文件内,可以极大的减少压缩后的体积
针对这两种格式,使用tar命令均可以进行压缩和解压缩的操作
语法:

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

tar的常用组合为:

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

注意:

  • -z选项如果使用的话,一般处于选项位第一个
  • -f选项,必须在选项位最后一个

解压
常用的tar解压组合有

  • tar -xvf test.tar
    解压test.tar,将文件解压至当前目录
  • tar -xvf test.tar -C /home/itheima
    解压test.tar,将文件解压至指定目录(/home/itheima)
  • tar -zxvf test.tar.gz -C /home/itheima
    以Gzip模式解压test.tar.gz,将文件解压至指定目录(/home/itheima)

注意:

  • -f选项,必须在选项组合体的最后一位
  • -z选项,建议在开头位置
  • -C选项单独使用,和解压所需的其它参数分开

12.3 zip命令

可以使用zip命令,压缩文件为zip压缩包
语法:

  • -r,被压缩的包含文件夹的时候,需要使用-r选项,和rm、cp等命令的-r效果一致

示例:

  • zip test.zip a.txt b.txt c.txt
    将a.txt b.txt c.txt 压缩到test.zip文件内
  • zip -r test.zip test itheima a.txt
    将test、itheima两个文件夹和a.txt文件,压缩到test.zip文件内

12.3.1 unzip 命令解压文件

使用unzip命令,可以方便的解压zip压缩包
语法:

  • -d,指定要解压去的位置,同tar的-C选项
  • 参数,被解压的zip压缩包文件

示例:
unzip test.zip,将test.zip解压到当前目录
unzip test.zip -d /home/itheima,将test.zip解压到指定文件夹内(/home/itheima)

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

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

相关文章

Java CC 解析 SQL 语法示例

示例:SimpleSelectParser 解析 select 11; 输出 2; 0)总结 编写 JavaCC 模板,*.jj 文件。 编译生成代码文件。 移动代码文件到对应的包下。 调用生成的代码文件。 1)JavaCC 模板 main/javacc/SimpleSelectParse…

【疯狂Java】数组

1、一维数组 (1)初始化 ①静态初始化:只指定元素,不指定长度 new 类型[] {元素1,元素2,...} int[] intArr; intArr new int[] {5,6,7,8}; ②动态初始化:只指定长度,不指定元素 new 类型[数组长度] int[] princes new in…

Transformer模型 | iTransformer时序预测

Transformer 模型在自然语言处理和计算机视觉领域取得了巨大的成功,并成为了基础模型。然而,最近一些研究开始质疑基于Transformer的时间序列预测模型的有效性。这些模型通常将同一时间戳的多个变量嵌入到不可区分的通道中,并在这些时间标记上应用注意力机制来捕捉时间依赖关…

二、PHP基础学习[变量]

部分内容引用自&#xff1a;https://blog.csdn.net/lady_killer9/article/details/108978062 一、PHP基础学习 1.语法与注释 示例&#xff1a; <?php // PHP 代码/* 这是 PHP 多行 注释 */ ?>2.输出 示例&#xff1a;echo 123; 3.变量 规矩&#xff1a; 变量以 …

【Overload游戏引擎细节分析】Lambert材质Shader分析

一、经典光照模型&#xff1a;Phong模型 现实世界的光照是极其复杂的&#xff0c;而且会受到诸多因素的影响&#xff0c;这是以目前我们所拥有的处理能力无法模拟的。经典光照模型冯氏光照模型(Phong Lighting Model)通过单独计算光源成分得到综合光照效果&#xff0c;然后添加…

城市正视图(Urban Elevations, ACM/ICPC World Finals 1992, UVa221)rust解法

如图5-4所示&#xff0c;有n&#xff08;n≤100&#xff09;个建筑物。左侧是俯视图&#xff08;左上角为建筑物编号&#xff0c;右下角为高度&#xff09;&#xff0c;右侧是从南向北看的正视图。 输入每个建筑物左下角坐标&#xff08;即x、y坐标的最小值&#xff09;、宽度…

sysfs接口与用户空间库libgpiod

sysfs接口是Linux内核提供的一种让用户空间程序访问和控制内核对象&#xff08;包括设备、驱动等&#xff09;信息的机制&#xff0c;它基于虚拟文件系统&#xff0c;将内核对象信息以文件系统的形式表现出来&#xff0c;用户或程序员可以通过读写这些文件来获取或修改内核对象…

React之diff原理

一、是什么 跟Vue一致&#xff0c;React通过引入Virtual DOM的概念&#xff0c;极大地避免无效的Dom操作&#xff0c;使我们的页面的构建效率提到了极大的提升 而diff算法就是更高效地通过对比新旧Virtual DOM来找出真正的Dom变化之处 传统diff算法通过循环递归对节点进行依…

嵌入式中的MCU、ARM、DSP、FPGA

目录 “角色扮演” MCU ARM 特点 DSP 特点 FPGA 特点 应用 “角色扮演” MCU&#xff08;Microcontroller Unit&#xff09;、ARM&#xff08;Advanced RISC Machine&#xff09;、DSP&#xff08;Digital Signal Processor&#xff09;和FPGA&#xff08;Field-Progr…

Python解读市场趋势:LSTM 和 GRU 在预测 Google 股价方面的探索

我将向您展示如何使用 LSTM 和 GRU 预测股票价格。 导入库 import pandas as pd import numpy as np import seaborn as sns import matplotlib.pyplot as plt import matplotlib.dates as mdates import plotly.express as pxfrom keras.preprocessing.sequence import Timese…

记低版本okhttp超时会导致死锁

一、问题起源 在处理一次生产环境cpu拉满问题时&#xff0c;把日志拉下来看发现很多http请求调用出错&#xff0c;项目使用的是okhttp 3.8.1版本。 二、问题描述 问题出在okhttp3.Dispatcher.finished(Dispatcher.java:201)代码如下&#xff1a; void finished(AsyncCall c…

PHP 危险函数2-代码执行语句

代码执行语句 eval() 不是函数&#xff0c;不能被动态调用&#xff0c;并且需要以 ;结束 直接输出&#xff0c;不执行 <?php$code"phpinfo();";echo $code;?>eval() 语句执行 <?php$code"phpinfo();";eval($code); // eval 不是函数&am…

vue3中常见的组合式API

一、toRef 和 toRefs 应用&#xff1a;要将响应式对象中的某个属性单独提供给外部使用时。 语法&#xff1a; toRef语法&#xff1a;const name toRef(person, name) toRefs语法&#xff1a;toRefs(person)&#xff0c;如果在return中直接写&#xff0c;需要用...(展开运算符…

【TGRS 2023】RingMo: A Remote Sensing Foundation ModelWith Masked Image Modeling

RingMo: A Remote Sensing Foundation Model With Masked Image Modeling, TGRS 2023 论文&#xff1a;https://ieeexplore.ieee.org/stamp/stamp.jsp?tp&arnumber9844015 代码&#xff1a;https://github.com/comeony/RingMo MindSpore/RingMo-Framework (gitee.com) …

软件测试之【单元测试、系统测试、集成测试】

一、单元测试的概念 单元测试&#xff08;Unit Testing&#xff09;是对软件基本组成单元进行的测试&#xff0c;如函数&#xff08;function或procedure&#xff09;或一个类的方法&#xff08;method&#xff09;。当然这里的基本单元不仅仅指的是一个函数或者方法&#xff…

Python:实现日历功能

背景 日常生活中&#xff0c;每天都要用到日历&#xff0c;日历成为我们生活中的必需品&#xff0c;那么如何制作日历呢&#xff0c;其实方法有很多&#xff0c;可以直接在excel中制作&#xff0c;也可以手画等等。 学习过编程的朋友&#xff0c;能否想到用Python编写一…

【Pytorch】Pytorch学习笔记02 - 单变量时间序列 LSTM

目录 说明简单神经网络LSTM原理Pytorch LSTM生成数据初始化前向传播方法训练模型自动化模型构建 总结参考文献 说明 这篇文章主要介绍如何使用PyTorch的API构建一个单变量时间序列 LSTM。文章首先介绍了LSTM&#xff0c;解释了它们在时间序列数据中的简单性和有效性。然后&…

Elasticsearch常见错误

一 read_only_allow_delete" : "true" 当我们在向某个索引添加一条数据的时候,可能(极少情况)会碰到下面的报错: {"error": { "root_cause": [ { "type": "cluster_block_exception", "r…

智慧垃圾站:AI视频智能识别技术助力智慧环保项目,以“智”替人强监管

一、背景分析 建设“技术先进、架构合理、开放智能、安全可靠”的智慧环保平台&#xff0c;整合环境相关的数据&#xff0c;对接已建业务系统&#xff0c;将环境相关数据进行统一管理&#xff0c;结合GIS技术进行监测、监控信息的展现和挖掘分析&#xff0c;实现业务数据的快速…

每日一练——快速合并2个有序数组

每日一练来喽~~~ 今天up主为大家分享一个&#xff0c;快速合并2个有序数组的法子&#xff0c;注意听哟&#xff01; 题目&#xff1a; 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2&#xff0c;另有两个整数 m 和 n &#xff0c;分别表示 nums1 和 nums2 中的元素数…