JavaWeb_瑞吉外卖_Day8-Linux

Linux常用命令

Linux命令初体验

// 查看当前目录下的内容
ls
// 查看当前所在目录
pwd
// 切换目录
cd [目录名]
// 如果文件不存在, 新建文件
touch [文件名]
// 创建目录
mkdir [目录名] 
// 删除指定文件
rm [文件名]
// 修改乱码
echo 'LANG="en_US.UTF-8"' >> /etc/profile
source /etc/profile // 重新加载

Linux命令格式

commond [-options] [parameter]

  • commond: 命令名.
  • [-optional]: 选型, 可用来对命令进行控制.
  • [parameter]: 传给命令的参数, 任意个.

注意:

  • []代表可选
  • 命令名, 选型, 参数之间有空格进行分隔

文件目录操作命令

ls

  • ls -a: 显示所有文件及目录(.开头的隐藏文件也会列出)
  • ls -l: 除文件名称外, 同时将文件型态(d表示目录, -表示文件), 权限, 拥有者, 文件大小等信息详细列出.
  • ls /etc: 查看指定目录下的内容.

注意:

  • ls -l可以简写为ll

cd

  • ~: 表示用户的home目录
  • .: 当前所在目录
  • ..: 当前目录的上级目录

cat

  • 作用: 用于显示文件内容
  • 语法: cat [-n] filename
  • 说明:
    • -n: 由1开始对所有输出的行数编号

more

  • 作用: 以分页的形式显示文件内容
  • 语法: more fileName
  • 操作说明:
    • 回车键: 向下滚动一行
    • 空格键: 向下滚动一屏
    • b: 返回上一屏
    • q或者Ctrl+C: 退出more

tail

  • 作用: 查看文件末尾的内容
  • 语法: tail [-f] fileName
  • 说明:
    • -f: 动态读取文件末尾内容并显示, 通常用于日志文件的内容输出
  • 举例:
    • tail /etc/profile: 显示profile文件末尾10行的内容
    • tail -20 /etc/profile: 显示profile文件末尾20行的内容
    • tail -f /itcast/my.log: 动态读取my.log文件末尾内容

mkdir

  • 作用: 创建目录
  • 语法: mkdir [-p] dirName
  • 说明:
    • -p: 确保目录名称存在, 不存在的就创建一个. 通过此选项, 可以实现多层目录同时创建

rmdir

  • 作用: 删除空目录
  • 语法: rmdir [-p] dirName
  • 说明:
    • -p: 当子目录被删除后是父目录为空目录的话, 则一并删除
  • 举例:
    • rmdir -p itcast/test: 删除itcast目录中名为test的子目录, 若test目录删除后itcast目录变为空目录, 则也被删除
    • rmdir itcast*: 删除名称以itcast开始的空目录

rm

  • 作用: 删除文件或者目录
  • 语法: rm [-rf] name
  • 说明:
    • -r: 将目录及目录中所有文件(目录)逐一删除, 即递归删除
    • -f: 无需确认, 直接删除
  • 举例:
    • rm -r itcast/: 删除名为itcast的目录和目录中所有文件,删除前需确认
    • rm -rf itcast/: 无需确认,直接删除名为itcast的目录和目录中所有文件
    • rm -f hello.txt: 无需确认,直接删除hello.txt文件

拷贝移动命令

cp

  • 作用: 用于复制文件或目录
  • 语法: cp [-r] source dest
  • 说明:
    • -r: 如果复制的是目录需要使用此选型, 此时将复制该目录下所有的子目录和文件

mv

  • 作用: 为文件或目录改名, 或将文件或目录移动到其他位置
  • 语法: mv source dest

打包压缩命令

tar

  • 作用: 对文件进行打包, 解包, 压缩, 解压
  • 语法: tar [-zcxvf] fileName [files]
  • 说明:
    • 包文件后缀为.tar表示只是完成了打包, 并没有压缩
    • 包文件后缀为.tar.gz表示打包的同时还进行了压缩
    • -z: z代表gzip, 通过gzip命令处理文件, gzip可以对文件压缩或者解压
    • -c: c代表create, 即创建新的包文件
    • -x: x代表extract, 实现从包文件中还原文件
    • -v: v代表verbose, 显示命令的执行过程
    • -f: f代表的是file, 用于指定包文件的名称

文本编辑命令

vi

  • 作用: Linux系统提供的文本编辑工具
  • 语法: vi fileName

