一起来部署项目-Linux基本命令

Posted 墨家巨子@俏如来

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一起来部署项目-Linux基本命令相关的知识,希望对你有一定的参考价值。

前言

大家好,上一篇我们学习了如何《购买一台云服务器》,本篇文章在上一篇文章的基础上我们来学习Linux,主要是要熟练掌握Linux基础命令

认识Linux

和windows操作系统类似,Linux是一套开源性能稳定的多用户网络操作系统,是一种免费使用和自由传播的[类UNIX]操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。

在企业中我们通常在Window系统中使用IDEA开发项目,然后使用Linux部署项目。Linux相对于Windows更可靠,安全性、稳定性能其安全性相比其他系统也要安全很多

Linux的发行版本

由于Linux开源所以很多组织基于开源的Linux衍生出很多的分支版本

Rpm系

(使用Red Hat(红帽子)的软件库管理系统):

  • Redhat 红帽,收费,技术支持强大,资料完善,系统稳定安全;
  • Fedora 被红帽赞助,适合个人使用,免费;
  • Centos 被红帽收购,免费,系统稳定安全,很多公司在用;

Dpkg系

(package manager for Debian):

  • Debian 很多公司在用,基于ubuntu(乌班图);

  • Ubuntu 基于debian的发行版,比较最受欢迎的免费操作系统,界面强大。比较适合个人用户;

  • Pear os 基于Ubuntu,仿macos;

国产linux系统

红旗Linux,真正的国产linux系统,2014年公司解散后被收购

我们上一章节采购的云服务器的操作系统就是选择的centos7系列。后续也会使用centos给大家讲解项目的部署。

linux系统目录

linux的目录跟window有所区别,windows中有盘符的概念,c盘,d盘等,而在linux中是以目录存储文件而且只有一个根目录

  • 在Linux有个基本思想:一切都是文件。就是系统中的所有都可以归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。而这些文件是以一定的结构组织的;

  • linux系统的目录结构是一个以/(根目录)为根节点的树形结构:

这里我百度了一张centos目录结构图(偷个懒~)

大家可以挑几个比较重要的目录去记一下,下面这几个常用

  • 比如 “/”:代表根目录 ;
  • “/usr” : 程序安装目录 ,
  • “/root” : root用户目录,类似于windows的c盘中的用户目录
  • /home :普通用户目录,比如 zs用户就会有一个 /home/zs的目录
  • /etc 配置文件目录
  • sbin / bin : 二进制文件目录

执行命令 : cd / , 然后执行 ls 查看根目录内容:

linux常用命令

基础命令

pwd:查看当前命令所在目录

cd : 切换目录(需要到特定的目录执行命令),用法 :

cd 目录名 :进入指定目录

cd .. :退回上一级

cd ~ : 切到用户 home目录

tab :补全文件名或者命令
ls :查看目录文件信息

ls –a :列出所有文件和文件夹,包含隐藏文件

ls -al :以详细信息方式列出所有文件信息,包含隐藏文件

ls -l :以详细信息方式列出文件信息 , 可以简写成: ll , 如下:

第一个字母表示文件类型

第一个字母所代表的权限字母
”-”普通文件
”d”目录,字母”d”,是dirtectory(目录)的缩写
“l”符号链接。请注意,一个目录或者说一个文件夹是一个特殊文件,这个特殊文件存放的是其他文件和文件夹的相关信息
“b”块设备文件
“c”字符设备文件

第一个栏位,表示文件的属性。Linux的文件基本上分为三个属性:

字母文件属性
r可读
w可写
x可执行

紧接着的3*3个字符分3组,各指示此文件的读、写、执行权限,对于owner、group、others而言。

find : 查找文件 : find / --name "文件名"

whereis :查找命令 ,如: whereis java

文件系统

相对路径和绝对路径

/ 代表根目录,凡是最左边是一个 /代表绝对路径,即从根目录开始
./ 代表当前目录
../ 表示上一级目录

mkdir -p : 递归创建目录 mkdir -p /a/b/c

rm -rf :删除文件/目录

强制删除文件或者目录 ,该命令慎用,切记乱删除东西。

mv :移动
  • 移动a.txt到根目录 : mv a.txt /
  • 移动文件夹 m1到根目录: mv m1 /
  • 重命名把1.txt 重命名为2.txt:mv 1.txt 2.txt ,

