08-Linux与部署上线

目录

一,Linux的目录结构

二,Linux的用户

1,用户分类

2,查看用户信息

3,创建用户

4,删除用户

5,用户口令管理

三,Linux的常用命令

1,Linux目录管理

1.1 查看目录

1.2 切换目录

1.3 显示当前目录

1.4 创建目录

1.5 删除目录

2,文件操作

2.1 查看文件内容

2.2 创建文件

2.3 写入内容

2.4 复制、拷贝文件

2.5 移动文件

2.6 删除文件

3,打包与拆包

4,其他命令

4.1 查看进程快照

4.2 管道 |

四,VIM编辑器

1,命令模式

2,输入模式

3,底线命令模式

五,Linux的文件权限

1,文件权限

2,修改权限

2.1 mode方式

2.2 数字方式

六,Linux的网络操作

1,主机名操作

2,查询系统完整信息

3,IP地址操作

4,域名映射

5,网络服务管理

6,防火墙设置

七,远程上传工具的使用

八,Linux安装JDK

九,Linux安装Tomcat

十,Linux安装MySQL

十一,Linux项目部署

1,如何登录数据库?

2,上传xxx.sql文件时选择类型?

3,IDEA中web项目打包?


一,Linux的目录结构

在Linux文件系统中有两个特殊的目录

. :代表当前的目录,也可以使用 ./ 来表示;
.. :代表上一层目录,也可以 ../来代表。

如果一个目录或文件名以一个点 . 开始,表示这个目录或文件是一个隐藏目录或文件(如:.bashrc)。即以 默认方式查找时,不显示该目录或文件。

bin (binaries)存放二进制可执行文件 

sbin (super user binaries)存放二进制可执行文件,只有root才能访问 

etc (etcetera)存放系统配置文件

usr (unix shared resources)用于存放共享的系统资源 

home 存放用户文件的根目录 

root 超级用户目录 

dev (devices) 用于存放设备文件 

lib (library)存放跟文件系统中的程序运行所需要的共享库及内核模块 

mnt (mount)系统管理员安装临时文件系统的安装点 

boot存放用于系统引导时使用的各种文件 

tmp (temporary)用于存放各种临时文件 

var (variable)用于存放运行时需要改变数据的文件

开发人员关注目录:

  • 配置目录etc:软件安装后配置文件选择放入的地址。
  • 软件安装目录:usr/local
  • 安装应用程序目录:opt,部署的API程序一般放在这个目录。部署的API放入用户的目录:/home/用户名
  • 注意:Linux系统的文件系统是以斜杠“/”开始,不是windows中的盘符概念。

二,Linux的用户

Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。

用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。

每个用户账号都拥有一个唯一的用户名和各自的口令。

用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。 

1,用户分类

用户账户一般非为两大类:超级管理员和普通用户。 

  • 超级管理员:用root表示,root用户在系统中拥有最高权限。 
  • 普通用户:除了root之外的用户。
     

2,查看用户信息

#语法 cat /etc/passwd

  • root: 用户名 
  • x: 密码 :已经加密 ,密码存放在 vi /etc/shadow 密码文件 
  • 0: 账号id ,userId 
  • 0: 组id ,groupId

3,创建用户

useradd 选项 用户名
  • -c comment: 指定一段注释性描述。 
  • -d 目录: 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。 
  • -g 用户组: 指定用户所属的用户组。 
  • -G 用户组:指定用户所属的附加组。 
  • -s Shell文件: 指定用户的登录Shell。
  • -u 用户号: 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。 
useradd lina02

4,删除用户

userdel 选项 用户名
  • -r是常用的选项,表示将用户的主目录一起删除。

5,用户口令管理

用户口令的管理其实就是用户密码的管理。用户账号刚创建时(useradd)没有口令,但是被系统锁定,无法使用,必须为其指定口令后才可以使用,即使是指定空口令。

指定和修改用户口令的命令是 passwd 。超级用户可以为自己和其他用户指定口令,普通用户只能用它修改自己的口令。