vim

  • 作用: 文本编辑器
  • 语法: vim fileName
  • 说明:
    • vim是从vi发展来的功能更强大的文本编辑工具, 可以对文本着色
    • 安装vim: yum install vim
    • 指定的文件不存在时, 则新建文件
    • 三种模式: 命令模式(Command mode), 插入模式(Insert mode), 底行模式(Last line mode).
  • 三种模式
    • 命令模式:
      • 查看文件内容, 移动光标(方向箭头, gg, G),
      • 默认进入, 另外的两种模式要先进入命令模式
    • 插入模式:
      • 编辑文件内容,
      • 命令模式按下[i, a, o]任意一个, 进入插入模式, 按下esc, 回到命令模式
    • 底行模式:
      • 查找文件内容, 显示行号, 退出
      • 在命令模式按下[:, /]任意一个, 进入底行模式
      • 通过/方式进入, 查找文件内容
      • 通过:方式进入, 可以输入wq(保存退出), q!(不保存退出), set nu(显示行号)

查找命令

find

  • 作用: 在指定目录下查找文件
  • 语法: find dirName -option fileName
  • 举例:
    • find /itcast -name "*.java": 在/itcast目录及其子目录下查找.java结尾的文件.

grep

  • 作用: 从指定文件中查找指定的文本内容
  • 语法: grep word fileName
  • 举例:
    • grep hello *.java: 查找当前目录中所有.java结尾的文件中包含hello字符串的位置.

软件安装

软件安装方式

  • 二进制发布包安装
    软件已经针对具体平台编译打包发布,只要解压,修改配置即可
  • rpm安装
    软件已经按照redhat的包管理规范进行打包,使用rpm命令进行安装,不能自行解决库依赖问题
  • yum安装
    一种在线软件安装方式,本质上还是rpr安装,自动下载安装包并安装,安装过程中自动解决库依赖问题
  • 源码编译安装
    译打包软件以源码工程的形式发布,需要自己编译打包

安装jdk

  1. 上传jdk的二进制发布包到Linux
  2. 解压安装包: tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/local
  3. 配置环境变量, 修改/etc/profile文件:
    1. JAVA_HOME=/usr/lcoal/jdk1.8.0_171
    2. PATH=$JAVA_HOME/bin:$PATH
  4. 重新加载profile文件: source /etc/profile
  5. 检查安装是否成功: java -version

安装Tomcat

  1. 上传tomcat的二进制发布包
  2. 解压到/usr/lcoal
  3. 启动tomcat: ./startup.shsh startup.sh
  4. 检查启动是否成功:
    1. 检查日志: more apache-tomcat-7.0.57/logs/catalina.out
    2. 查看进程: ps -ef | grep tomcat
      注意:
      1. ps -ef: 查看当前运行的所有进程的详细信息
      2. |: 管道符, 将前一个命令的结果作为后一个命令的输入
  5. 停止tomcat服务:
    1. 停止服务: ./shutdown.shsh shotdown.sh
    2. 结束进程: kill -9 进程id // -9表示强制结束

注意:

  • 访问tomcat, 需要关闭防火墙

防火墙操作

  • 查看防火墙状态: systemctl status firewalld, firewall-cmd --state
  • 暂时关闭防火墙: systemctl stop firewalld
  • 永久关闭防火墙: systemctl disable firewalld
  • 开启防火墙: systemctl start firewalld
  • 开放指定(8080)端口: firewall-cmd --zone=public --add-port=8080/tcp --permanent
  • 关闭指定(8080)端口: firewall-cmd --zone=public --remove-port=8080/tcp --permanent
  • 立即生效: firewall-cmd --reload
  • 查看开放的端口: firewall-cmd --zone=public --list-ports

注意:

  1. systemctl是管理Linux中服务的命令, 可以对服务进行启动, 停止, 重启, 查看状态等操作
  2. firewall-cmd是Linux中专门用于控制防火墙的命令
  3. 为了保证系统安全, 服务器的防火墙不建议关闭

