header包括了rpm包的各类信息,包括描述,功能,提供的文件linux查看端口占用,依赖性等。
正是搜集了这种header并加以剖析,能够手动化地完成余下的任务。
(4)yum配置文件介绍[yum.conf和CentOS-Base.repo]:
[root@iZwz9535z41cmgcpkm7i81Z etc]# cat yum.conf
[main]
cachedir=/var/cache/yum/$basearch/$releasever # yum缓存的目录,yum在此存储下载的rpm包和数据库,一般是/var/cache/yum
keepcache=0 # 是否保存缓存,为0,让缓存一直为空
debuglevel=2 # debuglevel:除错级别,0-10,默认是2
logfile=/var/log/yum.log # yum的日志文件,默认是/var/log/yum.log
exactarch=1 # 准确匹配,精确匹配硬件平台,只有完全相同才更新。有两个选项1和0,代表是否只升级和你安装软件包cpu体系一致的包
obsoletes=1 # 当使用升级模式时,一些包没有用了,可以删除(取值1)
gpgcheck=1 # 安装时是否检查RPM包的PGP签名
plugins=1 # Yum插件是否可用
installonly_limit=5 # 安装限制 # bugtracker_url:bug 跟踪路径
bugtracker_url=http://bugs.centos.org/set_project.php?project_id=23&ref=http://bugs.centos.org/bug_report_page.php? category=yum # 目录
distroverpkg=centos-release # 定从哪里获取系统版本相关的信息
# This is the default, if you make this bigger yum won't see if the metadata
# is newer on the remote and so you'll "gain" the bandwidth of not having to
# download the new metadata and "pay" for it by yum not having correct
# information.
# It is esp. important, to have correct metadata, for distributions like
# Fedora which don't keep old packages around. If you don't like this checking
# interupting your command line usage, it's much better to have something
# manually check the metadata once an hour (yum-updatesd will do this).
# metadata_expire=90m
# PUT YOUR REPOS HERE OR IN separate files named file.repo
# in /etc/yum.repos.d
[root@iZwz9535z41cmgcpkm7i81Z yum.repos.d]# cat CentOS-Base.repo
[base]
name=CentOS-$releasever - Base
failovermethod=priority
baseurl=http://mirrors.cloud.aliyuncs.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.cloud.aliyuncs.com/centos/RPM-GPG-KEY-CentOS-7
#released updates
[updates]
name=CentOS-$releasever - Updates
failovermethod=priority
baseurl=http://mirrors.cloud.aliyuncs.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.cloud.aliyuncs.com/centos/RPM-GPG-KEY-CentOS-7
#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
failovermethod=priority
baseurl=http://mirrors.cloud.aliyuncs.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.cloud.aliyuncs.com/centos/RPM-GPG-KEY-CentOS-7
#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
failovermethod=priority
baseurl=http://mirrors.cloud.aliyuncs.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.cloud.aliyuncs.com/centos/RPM-GPG-KEY-CentOS-7
#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib
failovermethod=priority
baseurl=http://mirrors.cloud.aliyuncs.com/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=http://mirrors.cloud.aliyuncs.com/centos/RPM-GPG-KEY-CentOS-7
(5)yum包管理工具■和maven、npm一样,但凡看见,涉及到手动管理包,必须考虑的是下载速率的提速。
■配置一下阿里云镜像加速:
1)系统是debain:
deb https://mirrors.aliyun.com/debian bullseye main
deb https://mirrors.aliyun.com/debian-security bullseye-security main
deb https://mirrors.aliyun.com/debian bullseye-updates main
2)系统是redhat:
地址:https://mirrors.aliyun.com/repo/
(6)yum的常用命令:-y(当安装/卸载/更新过程提示选择全部为"yes")
去除缓存:
■yum源改变了(比如更改了yum的配置文件),须要消除下数据再重新构建缓存
9、centos安装的vim编译器的常用快捷键:●vim的常用模式有分为命令模式,插入模式,正常模式,可视模式。
(或则在正常模式,步入命令模式后,按:wq)进行保存,之后再退出vim。
1)vim文件名2)Insert键,处于插入状态模式3)Esc键,处于正常状态模式4)shift+zz(按住shift,点击两次z),在正常状态模式下,实现保存并退出操作保存并退出卡了,就再度切换模式为插入模式,之后再切回去正常模式,shift+zz
10、echo命令的作用,不仅复印作用,还可以实现覆盖或则追加内容到文件(1)echo的复印作用:
[root@iZwz9535z41cmgcpkm7i81Z shan]# echo 'hello'
hello
(2)echo的覆盖作用:
[root@iZwz9535z41cmgcpkm7i81Z shan]# touch test.txt
[root@iZwz9535z41cmgcpkm7i81Z shan]# vim test.txt
# test.txt 的内容:
# name
my name is kangkang
# age
18
# love
my love is i believe.
[root@iZwz9535z41cmgcpkm7i81Z shan]# echo 'ru guo ni shuo yes,jiu keyi la'>test.txt
[root@iZwz9535z41cmgcpkm7i81Z shan]# cat test.txt
ru guo ni shuo yes,jiu keyi la
(3)echo的追加作用:
[root@iZwz9535z41cmgcpkm7i81Z shan]# touch test2.txt
[root@iZwz9535z41cmgcpkm7i81Z shan]# vim test2.txt
# test2.txt 的内容:
# subjectName
tomorrow i need to study english.
# class
3
# score
just-so-so.
[root@iZwz9535z41cmgcpkm7i81Z shan]# echo 'time is today'>> test2.txt
[root@iZwz9535z41cmgcpkm7i81Z shan]# cat test2.txt
#subjectName
tomorrow i need to study english.
# class
3
# score
just-so-so.
time is today
11、功能相像的命令的联系与区别1、su命令和sudo命令su和sudo是两个常用的切换到root超级用户命令。功能上类似LINUX社区,但使用上还是有不少差别。2、bash命令和sh命令
二、Linux命令的学习(一)学习Linux的打算工作1、在线学习linux2、连接远程服务器学习【下文的案例就是使用xshell联接远程服务器】
自己订购一台云服务器,通过xshell联接远程服务器,之后动手使用linux命令linux which命令,比如使用linux布署一个项目。
订购云服务器、配置、安装xshell、搭建环境的文章:3、本地安装虚拟机,之后通过虚拟机安装Linux的发行版软件(centos或ubuntu)把握使用Linux命令布署项目,使用的就是形式3虚拟机运行centos的文章:
(二)Linux学习建议1、建议:命令多动手敲,不熟悉命令不建议复制粘贴的懒惰行为。2、动手敲一遍使用linux命令布署一个项目,到这儿,就具备了linux的基本命令的把握,足够学习docker等其他蓝筹股啦,遇见不会的动手百度或翻看指南。3、linux指南:/
(三)使用Linux命令布署项目(方法2:使用xshell联接远程服务器)●ssh命令,联接远程的服务器
sship地址
●pwd命令,查看所在目录的位置
pwd
●ifconfig命令,查看网路设备信息
ifconfig
◇看到有网卡在工作中即可up、running
[root@mysql ~]# ifconfig
eth0: flags=4163 mtu 1500
inet 192.168.0.111 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::8c18:4c0c:35b:f89c prefixlen 64 scopeid 0x20
ether 00:0c:29:bf:7a:4b txqueuelen 1000 (Ethernet)
RX packets 396 bytes 43132 (42.1 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 189 bytes 25028 (24.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
......
# eth0:网卡名称
# UP:表示网卡是开启状态
# BROADCAST:表示网卡支持广播
# RUNNING:表示网卡的网线已经被接上,在工作中
# MULTICAST:表示网卡支持组播
# Link encap:网卡的接口类型,这里是以太网
# HWaddr:网卡的硬件地址,俗称的MAC地址
# inet addr:IPv4地址,如果是IPv6会写成inet6 addr
# Bcast:广播地址
# Mask:子网掩码
# MTU:网络最大传输单元
# Metric:到达网关的度量值,参考:http://m.chinabyte.com/network/191/12287691_gfh.shtml
# RX packets:网络从启动到现在为止接收的数据包大小,单位是字节,error 发生错误的数据包,dropped 被丢弃的数据包
# TX packets:网络从启动到现在为止发送的数据包大小,单位是字节,error 发生错误的数据包,dropped 被丢弃的数据包
# collisions:发生碰撞的数据包,如果发生太多次,表明网络状况不太好
# txqueuelen:传输数据的缓冲区的储存长度
# RX bytes:总接收字节总量
# TX bytes:总发送字节总量
# Memory:网卡硬件的内存地址
●free命令,检测服务器的显存(是否足够)
free-h
参数详解
-h 以合适的单位显示内存使用情况,最大为三位数,自动计算对应的单位值
# total: 内存总数
# used: 已经使用内存数
# free: 完全空闲内存
# shared: 多个进程共享的内存
# buffers: 用于块设备数据缓冲,记录文件系统metadata(目录,权限,属性等)
# cached: 用于文件内容的缓冲
# available:真正剩余的可被程序应用的内存数
●df命令,查看c盘空间(是否足够)
df-lh
# 参数详解
# Used:已经使用的空间
# Avail:可以使用的空间
# Mounted on:挂载的目录
●mkdir命令,新建目录
mkdircode
●cd命令,切换目录
cdcode/
●git命令,拉取项目代码
gitclone
问题:-bash:git:commandnotfound
●ls命令,查看所有文件
ls
●du命令,查看目录占用空间
du-sh*
●cat命令,查看文本文件
catREADME.md
# 看到时一个java的springboot框架的项目---需要安装jdk
●查看系统版本
cat /etc/os-release
# 是rehat发行版的命令 # 看到时centos版本,那直接使用系统自带的软件管理器 yum
cat /etc/redhat-release
# 是debain发行版的命令
cat /etc/debian_version
●yum命令,系统自带的软件管理器yum
yuminstalljava-1.8.0-openjdk*-y使用yum安装jdk
●java-version命令,查看java环境(jdk版本)
java-version
●which命令,查看文件位置
whichjava
# Linux which命令用于查找文件。
# which指令会在环境变量$PATH设置的目录里查找符合条件的文件。
●wget命令,下载安装包
wget下载maven
问题:ERROR:cannotverify'scertificate,issuedby‘/C=US/O=Let'sEncrypt/CN=R3’:Issuedcertificatehasexpired.Toconnecttoinsecurely,use`--no-check-certificate'.
●tar命令,解压
tar-zxvfapache-maven-3.8.5-bin.tar.gz
./apache-maven-3.8.5/bin/mvn解压后得到maven的二补码可执行文件
●help命令,帮助指南,查看相关的命令
./apache-maven-3.8.5/bin/mvn--help
./apache-maven-3.8.5/bin/mvninstall建立maven项目
问题:[INFO]Scanningforprojects...[INFO]------------------------------------------------------------------------[INFO]BUILDFAILURE
# 更改maven镜像为阿里云镜像:
cd apache-maven-3.8.5/conf/
vim settings.xml
# 更改maven镜像为阿里云镜像,找到,将原来的镜像 注释掉,然后添加阿里云镜像
nexus-aliyun
*,!jeecg,!jeecg-snapshots
Nexus aliyun
http://maven.aliyun.com/nexus/content/groups/public
alimaven
central
aliyun maven
http://maven.aliyun.com/nexus/content/repositories/central/
●find命令,拿来在指定目录下查找文件
find-name'*.jar*'查找jar包位置
# find 将开始在当前目录(用"."表示)中查找任何扩展名为"java"的文件:
find . -name "*.java"
●cp命令,复制
cp./target/code-shan-mp-server-1.0.0.jar./将jar包复制到外边
●mv命令,更改文件名称
mvcode-shan-mp-server-1.0.0.jarcode-shan.jar
ls查看更名后情况
●java-jar命令,执行jar包
java-jarcode-shan.jar启动java的maven项目
# 浏览器查看项目运行情况
地址:服务器的ip:8080/hello
# 看到 hello,shan,则部署运行项目成功啦
不过此时咱的界面卡住了----使用后台启动项目
●nohup命令linux which命令,后台启动程序
nohupjava-jarcode-shan.jar&
问题:命令:nohupjava-jarcode-nav.jar&没能让项目跑上去【nohupjava-jar命令启动jar包,项目一直会莫名其妙死掉的解决方式】
出现:nohup:ignoringinputandappendingoutputto‘nohup.out’
# 查看程序是否跑起来
●jobs命令,查看当前终端装入后台的任务
jobs
●ps命令,查看所有进程,这儿是为了查看是否有(java)进程
ps-ef
●ps-ef|grep命令,筛选出目标进程
ps-ef|grep'java'
# 从文件内容查找匹配指定字符串的行:
grep "被查找的字符串" 文件名
●netstat命令,查看端口占用
netstat-ntlp
●curl命令,访问相应的Web服务器
curllocalhost:8080/dog
# 看到hello,shan 则运行部署成功
[root@iZwz9535z41cmgcpkm7i81Z code-shan-mp-server]# curl localhost:8080/hello
hello,shan[root@iZwz9535z41cmgcpkm7i81Z code-shan-mp-server]#
●clear命令,消除一下
clear
●history命令,查看历史
history
☺其他命令,不会就到指南或则百度查找
假如本文对你有帮助的话记得给一乐点个赞哦,谢谢!