Linux的一些基础知识点和进阶知识点

linux打包和解压

1.tar命令方式:tar本质上是使用gzip对 .tar.gz格式的文件和指定目录进行解压和打包

tar -zcf 目录路径 #打包命令
tar -zxf 压缩包完整格式名 -C 指定解压的路径 #解压命令,默认解压保存在当前目录

 2.unzip命令方式:使用unzip是为了对war包进行解压操作,centos最小安装没有unzip程序,需要去远程仓库下载

unzip -oq war包文件名 -d 指定文件解压缩后所要存储的目录路径

Linux安装应用程序的两种方式

1.yum方式:yum方式安装应用程序是通过远程仓库存在的程序进行下载安装,yum方式安装应用程序相比rpm方式安装应用程序的优点在于自动帮你解决依赖的问题,简化了安装过程,只要选择好你需要安装的应用程序,安装过程是不需要人工干预了。yum是rpm的前端程序。

  • yum搜索远程仓库的命令       

yum search 要搜索的应用名

 因为centos的最小安装是没有查看IP地址的命令的,所以我要去远程仓库看看有没有net-tools这个应用程序,它可以帮助我们查看centos的IP地址;在双虚线下面可以看到匹配了一款应用程序,它就是我们要安装的查看IP地址的工具

[root@192 ~]# yum search net-tools


已加载插件:fastestmirror
Determining fastest mirrors
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.163.com
base                                                                                                                                 | 3.6 kB  00:00:00     
extras                                                                                                                               | 2.9 kB  00:00:00     
updates                                                                                                                              | 2.9 kB  00:00:00     
(1/4): base/7/x86_64/group_gz                                                                                                        | 153 kB  00:00:00     
(2/4): extras/7/x86_64/primary_db                                                                                                    | 242 kB  00:00:00     
(3/4): updates/7/x86_64/primary_db                                                                                                   | 8.8 MB  00:00:01     
(4/4): base/7/x86_64/primary_db                                                                                                      | 6.1 MB  00:00:05     
================================================================== N/S matched: net-tools ==================================================================
net-tools.x86_64 : Basic networking tools

  名称和简介匹配 only,使用“search all”试试。
[root@192 ~]# 
  • yum安装程序的命令

//参数 y 表示安装过程中需要选择同意或者不同意时一律选同意 yes

yum -y install 应用程序名

 当最后显示完毕时表明应用程序安装成功

yum -y install net-tools
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.163.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 net-tools.x86_64.0.2.0-0.25.20131004git.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

============================================================================================================================================================
 Package                            架构                            版本                                                源                             大小
============================================================================================================================================================
正在安装:
 net-tools                          x86_64                          2.0-0.25.20131004git.el7                            base                          306 k

事务概要
============================================================================================================================================================
安装  1 软件包

总下载量:306 k
安装大小:917 k
Downloading packages:
警告:/var/cache/yum/x86_64/7/base/packages/net-tools-2.0-0.25.20131004git.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY  --:--:-- ETA 
net-tools-2.0-0.25.20131004git.el7.x86_64.rpm 的公钥尚未安装
net-tools-2.0-0.25.20131004git.el7.x86_64.rpm                                                                                        | 306 kB  00:00:00     
从 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 检索密钥
导入 GPG key 0xF4A80EB5:
 用户ID     : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>"
 指纹       : 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5
 软件包     : centos-release-7-9.2009.0.el7.centos.x86_64 (@anaconda)
 来自       : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : net-tools-2.0-0.25.20131004git.el7.x86_64                                                                                               1/1 
  验证中      : net-tools-2.0-0.25.20131004git.el7.x86_64                                                                                               1/1 

已安装:
  net-tools.x86_64 0:2.0-0.25.20131004git.el7                                                                                                               

完毕!
  • yum查看已安装的某个程序的详细信息

//查看指定应用程序的信息
yum info 应用程序名

//查看系统中已安装的程序(包括系统自带的程序)
yum list
yum info net-tools
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.163.com
已安装的软件包
名称    :net-tools
架构    :x86_64
版本    :2.0
发布    :0.25.20131004git.el7
大小    :917 k
源    :installed
来自源:base
简介    : Basic networking tools
网址    :http://sourceforge.net/projects/net-tools/
协议    : GPLv2+
描述    : The net-tools package contains basic networking tools,
         : including ifconfig, netstat, route, and others.
         : Most of them are obsolete. For replacement check iproute package.
  • yum支持卸载程序,这个过程也是自动完成的

yum -y remove 指定要卸载的程序名

 2.编译方式:使用make命令,通过官网或者GitHub下载应用程序的源码,然后对源码进行编译。不过编译方式存在几个小坑,新手一般都会遇到。这里会将我自己遇到的问题一一复现,希望大家能少走点弯路。

  • 下载程序源码

这里以 redis 作为编译对象,我们可以前往redis的GitHub下载页下载最新版本的radis

下载格式是 .tar.gz 格式的压缩包
  •  使用xftp传输下载好的压缩包

在linux中将位置切换至 /usr/local 目录下,使用xftp将压缩包上传在这个目录下即可

  •  解压压缩包

tar zxf redis-6.0.14.tar.gz

 此时在 /usr/local 目录下就有一个redis-6.0.14的目录文件

  •  下载编译器

make命令是linux上对源码发出编译要求,实际上编译的过程还是需要是使用对应编译器对源码编译以生成可执行文件。因为 redis 是c语言开发的,所以需要下载与之对应的 gcc 编译器。这里有一个小坑,下载最新版的redis版本时,要使用最新版本的gcc编译器。否则编译过程中会提示例如有 报错structredisServer没有名为XXXX的成员 等问题导致编译失败,我们先使用yum方式安装远程仓库上的gcc 

yum -y install gcc

因为远程仓库上的版本不是最新版本,所以升级版本。当前时间是2021年7月19号,最新版本号是10,所以我们就升级10版本。请注意,一定要下载所处时间的最新版本,避免出现各种问题

yum -y install centos-release-scl
yum -y install devtoolset-10-gcc devtoolset-10-gcc-c++ devtoolset-10-binutils
scl enable devtoolset-10 bash
  • 使用make命令进行编译

 将当前位置切换至解压后的目录下,直接使用make命令完成编译

#当前目录位置为redis-6.0.14
[root@192 redis-6.0.14]# make

 这里还有一个小坑,当没有升级gcc版本时就进行make编译而报错后再升级版本重新使用make编译时同样会有错误,此时只需要删除解压生成的目录,重新解压redis。再次使用make命令就可以编译成功了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值