Linux基本使用和程序部署

1. Linux背景知识

Linux是一个操作系统,和Windows是"并列"的关系

Linux严格意义来说只是一个"操作系统内核"

一个完整的操作系统=操作系统内核+配套的应用程序

Linux的有优势

  1. 开源
  2. 稳定
  3. 安全
  4. 自由
  5. 社区支持

使用云服务器和终端软件(Xshell)

2. Linux常用命令

ls

语法:ls选项目录或文件

功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息

常用选项:

pwd

语法:pwd

功能:显示用户当前所在的目录

cd

Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件

语法:cd 目录名

功能:改变工作目录,将当前工作目录改变到指定的目录下

复制代码
# 返回上级⽬录
cd .. 
# 进⼊⽤⼾家⽬录
cd ~
# 返回最近访问⽬录
cd -

认识Linux目录结构

Linux是一个树形目录结构

几个特殊的目录:

/ 称为根目录

. 称为当前目录

.. 称为当前目录的上级目录

使用tab键补全

我们敲的所有的Linux命令,都可以使用tab键来尝试补全,加快效率.

使用 ctrl+c 重新输入

如果命令或者目录敲错了,可以使用Ctrl+c 取消当前的命令

touch

语法: touch 选项...文件...

功能:touch命令参数可以更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件

cat

语法:cat 选项 文件

功能:查看目标文件的内容

常用选项:-n对输出的所有行编号

mkdir

语法:mkdir选项 dirname....

功能:在当前目录下创建一个名为"dirname"的目录

常用选项:

-p, --parents 可以是⼀个路径名称

。此时若路径中的某些⽬录尚不存在,加上此选项后,系统将自动 建立好那些尚不存在的⽬录,即⼀次可以建立多级⽬录

复制代码
# 递归建⽴多个⽬录
mkdir --p test/test1

rm

语法:rm -f-i-r-v dirName/dir

功能:删除文件或目录

常用选项:

  • -f 即使文件属性为只读,亦直接删除
  • -i 删除前逐一询问确认
  • -r 删除目录及其下所有文件

千万不要运行 rm -rf / ,尤其是在公司的⽣产服务器上

cp

语法:cp 选项 源文件或目录,目标文件或目录

功能:复制文件或目录

常用选项:

mv

语法:mv 选项 源文件或目录 目标文件或目录

功能:

常用选项:

tail

语法:tail 必要参数 选择参数 文件

功能:⽤于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常⽤查看⽇志文件

选项:

  • -f 循环读取

  • -n <行数> 显示行数

    tail -10 test1.txt

vim

vim是一个知名的文本编辑器,使用vim可以进行文本编辑

vim相当于Windows的记事本,只不过功能比记事本更强大一些

  1. 打开文件/创建文件

    vim [⽂件名]

  2. 进入插入模式

vim打开文件默认是普通模式,普通模式下键盘的按键表示一些特殊功能的快捷键,需要进入插入模式才能进行文本编辑

使用 i 键就可以进入到插入模式(左下角提示--INSERT--)

  1. 保存

在插入模式下不能保存文件,需要先回到普通模式,按下Esc回到普通模式

在普通模式下输入 :w ,再按回车即可保存文件

  1. 退出

在插⼊模式下不能退出,需要先回到普通模式

①文件未修改: 输入 :q ,再按下回车,即可退出

②文件修改并保存: 使⽤ :wq 同时执行保存和退出.

③文件修改,但不希望保存: 使用 :wq! 进行强制退出

grep

语法:grep 参数...文件...

功能:用于查找文件中释放包含特定字符串,并显示对应的行

选项:

ps

语法: ps 参数...

功能:用于查看当前系统上运行的进程

选项:

复制代码
ps aux   # 显⽰系统上所有的进程
ps aux | grep "进程名"
ps aux | grep "进程id"

netstat

语法: netstat 参数

功能:查看系统上的网络状态

选项:

复制代码
netstat -anp
netstat -anp | grep "进程名"
netstat -anp | grep "端⼝号"

管道

管道是⼀种古⽼的"进程间通信"方式 | 作为管道标记

在Linux指令中可以使⽤ 意思是将前⼀个指令标准输出的内容,作为第⼆个指令的标准输⼊内容.

复制代码
ps -ef|grep "java"
ps -ef|head -10
tail -f log.txt|grep "Exception"

3. 部署Web项目到Linux

3.1 什么是部署

工作中涉及到的"环境"

  • 开发环境:开发人员写代码用的及其
  • 测试环境:测试人员测试程序使用的机器
  • 生产环境:(线上环境):最终项目发布时所使用的机器,对稳定性要求很高

把程序安装到生产环境上,这个过程称为"部署",也叫"上线"

部署过程至关重要,属于程序开发中最重要的一环,基友可能导致严重的事故

为了防止部署出错,一般公司内部都有一些自动化部署工具,当前先使用手工部署方法来完成部署

3.2 环境配置

准备好对应的Mysql表格

实际⼯作中,开发环境,测试环境以及⽣产环境的配置都是不⼀样的 ⽐如mysql的⽤⼾名和密码 我们可以针对不同的环境,设置不同的配置

从Maven中读取环境配置的变量

复制代码
<profiles>
    <profile>
            <id>dev</id>
            <properties>
                 <profile.name>dev</profile.name>
            </properties>
    </profile>
    <profile>
            <id>prod</id>
            <activation>
                 <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                 <profile.name>prod</profile.name>
            </properties>
    </profile>
</profiles>

修改application.yml

复制代码
spring:
  profiles:
    active: @profile.name@

3.3 构建项目并打包

3.4 上传Jar包到服务器

  1. 上传jar包

    //上传文件
    sz filename

    //下载文件
    rz

    问题:如果执⾏上述命令之后,提⽰Command 'XX' not found,表⽰当前云服务器未安装lrzsz 命令,需要先进⾏安装
    安装lrzsz
    apt-get install lrzsz

  2. 运行程序

    java -jar blog-jar
    nohup java -jar blog-jar &

nohup:后台运行程序,用于在系统后台不挂断的运行命令,退出中断不会影响程序的运行

Linux 可以通过 > 把需要输出的内容写到指定⽂件中.这样的操作称为"重定向"

  1. 开放端口号

如果外网需要访问该服务,需要先服务器防火墙开放对应的端口号

3.5 杀掉进程

复制代码
ps -ef|grep java
复制代码
kill -9 PID
相关推荐
AI行业学习1 小时前
PuTTY 工具下载部署、基础配置及 SSH 远程服务器连接完整操作指南Windows 平台 【2026.6.1】
运维·windows·ssh
jiayong231 小时前
CI/CD深度解析01-核心概念与原理
运维·git·ci/cd
fred_kang1 小时前
如何找到 Linux 服务器上某个 URL 路径对应的实际部署位置
linux·运维·服务器
用户2367829801682 小时前
Linux iptables 深度解析:从规则匹配到 NAT 转发实战
linux
CairBin2 小时前
SideSail——Ubuntu 26.04(GNOME 50)侧边栏插件,支持设备信息剪贴板和米家设备简单控制
linux·ubuntu
Jempo M2 小时前
小品文:服务器并发模型深度解析:从原理到实践
服务器
howard20052 小时前
3.4 Linux目录操作
linux·目录操作
tedcloud1232 小时前
codegraph部署教程:构建代码库语义分析环境
服务器·人工智能·word·excel
Volunteer Technology3 小时前
Flink的DataStream分区操作
大数据·linux·flink