linux基本命令和程序部署
一、Linux基本命令
1.1常用命令
1.1.1 ls
对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。
- -a 列出目录下的所有文件,包括以 . 开头的隐含文件。
- -d 将目录象文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录
- -k 以 k 字节的形式表示文件的大小。ls –alk 指定文件
- -l 列出文件的详细信息。
- -r 对目录反向排序。
- -t 以时间排序。
- -R 列出所有子目录下的文件。(递归)
eg: ls -l
1.1.2 pwd
显示用户当前所在的目录
1.1.3 cd
更改当前工作的文件夹或者目录,改到指定目录下
- cd … : 返回上级目录
- cd ~:进入用户根目录
- cd -:返回最近访问目录
eg: cd root
/ 称为根目录
. 称为当前目录
… 称为当前目录的
1.1.4 touch
更改目录的日期时间,包括存储时间和更改时间,或新建一个不存在的文件目录
eg :touch aa.bb
1.1.5 cat
查看文件内容
- -n 对输出的所有行编号
eg: cat a.a
1.1.6 mkdir
创建目录
- -p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统 将自动建立好那些尚不存在的目录,即一次可以建立多级目录
eg: mkdir –p a.b
1.1.7 rm
删除文件或目录 (建议不要轻易使用)
- -f 即使文件属性为只读(即写保护),亦直接删除
- -i 删除前逐一询问确认
- -r 删除目录及其下所有文件
eg: rm a.b
1.1.8 cp
复制文件或目录
- -f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
- -i 或 --interactive 覆盖文件之前先询问用户
- -r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录 或符号链接,则一律视为普通文件处理
- -R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理
1.1.9 mv
重命名文件或目录
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
1.1.10 man
查看联机手册获取帮助
- -k 根据关键字搜索联机帮助
- num 只在第num章节找 man man 能够看到 man 手册中的若干个章节及其含义
eg: man ls - List item
1.1.11 less
查看文件内容,但不会立刻把文件的所有内容加载到内存中,也可进行查找。
- j k / 方向键: 向上向下滚动屏幕.
- -N 显示每行的行号
- /字符串:向下搜索“字符串”的功能
- n:重复前一个搜索(与 / 或 ? 有关)
- q: 退出
1.1.12 head
显示档案的开头之标准输出,默认head命令打印其响应文件的开头10行
-n<行数> 显示的行数
1.1.13 tail
显式指定文件的末尾内容,不指定文件时,作为输入信息进行处理,常用于查看文章日志。
- -f 循环读取
- -n<行数> 显示行数
1.1.14 date
指定格式显示时间
%H : 小时(00…23)
%M : 分钟(00…59)
%S : 秒(00…61)
%X : 相当于 %H:%M:%S
%d : 日 (01…31)
%m : 月份 (01…12)
%Y : 完整年份 (0000…9999)
%F : 相当于 %Y-%m-%d
1.1.15 vim
创建文件/打开文件
1.1.16 grep
- -n<行数> 显示的行数
- -w 全字匹配. 要求整个单词都完全相同的结果才能匹配出来, 而不仅仅是一个单词的一部分.
- -r 递归查找. 可以搜索多级目录下的所有文件.
- –color 高亮查找到的结果
- –include 指定查找某些文件
- –exclude 指定排除某些文件
eg: grep a.b
grep “hello” Hello.java
1.1.17 ps
查看当前系统上的进程
- a 显示一个终端的所有进程
- u 以用户为主的格式来显示程序状况
- x 显示所有程序,不以终端机来区分
1.1.18 netstat
查看系统的网络状态
- -a 显示所有正在或不在侦听的套接字
- -n 显示数字形式地址而不是去解析主机、端口或用户名
- -p 显示套接字所属进程PID和名称
eg: netstat -anp
二、项目部署
2.1服务器端环境安装
2.1.1安装Java环境
查看所有Java安装包
yum list java*
安装软件包(需要管理员权限)
yum -y install java-1.8.0-openjdk*
卸载软件包(需要管理员权限)
卸载使⽤ yum -y remove java-1.8.0-openjdk*
验证Java环境是否安装成功
java -version
Maven
查看 Maven 安装包
yum list | grep maven -w
安装Maven
yum install maven.noarch
验证 Maven
mvn -v
输出结果: 则表示安装成功
Apache Maven 3.0.5 (Red Hat 3.0.5-17)
Maven home: /usr/share/maven
Java version: 1.8.0_232, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.232.b09-0.el7_7.x86_64/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.10.0-957.5.1.el7.x86_64", arch: "amd64", family:
"unix"
2.1.2 安装Tomcat
下载tomcat安装包:
下载路径: https://tomcat.apache.org/download-80.cgi
wget https://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.61/bin/apachetomcat-8.5.79.tar.gz
解压
tar -zxvf apache-tomcatt-8.5.79.tar.gz
修改Tomcat名称
mv apache-tomcat-8.5.79 /usr/local/Tomcat8.5
为Tomcat授权
chmod +x /usr/local/tomcat-8.5.79/bin/*.sh
启动tomcat
/root/soft/apache-tomcat-8.5.79/bin/startup.sh
查看Tomcat
ps aux | grep tomcat
启动Tomcat
2.1.3安装MySQL
下载并安装MySQL
wget http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm&&
yum -y install mysql57-community-release-el7-10.noarch.rpm &&
yum -y install mysql-community-server
启动MySQL服务
systemctl start mysqld.service
查看 MySQL 默认密码
grep "password" /var/log/mysqld.log
登录MySQL
mysql -uroot -p
修改密码
set global validate_password_policy=0; #修改密码安全策略为低(只校验密码⻓度,⾄少8位)。 ALTER USER 'root'@'localhost' IDENTIFIED BY '12345678';
为root赋值远程管理权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '12345678';
退出服务器测试MySQL连接
exit
启动和停止MySQL服务器
systemctl start mysqld.service
本机链接MySQL远程服务器 mysql -h 101.42.159.127 -uroot -p
2.2部署博客系统程序
2.2.1数据库
1.先在连接远程服务器上创建项目的MySQL数据库,并且执行博客项目的数据库脚本
2.检查项目中的链接MySQL服务器地址和密码:
2.2.2使用maven打包,生成一个***.war包
找到war包
2.2.3把war包放到tomcat的webapps目录下
2.2.4 重启Tomcat,使用url地址访问项目
二次(多次)更新项目时,要先停止tomcat,防止文件中止更新,导致未更新成功。