安装mysql

  1. 检测当前系统是否安装Mysql数据库
    1. rpm -qa: 查询当前系统中安装的所有软件
    2. rpm -qa | grep mysql: 查询当前系统中安装的名称带有mysql的软件
    3. rpm -qa | grep mariadb: 查询当前系统中安装的名称带有mariadb的软件
    4. 如果系统以安装mysql数据库, 安装会失败. CentOS7自带mariadb, 与mysql数据库冲突.
    5. RPM(Red-Hat Package Manager): RPM软件报管理器, 是红帽Linux用于管理和安装软件的工具.
  2. 卸载mariadb数据库: rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
  3. 上传并解压mysql
  4. 按顺序安装rpm软件包
    1. rpm -ivh mysql-community-common-5.7.25-1.el7.x86_64.rpm
    2. rpm -ivh mysql-community-libs-5.7.25-1.el7.x86_64.rpm
    3. rpm -ivh mysql-community-devel-5.7.25-1.el7.x86_64.rpm
    4. rpm -ivh mysql-community-libs-compat-5.7.25-1.el7.x86_64.rpm
    5. rpm -ivh mysql-community-client-5.7.25-1.el7.x86_64.rpm
    6. yum install net-tools
    7. rpm -ivh mysql-community-server-5.7.25-1.el7.x86_64.rpm
    8. 安装过程提示缺少net-tools依赖, 使用yum安装
    9. 可以通过指令升级现有软件及系统内核: yum update
  5. 启动mysql服务
    1. systemctl status mysqld: 查看mysql服务状态
    2. systemctl start msyqld: 启动mysql服务
    3. systemctl enable mysqld: 开机启动mysql服务
    4. netstat -tunlp: 查看已经启动的服务
    5. netstat -tunlp | grep mysql
    6. ps -ef | grep mysql: 查看mysql进程
  6. 登录MySQL数据库, 查阅临时密码: cat /var/log/mysqld.log | grep password
  7. 登录mysql, 修改密码, 开放访问权限
    // 登录mysql(使用临时密码)
    mysql -uroot -p 
    
    // 修改密码
    // 设置密码长度最低位数
    set global validate_password_length=4;
    // 设置密码安全等级低, 便于密码修改为root
    set global validate_password_policy=LOW;
    // 设置密码为root
    set password = password('root');
    
    // 开启访问权限
    // 使所有用户可以连接
    grant all on *.* to 'root'@'%' identified by 'root';
    // 刷新生效
    flush privileges;
    

安装lrzsz

  1. 搜索lrzsz安装包: yum list lrzsz
  2. 安装: yum install lrzsz.x86_64

注意事项:
Yum (全称为Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

项目部署

手工部署

  1. 在IDEA中开发SpringBoot项目并打成jar包.
  2. 将jar包上传到Linux服务器: mkdir /usr/local/app
  3. 启动SpringBoot项目: java -jar HelloWorld-0.0.1-SNAPSHOT.jar
  4. 检查防火墙, 确保8080端口对外开放
  5. 改为后台运行SpringBoot程序, 并将日志输出到日志文件
    // nohup(no hang up): 不挂断地运行指定命令, 退出终端不会影响程序地运行
    // &: 让命令在后台运行
    nohup java -jar HelloWorld-0.0.1-SNAPSHOT.jar &> hello.log &
    
  6. 停止SpringBoot程序: kill -9 进程id

Shell脚本部署

  • 操作步骤:
    1. 在Linux中安装Git
    2. 在Linux中安装maven
      1. 解压安装
      2. 配置环境变量
        vim /etc/profile 
        // 加入如下内容
        export MAVEN_HOME=/usr/local/apache-maven-3.5.4
        export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH
        
      3. 重新加载配置, 检查安装
      4. 配置maven本地仓库
        vim /usr/local/apache-maven-3.5.4/conf/settings.xml
        <!--修改内容如下-->
        <localRepository>/usr/local/repo</localRepository>
        
    3. 编写Shell脚本(拉取代码, 编译, 打包, 启动)
    4. 为用户授予执行Shell脚本地权限
      1. chmod(change mode): 控制用户对文件的权限的命令
      2. Linux中的权限分为: 读®, 写(w), 执行(x)
      3. Linux的文件调用权限分为三级: 文件所有者(Owner), 用户组(Group), 其他用户(Other Users)
      4. 只有文件的所有者和超级用户可以修改文件或目录的权限
      5. 要执行shell脚本需要有对此脚本文件的执行权限, 如果没有不能执行
      6. chmod 777 bootStart.sh
    5. 执行Shell脚本

设置静态ip

  1. 开启网络
    vim /etc/sysconfig/network-scripts/ifcfg-ens33
    
    // 修改为
    onboot=yes
    
    // 重启网络
    systemctl restart network
    
  2. 修改配置文件(CentOS7)
    vim /etc/sysconfig/network-scripts/ifcfg-ens33
    
    # 加入如下内容
    BOOTPROTO="static" # 使用静态ip地址, 默认为dhcp
    IPADDR="192.168.174.133" # 设置的静态ip地址
    NETMASK="255.255.255.0" # 子网掩码
    GATEWAY="192.168.174.2" # 网关地址
    DNS1="192.168.174.2" # DNS服务器
    
  3. 重启网络服务: systemctl restart network

来源

黑马程序员. 瑞吉外卖项目

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Y_cen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值