目录
3.2 (process show,ps)操作:查看当前系统上运行的进程:ps aux
Linux学习参考网站
1.Linux的基础使用
命令行 相比 图形化 的优势:
- 节省系统资源: 运行图形界面需要系统付出一更多的资源开销.
- 节省网络带宽:通过网络访问服务器, 使用图形界面需要传输一帧一帧的图像, 而命令只需要传输简单的字符串.
- 便于批量执行任务: 通过一些 "脚本" 代码 (比如 Linux Shell) 来批量执行一些任务, 完成一些简单的编程工作. (比如定时备份文件, 删除文件等).
1.1环境搭建
部署需要外网IP(可租用云服务器获得外网IP)
(1)首次使用,进来需要设置登录密码:
(2)再下载shell,输入姓名和邮件信息可获得下载链接进行下载即可
(3)下载成功进入xshell,输入IP(外网IP):输入 ssh 外网IP,得到输入用户界面,依次输入用户名root和密码
(4) 为避免多次使用重复输入信息,可新建一个会话保存登录信息(用户名、密码),下次直接点击会话即可完成登录
XShell 下的复制粘贴:
复制: ctrl + insert (有些同学的 insert 需要配合 fn 来按)
粘贴: shift + insert
1.2Linux基础命令
常用命令:
cp 复制: cp 123.txt 456.txt(复制123.txt文件为456.txt),递归拷贝目录 需要-r
mv移动: mv 123.txt 111(移动123.txt到文件夹111),移动目录不需要-r
tree . :以树的形式展示各级目录有哪些文件(tree需要额外安装,在root用户下使用 yum install tree安装)
man:查看命令帮助手册---->man cp/mv(查看具体某个命令的使用) quit退出
less:只查看翻页,不可编辑----->quit退出,可快速打开大文件(先加载屏幕能够显示的部分,再随着翻页加载后续的内容)
head:查看文件开头(默认10行,指定:head -n 行数 文件名)
tail:查看文件结尾(同上)
(1)ls
语法: ls [选项] [目录或文件]
功能:目录:列出目录下的所有子目录与文件;对于文件:列出文件名以及其他信息。
常用选项:
- -a 列出目录下的所有文件(包括隐藏文件)
- -d 将目录像文件一样显示,如:ls –d 指定目录
- -k 以 k 字节的形式表示文件的大小:ls –alk 指定文件
- -l 列出文件的详细信息。
- -r 对目录反向排序。
- -t 以时间排序。
- -R 列出所有子目录下的文件。(递归)
常用ls -a ls -l ls -al
不同颜色代表不同文件类型:
普通文件(白色)、目录(蓝色)、可执行文件(绿色)、压缩包(红色)
Ctrl + l:清屏
(2)pwd::显示用户当前所在的目录
(3)cd:切换当前目录
cd .. : 返回上级目录
cd ~:进入用户家目
cd -:返回最近访问目录
1.3Linux树形目录结构
ls /:可查看 根目录/ 下的目录(“/”:表示Windows下的此电脑)
-
/bin:存放二进制文件, 这个目录存放着常使用的命令。
-
/boot:启动 Linux 时的一些核心文件(包括连接文件、镜像文件)
-
/dev : Device(设备) 缩写, 存放 Linux 的外部设备
-
/etc:存放所有的系统管理所需要的配置文件和子目录。
-
/home:用户的主目录,上图中的 alice、bob 和 eve代表不同用户
-
/lib:存放系统最基本的动态连接共享库,类似于 Windows 的 DLL 文件
-
/lost+found:当系统非法关机后,这里就存放了一些文件。
-
/media:linux 系统会动识别一些设备(U盘、光驱等)当识别后,挂载到此目录下。
-
/mnt:让用户临时挂载别的文件系统,将光驱挂载在 /mnt/ 上,就可以查看光驱里的内容。
-
/opt:给主机额外安装软件所摆放的目录
-
/proc:一种伪文件系统(即虚拟文件系统),存储当前内核运行状态的一系列特殊文件,这个目录是一个虚拟目录,是系统内存的映射,通过直接访问/proc目录来获取系统信息。
目录的内容不在硬盘上,而在内存里 -
/root:该目录为系统管理员,超级权限者的用户主目录。
-
/sbin:存放系统管理员使用的系统管理程序。
-
/selinux: Redhat/CentOS 所特有的目录,是一个安全机制,存放selinux相关文件
-
/sys:目录下安装了 2.6 内核中新出现的一个文件系统 sysfs 。sysfs 文件系统集成了3种文件系统的信息:针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统、针对伪终端的 devpts 文件系统。
-
/tmp:存放一些临时文件
/usr:存放用户数据,用户的很多应用程序和文件都放在这个目录下:
/usr/bin:系统用户使用的应用程序。
/usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。
/usr/src:内核源代码默认的放置目录。
-
/run:临时文件系统,存储系统启动以来的信息。系统重启时,目录下的文件应被删或清除
!!!重要文件,谨慎修改
/etc: 系统中的配置文件,若更改了该目录下的某个文件可能导致系统不能启动。
/bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录
/bin、/usr/bin 是给系统用户使用的指令(除 root );/sbin, /usr/sbin 给 root 的指令。
/var: 每个程序都会有相应的日志产生,存放在此目录,具体在 /var/log 目录下,另外 mail 的预设放置也是在这里。
1.4文件操作
(1)touch创建文件:touch test.txt
(2)cat 读文件:cat -n test.txt(-n 对输出的所有行编号)
(3)echo写文件:echo hello > 123.txt ------> (把内容hello写入文件123.txt),此处的">"操作为“重定向”:把本该显示在控制台的内容重定向到指定文件
(一般使用less读文件,vim编辑文件)
(4)rm:删除文件、目录:rm [-f-i-r-v] [dirName/dir]
- -f 直接删除
- -i 删除前逐一询问确认
- -r 删除目录及其下所有文件
注意!!! 千万不要运行 rm -rf / , 尤其是在公司的生产服务器上
1.5Linux磁盘管理
(1) Linux 磁盘管理好坏直接关系到整个系统的性能问题,Linux 磁盘管理常用三个命令:
- df(disk free):列出文件系统的整体磁盘使用量(硬盘被占用情况、剩余空间情况)
- du(disk used):检查磁盘空间使用量(对文件和目录磁盘使用的空间的查看)
- fdisk:用于磁盘分区, Linux 的磁盘分区表操作工具); 输出后面接的装置所有的分区内容。若仅有 fdisk -l 时, 则系统将会把整个系统内能够搜寻到的装置的分区均列出来。
(2) 磁盘格式化:磁盘分割完毕后进行文件系统的格式化,命令: mkfs
(make filesystem) 命令, 如:将分区 /dev/hdc6 格式化为 ext3 文件系统:mkfs -t ext3 /dev/hdc6
(3)磁盘检验: fsck [-t 文件系统] [-ACay] 装置名称
- fsck(file system check)用来检查和维护不一致的文件系统;若系统掉电或磁盘发生问题,可利用fsck命令对文件系统进行检查。
- 看系统有多少文件系统支持的 fsck 命令:fsck[tab][tab]
- 强制检测 /dev/hdc6 分区: fsck -C -f -t ext3 /dev/hdc6(若无 -f 选项,文件系统检查的非常快速!加上 -f 强制检查,才会逐项显示过程。)
(4)磁盘的挂载与卸载:挂载:mount
,卸载: umount
磁盘挂载语法:mount [-t 文件系统] [-L Label名] [-o 额外选项] [-n] 装置文件名 挂载点磁盘卸载命令
umount
语法:umount [-fn] 装置文件名或挂载点
将刚刚创建的 /dev/hdc6 挂载到 /mnt/hdc6 上:
mkdir /mnt/hdc6
mount /dev/hdc6 /mnt/hdc6
df
卸载/dev/hdc6:
umount /dev/hdc6
1.6 Linux apt 命令
apt(Advanced Packaging Tool)是 Ubuntu 中的 Shell 前端软件包管理器。提供了查找、安装、升级、删除某一个、一组甚至全部软件包的命令,apt 命令执行需要超级管理员权限(root)。
apt 常用命令:
- 列出所有可更新的软件 / 升级软件包:sudo apt update/upgrade
- 列出可更新的软件包及版本信息:apt list --upgradeable
- 升级软件包,升级前先删除需要更新软件包:sudo apt full-upgrade
- 安装指定的软件命令:sudo apt install <package_name>
- 安装多个软件包:sudo apt install <package_1> <package_2> <package_3>
- 更新指定的软件命令:sudo apt update <package_name>
- 显示软件包具体信息(版本号,安装大小,依赖关系等):sudo apt show <package_name>
- 删除软件包命令:sudo apt remove <package_name>
- 清理不再使用的依赖和库文件: sudo apt autoremove
- 移除软件包及配置文件: sudo apt purge <package_name>
- 查找软件包命令: sudo apt search <keyword>
- 列出所有已安装的包:apt list --installed
- 列出所有已安装的包的版本信息:apt list --all-versions
2.vim的使用
编辑文件的工具:vim 文件名:即可打开文件查看其内容(若文件不存在则会自行创建)
- 使用 i 键可进入到插入模式. (提示 INSERT) 才可进行编辑,insert模式不可保存文件。
- 按下 Esc 回到普通模式然后输入 : w +enter 即可保存文件.
- 普通模式下输入(:wq) 保存并退出文件
3.常见操作
3.1grep操作
查找文件中是否包含指定字符串, 并显示对应的行.(类似Ctrl+F 查找)
- -n<行数> 显示的行数
- -w 全字匹配. 整个单词都完全相同的结果才能匹配出来
- -r 递归查找. 可以搜索多级目录下的所有文件.
- --color 高亮查找到的结果
- --include 指定查找某些文件
- --exclude 指定排除某些文件
ps aux | grep vim : (在当前查看到的所有进程里面,查找vim)
| 管道:把前一个命令的输出作为后一个命令的输入
3.2 (process show,ps)操作:查看当前系统上运行的进程:ps aux
- a 显示一个终端的所有进程
- u 以用户为主的格式来显示程序状况
- x 显示所有程序,不以终端机来区分
3.3 netstat:查看系统上的网络状态
- -a 显示所有正在或不在侦听的套接字
- -n 显示数字形式地址 而不是去解析主机、端口或用户名
- -p 显示套接字所属进程的PID和名称
netstat -anp ------>查看当前系统所有网络连接
netstat -anp | grep "进程名"
netstat -anp | grep "端口号" 查看端口是否被绑定
4.用户权限
root系统管理员权限,最高权限
(1) r:可读(4)100; 浏览权限
(2) w:可写(2)010; 删除移动修改权限
(3)x:执行(1)001 执行文件权限
- chmod修改文件权限
- chowm修改文件拥有者
- chgrp修改文件所属组
5.搭建 Java 部署环境
5.1根目录/家目录的区别、root/普通用户之间的切换
(1)对普通用户----->家目录是:/home/用户名
(2)对root用户----->家目录是:/root (cd ~ 即可进入root用户)
(3)普通用户---->root用户: 1.su 2. su root 需要密码
(4)root用户---->普通用户: 1. su 用户名 2.ctl+d 不需要密码
5.2.安装jdk
(1)使用yum命令:yum list | grep jdk 查看有无jdk安装包
(2)下载devel后缀文件才是完整的jdk文件:java-1.8.0-openjdk-devel.x86_64(root用户下才可安装:cd ~ 命令可进入)
yum install java-1.8.0-openjdk-devel.x86_64
(3)安装之后输入javac出现如下界面即表示jdk安装成功,图为部分截取
5.3 安装tomcat
Tomcat是跨平台的程序,只需在官网下载压缩包解压缩即可:Tomcat官网
(1)选中如下安装包,复制其链接地址,在xshell终端进行安装即可:
wget https://dlcdn.apache.org/tomcat/tomcat-8/v8.5.82/bin/apache-tomcat-8.5.82.zip
!!!若下载失败可将https改为http
(2)解压缩: unzip 压缩包名(解压前使用命令ll查看列表,获得压缩包名)
unzip apache-tomcat-8.5.82.zip
若提示找不到unzip命令,则先进行安装
yum install unzip
(3)启动Tomcat
进入Tomcat/下的bin目录,执行以下命令:
sh startup.sh
启动前确保.sh文件具有可执行文件(绿色为可执行)可通过命令增加权限(chmod 777 *.sh)
chmod + x *.sh
(4)通过ps或netstate验证效果
ps aux | grep tomcat
43.140.194.43:8080(8080是默认端口)
虽然成功启动了Tomcat,但是无法输入公网IP和端口号进行Tomcat的欢迎页面,是因为租用的服务器(ECS服务器、轻量应用服务器)有一个“安全组”/“防火墙”(避免我们的服务器端口暴露在公网上)------->可在后台(云服务器控制台)修改安全组/防火墙,进行添加规则
5.4安装mysql
确保是在root用户下进行的。(根据自己centos版本进行安装)
CentOS8 使用yum安装MariaDB
(1)安装之前确保全部删除已有版本MySQL/MariaDB(若是第一次安装则可忽略)
(2)安装,本文参考centos8,如下:
1)首先创建MariaDB.repo文件,
vim /etc/yum.repos.d/MariaDB.repo
2)并写入内容:
# MariaDB 10.5 CentOS repository list - created 2021-05-21 14:13 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http:
//yum.mariadb.org/10.5/centos8-amd64
module_hotfixes=1
gpgkey=https:
//yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
3)运行安装命令进行安装MariaDB
yum install -y MariaDB-server MariaDB-client
管理命令:
systemctl start mariadb #启动服务
systemctl enable mariadb #设置开机启动
systemctl restart mariadb #重新启动
systemctl status mariadb #查看下状态
systemctl stop mariadb.service #停止MariaDB
(3)启动
1)启动服务
systemctl start mariadb
2)设置服务开启自启动
systemctl enable mariadb
3)查看服务状态:
systemctl status mariadb
(4)测试连接
mysql -uroot
得到如下显示界面:
至此完成部署前的工作,后续只需进行打包war包,再上传到Tomcat/webapps目录即可:
/root/apache-tomcat-8.5.82/webapps
在pom.xml中输入打包的信息,如下:
生成war包,打开其所在目录,将其拖入到xshell界面Tomcat/webapps目录下(拖拽过去之后会自动解压缩)
浏览器页面输入43.140.194.43:8080/methodServlet/method (methodServlet是打包的包名pom.xml中有显示,method是java文件中的注解)