passwd 选项 用户名
  • -l 锁定口令,即禁用账号。 
  • -u 口令解锁。 
  • -d 使账号无口令。 
  • -f 强迫用户下次登录时修改口令。

修改当前用户的口令。

切换到用户lina,下面的命令修改该用户自己的口令:PS:linux操作系统中密码部分不予显示,所以看起来是空白的,实际已经输入了密码。

如果是超级用户,可以用下列形式指定任何用户的口令:

普通用户修改自己的口令时,passwd命令会要求先输入原口令,验证后再要求用户输入两遍新口令,如果两次输入的口令一致,则将这个口令指定给用户;而超级用户为用户指定口令时,就不需要知道原口令。 

三,Linux的常用命令

1,Linux目录管理

Linux的目录结构为树状结构,最顶级的目录为根目录 /。其他目录通过挂载可以将它们添加到树中,通过解除挂载可以移除它们。

绝对路径与相对路径:

  • 绝对路径:由根目录 / 写起,例如: /usr/share/doc 这个目录。
  • 相对路径:不是由 / 写起,例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成: cd ../man 这就是相对路径的写法。

1.1 查看目录

ls 选项
  • ls :查看当前路径下的文件名称 
  • ls -a :全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来(常用) 
  • ls -d :仅列出目录本身,而不是列出目录内的文件数据(常用) 
  • ls -l :长数据串列出,包含文件的属性与权限等等数据;(常用) 
  • ll: 等价于ls -l 
  • ls -al :目录下的所有文件列出来(含属性与隐藏档)

1.2 切换目录

cd是Change Directory的缩写,这是用来变换工作目录的命令。

cd [相对路径或绝对路径]
#使用绝对路径切换到 local 目录 
cd /usr/local/ 

# 表示回到自己的家目录,亦即是 /root 这个目录 
cd ~ 

# 表示去到目前的上一级目录,亦即是 /root 的上一级目录的意思; 
cd ..

1.3 显示当前目录

pwd 是 Print Working Directory 的缩写,也就是显示目前所在目录的命令。

pwd

1.4 创建目录

mkdir (make directory)用来创建新的目录。

mkdir [-mp] 目录名称
  • -m :配置文件的权限!直接配置,不需要看默认权限的脸色 
  • -p :直接将所需要的目录(包含上一级目录)递归创建起来!
cd /tmp 
mkdir kkb