cp -rf: 复制
  • 将dir1复制一份到dir2目录(包含目录内容一起复制) : cp -rf dir1 dir2

  • 直接复制内容(非常重要) : cp -rf dir1/* dir2

tar :打包压缩
  • 打包 : tar -czvf tom.tar.gz tom - 把 tom 打包成tom.tar.gz

  • 解包: tar -xzvf tom.tar.gz -C /usr/local - 把tom.tar.gz解压到/usr/local

参数

-c	创建一个新的tar文件           
-t	参看压缩文件内容
-v	显示运行过程信息	
-j	调用bzip2压缩命令执行压缩
-f	指定文件名称	      
-C 指定需要解压到的目录
-z	调用gzip压缩命令执行压缩   	
-x	解开tar文件

文件操作

touch : 创建文件

cat : 查看文件内容

tail -f : 查看文件尾部
  • tail -n 10 a.txt : 查看末尾10行 ,通过 -n指定行数

vi :文本编辑器

编辑一个文本:vi a.txt -> 按 i 进入insert模式 -> 编辑内容 -> esc 退出编辑 -> :wq -> 保存退出/ :q! 强制退出。

  • :w //保存文件

  • :w vpser.net //保存至vpser.net文件

  • :q //退出编辑器,如果文件已修改请使用下面的命令 ,q(quit)

  • :q! //退出编辑器,且不保存

  • :wq //退出编辑器,且保存文件

注意:按i(insert)进入编辑,按Ctrl + C 强制退出编辑,退出编辑并保存输入按 :wq

防火墙

防火墙具备一些有效的隔离功能,能够对经过防火墙的网络包按照一定的规则进行检查,从而控制网络包的进入进出,以达到限制网络访问的一些目的。

当centos中安装了有端口的软件,如果外网需要访问该端就需要做防火墙的端口放行。

关闭防火墙

systemctl stop firewalld.service

开放指定端口

firewall-cmd --zone=public --add-port=1935/tcp --permanent

关闭指定端口

firewall-cmd --zone=public --remove-port=5672/tcp --permanent

软件的安装

源码安装

这种方式拿到的是软件的源码包,需要自行 make 进行编译,然后 install 安装。同时make命令需要有gcc的环境。

先安装环境,以Redis为例:https://my.oschina.net/liuyuantao/blog/915785

RPM包安装

特点:这种安装方式,软件包会自动配置jdk的环境变量,不用手动配置。也是最方便快捷的一种方式

命令:

  • rpm -qa 软件名称 :查询软件是否被安装

  • rpm -ivh 软件包路径 需要安装的包文件 : rpm –ivh xxx.rpm

  • rpm -e --nodeps 需要卸载的软件包 : 卸载软件(–nodeps 忽略依赖关系并继续操作)

  • rpm -qa | grep 查询名称 :利用管道模糊查询软件安装情况:

例如: rpm -qa | grep java 检测系统自带的jdk安装包

参数说明:rpm [选项] [参数]

    -a:查询所有软件包
​    -e:删除指定的软件包
​    -f<文件>:查询拥有指定文件的套件; 
​    -h或-–hash:显示进度信息 ,以#显示进度
​    -i:显示包的详细信息
​    -i<软件包>或-–install<软件包>:安装指定的软件包 
​    -l:显示包的文件列表
​    -p:查询指定的RPM包 
​    -q:使用询问模式
​    -U<软件包>或-–upgrade<软件包>:升级指定的程序包
​    -v:显示指令执行详细过程
-vv:详细显示指令执行过程,便于排错

以Java为例,第一步下载Java :https://www.oracle.com/java/technologies/downloads/


然后通过ftp工具上传下载号的安装包到linux

最后使用rpm 安装java

yum在线安装

这种方式是在线安装,自动下载需要安装的软件,同时自动安装软件所依赖的其他软件,如果yum仓库中没有要安装的软件需要更换或者添加 “yum仓库" 。

特点:将所有软件包放到官方服务器上,当进行yum在线安装时,可以自动解决依赖性问题;

缺点:安装过程中,rpm包依赖性太强;

比如要安装Git,只需要执行 yum install git

yum命令:

  • yum list --查询所有可用软件包列表

  • yum search 关键字 --搜索服务器上所有和关键字相关的包

  • yum -y install 包名 (-y 自动回答yes)

  • yum安装只写包名即可! eg:yum -y install gcc --c语言编译器

  • 升级:yum -y update 包名 : -y自动回答yes

  • 卸载:yum -y remove 包名


文章就写到这里把,如果对你有帮助请给个好评~~~

以上是关于一起来部署项目-Linux基本命令的主要内容,如果未能解决你的问题,请参考以下文章

项目部署常用的命令

一文带你快速掌握Linux(常用命令+项目部署)

Linux基本命令

Linux高级-基本命令-笔记

怎样在linux下部署windows下开发的项目

Linux必知必会的基本命令和部署项目流程