mkdir test1/test2/test3/test4 
mkdir: cannot create directory `test1/test2/test3/test4': No such file or directory <== 没办法直接创建此目录! 

mkdir -p test1/test2/test3/test4 

1.5 删除目录

rmdir 命令用来删除空的目录

 rmdir [-p] 目录名称

-p :连同上一级『空的』目录也一起删除

2,文件操作

2.1 查看文件内容

cat 查看所有内容

cat 由第一行开始显示文件内容

 more 一页一页的显示文件内容

more 文件名称

例如:more /etc/man_db.config 
....(中间省略).... --More--(28%) <== 重点在这一行!你的光标也会在这里等待你的命令 

在 more 这个程序的运行过程中,你有几个按键可以按的: 
    空白键 (space):代表向下翻一页; 
    Enter :代表向下翻『一行』; 
    :f :立刻显示出档名以及目前显示的行数; 
    q :代表立刻离开 more ,不再显示该文件内容。

less 一页一页翻动

less 文件名称

例如:less /etc/man.config 
....(中间省略).... : 
<== 这里可以等待你输入命令!

less运行时可以输入的命令有: 
    空白键 :向下翻动一页; 
    [pagedown]:向下翻动一页; 
    [pageup] :向上翻动一页; 
    q :离开 less 这个程序;

2.2 创建文件

touch 创建一个空白的普通文件
#示例: 
[root@centoslina01 /]# cd kkb 
[root@centoslina01 kkb]# touch lina01.txt 
[root@centoslina01 kkb]# ll 
total 0 
-rw-r--r--. 1 root root 0 Mar 11 10:08 lina01.txt 
[root@centoslina01 kkb]#

2.3 写入内容

echo 把内容重定向到指定的文件中 ,有则打开,无则创建

echo '内容'>文件名称 覆盖模式 
echo '内容'>>文件名称 追加模式
#示例: 
[root@centoslina01 kkb]# echo 'jiaobaoyu'>lina01.txt 
[root@centoslina01 kkb]# echo 'jiaobaoyu'>lina01.txt 
[root@centoslina01 kkb]# cat lina01.txt 
jiaobaoyu 
[root@centoslina01 kkb]# echo 'jiaobaoyu'>>lina02.txt 
[root@centoslina01 kkb]# echo 'jiaobaoyu'>>lina02.txt 
[root@centoslina01 kkb]# cat lina02.txt 
jiaobaoyu 
jiaobaoyu 
[root@centoslina01 kkb]#

2.4 复制、拷贝文件

 cp [-adfilprsu] 来源档(source) 目标档(destination)
  • -a:相当於 -pdr 的意思,此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容;
  • -d:复制时保留链接。这里所说的链接相当于 Windows 系统中的快捷方式; 
  • -f:为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;(覆盖已经存在的目标文件而不给出提示) 
  • -i:与 -f 选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答 y 时目标文件将被覆盖。 
  • -l:进行硬式连结(hard link)的连结档创建,而非复制文件本身(不复制文件,只是生成链接文件); 
  • -p:连同文件的属性(修改时间和访问权限)一起复制过去,而非使用默认属性(备份常用); 
  • -r:递归持续复制,用于目录的复制行为; 
  • -s:复制成为符号连结档 (symbolic link),亦即『捷径』文件; 
  • -u:若 destination 比 source 旧才升级 destination !

2.5 移动文件

mv 可以移动文件与目录,或修改名称。

mv [-fiu] source destination
  • -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖; 
  • -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖! 
  • -u :若目标文件已经存在,且 source 比较新,才会升级 (update)

2.6 删除文件

rm 可以移除文件或目录。

rm [-fir] 文件或目录
  • -f :就是 force 的意思,忽略不存在的文件,不会出现警告信息; 
  • -i :互动模式,在删除前会询问使用者是否动作 
  • -r :递归删除!常用在目录的删除!这是非常危险的选项!!!

3,打包与拆包

一般Linux 上常用的压缩方式是选用tar 将许多文件打包成一个文件,再以 gzip压缩命令压缩成xxx.tar.gz(或者xxx.tgz)的文件。

打包: tar -cvf xxx.tar 要打包的文件或目录的列表,用空格隔开

打包并且压缩: tar -zcvf xxx.tar.gz 要打包的文件或目录的列表,用空格隔开

解压: tar -xvf xx.tar

tar -zxvf xx.tar.gz -C /usr/kkb    注意-C大写,防止拆包解压的路径找不到
  • -c:创建一个新tar文件
  • -v:显示运行过程的信息
  • -f:指定文件名
  • -z:调用gzip 压缩命令进行压缩
  • -t:查看压缩文件的内容
  • -x:解开tar 文件

4,其他命令

4.1 查看进程快照

ps -axu 显示当前进程的快照

查看Java进程:ps - axu | grep java
查看MySQL进程 ps - axu | grep mysql

4.2 管道 |

管道是Linux中比较重要且常用的一个内容,其作用是将一个命令的输出作为另一个命令的输入,组合使用。

#分页查看帮助信息,按q退出
ls --help | more

四,VIM编辑器

vi 文件名
vim 文件名

vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)。

1,命令模式

用户刚刚启动 vi/vim(vim是vi的扩展),便进入了命令模式。

此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。

以下是常用的几个命令:

  • i 切换到输入模式,以输入字符。
  • x 删除当前光标所在处的字符。i
  • : 切换到底线命令模式,以在最底一行输入命令。

若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。

命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。

2,输入模式

在命令模式下按下i就进入了输入模式。

在输入模式中,可以使用以下按键:

  • 字符按键以及Shift组合,输入字符
  • ENTER,回车键,换行
  • BACK SPACE,退格键,删除光标前一个字符
  • DEL,删除键,删除光标后一个字符
  • 方向键,在文本中移动光标
  • HOME/END,移动光标到行首/行尾
  • Page Up/Page Down,上/下翻页
  • Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
  • ESC,退出输入模式,切换到命令模式

3,底线命令模式

在命令模式下按下:(英文冒号)就进入了底线命令模式。按ESC键可随时退出底线命令模式。

底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。

在底线命令模式中,基本的命令有

五,Linux的文件权限

Linux操作系统中对权限的管理很严格。Linux系统中不仅是对用户与组根据UID,GID进行了管理,还对Linux系统中的文件,按照用户与组进行分类,针对不同的群体进行了权限管理,用他来确定谁能通过何种方式对文件和目录进行访问和操作。

1,文件权限

权限共有10个字符,我们将它分为4大部分来理解:
- --- --- ---

第1部分、表示文件的类型

  • - 表示是一个文件
  • d 表示是一个目录
  • l 表示是一个连接(理解为快捷方式)

第2部分、当前用户具有的对该文件的权限 (owner 属主,缩写u)
第3部分、当前组内其他用户具有的对该文件的权限 (group 属组,缩写g)
第4部分、其他组的用户具有的对该文件的权限 (other 其他,缩写o)

  • r:Read 读
  • w:Write 写
  • x:eXecute 执行

对于文件和目录来说,r,w,x有着不同的作用和含义:

针对文件:

  • r:读取文件内容
  • w:修改文件内容
  • x:执行权限对除二进制程序以外的文件没什么意义

针对目录:目录本质可看做是存放文件列表、节点号等内容的文件

  • r:查看目录下的文件列表
  • w:删除和创建目录下的文件
  • x:可以cd进入目录,能查看目录中文件的详细属性,能访问目录下文件内容(基础权

限)

PS:

  • root账户不受文件权限的读写限制,执行权限受限制
  • 用户获取文件权限的顺序: 先看是否为所有者,如果是,则后面权限不看;再看是否为所属组,如果是,则后面权限不看。

2,修改权限

chown 是change owner的意思,主要作用就是改变文件或者目录所有者.

  • chmod 修改文件和文件夹读写执行属性。 使用权限:所有使用者
  • chown 修改文件和文件夹的用户和用户组属性。使用权限:root

2.1 mode方式

chmod who opt per file
  • who:u g o a(all)(u 用户user ,g用户组group,o其他用户,a所有用户默认)
  • opt:+添加某个权限 –取消某个权限 =赋予权限
  • per:r w x X
chmod u=rwx,g=r lina03.txt
chmod u+x,g+w,o+w test.log
//r 读,w 写 x 执行

2.2 数字方式

例如:-rwxr--r--. 1 root root 10 Oct 16 02:55 yhp.log

  • 用户权限=rwx=4+2+1=7
  • 所属组权限=r--=4+0+0=4
  • 其他用户权限=r--=4+0+0=4
  • 组合:744

修改权限:  chmod 765 yhp.log

  • 给用户组加入写入权限:+2
  • 给其他用户加入可执行权限:+1

六,Linux的网络操作

1,主机名操作

hostname :显示主机名

hostname XXX :修改主机名,不推荐,临时生效

永久生效修改主机名需要修改/etc/sysconfig/network文件

2,查询系统完整信息

uname -a

3,IP地址操作

查看IP地址:ip addr

修改IP地址:修改/etc/sysconfig/network-scripts/

重启网络服务:service network restart

4,域名映射

修改 /etc/hosts文件

5,网络服务管理

查看网络服务状态:systemctl status network

启动网络服务:systemctl start network

停止网络服务:systemctl stop network

重启网络服务:systemctl restart network

设置开机启动:systemctl enable network

6,防火墙设置

查看防火墙状态: systemctl status firewalld

启动防火墙: systemctl start firewalld

关闭防火墙: systemctl stop firewalld

查询防火墙服务是否开机启动:systemctl is-enabled firewalld

开机时启用防火墙服务:systemctl enable firewalld

开机时禁用防火墙服务:systemctl disable firewalld

查询已经启动的服务列表:systemctl list-unit-files|grep enabled

查询启动失败的服务列表:systemctl --failed

七,远程上传工具的使用

这里使用secureFX

运行后选择连接的虚拟机

八,Linux安装JDK

1、上传jdk文件到linux

使用SecureFX连linux后,将JDK压缩包上传到新建的mysoft文件夹。

2、解压压缩包

3、测试jdk是否安装成功

注意:这里是在jdk的bin目录下运行的。并且java命令前有“./”

4、配置环境变量

(1)编辑profile文件

如果提示没有写入权限,可以参考这里@我来乔23【linux遇到xxx is not in the sudoers file.This incident will be reported的问题】https://www.cnblogs.com/MakeView660/p/12395542.htmlicon-default.png?t=LA92https://www.cnblogs.com/MakeView660/p/12395542.html

(2)在profie文件中添加JAVA_HOME变量

(3)使环境变量及时生效

(4)查看变量是否更新成功

(5)在任意目录下测试环境是否配置成功

九,Linux安装Tomcat

安装Tomcat之前要保证JDK安装成功!

1、上传Tomcat压缩包到根目录的mysoft文件夹,之前已经完成

2、解压:tar -xzvf apache-tomcat-8.5.11.tar.gz

3、启动Tomcat

4、关闭防火墙之后测试访问

5、关闭Tomcat

十,Linux安装MySQL

YUM( Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。

它基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,无须繁琐地一次次下载、安装.

1、检测系统是否自带安装mysql

yum list installed | grep mysql

2、删除系统自带的mysql及其依赖(防止后面安装发生冲突)

yum -y remove mysql-libs.x86_64

3、给CentOS添加rpm源,并且选择较新的源,RPM软件包管理器缩写

wget --no-check-certificate dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm

4、安装第一步下载的rpm文件

yum install mysql-community-release-el6-5.noarch.rpm

yum repolist enabled | grep mysql //列出你所有的yum repo文件

5、使用yum安装mysql

yum install mysql-community-server

安装完毕

6、启动mysql服务

service mysqld start

7、查看mysql是否自启动,并且设置开启自启动

chkconfig --list | grep mysqld

0 1 2 3 4 5 6 代表centOS启动状态

chkconfig mysqld on

8、修改字符集为UTF-8

vim /etc/my.cnf

在[mysqld]部分添加:

character-set-server=utf8

在文件末尾新增[client]段,并在[client]段添加:

default-character-set=utf8

esc退出编辑 :wq保存退出 

修改完成后保存重启服务

service mysqld restart

步骤9: 修改默认配置

mysql_secure_installation

按照提示进行配置,这里默认root用户的密码空,直接回车即可。此处输入内容:"y","y","n","y","y" 

十一,Linux项目部署

具体过程可以看这里@净重21克【2021最新Linux系统发行版ContOS7演示部署WEB项目】,作者总结的非常详细!

这里对其中的细节部分进行记录

1,如何登录数据库?

按照上面的流程,登录用户名为root,密码为安装过程中自己设置的。

mysql -uroot -p
输入密码

2,上传xxx.sql文件时选择类型?

选择binary类型。

若选择ASCII类型,运行

source  /home/xsge/downfiles/demo.sql

会出错

3,IDEA中web项目打包?

参考@返回主页developer【使用Intellij IDEA将web项目导出为war包 】,总结的非常清晰!

上传war包时,同样选择binary类型

我个人用的是IDEA2018.3,亲测有效

猜你喜欢

转载自blog.csdn.net/qq_41528502/article/details/121363148
今日推荐