Linux 简述

文章目录

  • 1. 背景
  • 2. Linux 环境搭建
    • 2.1 环境搭建方式
    • 2.2 使用云服务器
    • 2.3 使用终端软件连接到 Linux
  • 3. Linux 常用命令
    • 3.1 ls
    • 3.2 cd
    • 3.3 pwd
    • 3.4 touch
    • 3.5 cat
    • 3.6 echo
    • 3.7 vim
    • 3.8 mkdir
    • 3.9 rm
    • 3.10 mv
    • 3.11 cp
    • 3.12 grep
    • 3.13 ps
    • 3.14 netstat
  • 4. 搭建 Java 部署环境
    • 4.1 jdk
    • 4.2 tomcat
    • 4.3 mysql
  • 5. 部署 Web 项目到 Linux
    • 5.1 数据库建表
    • 5.2 构建项目并打包
    • 5.3 拷贝到 Tomcat 中
    • 5.4 验证

1. 背景

Linux 是市场份额 相当大的操作系统

最开始诞生于 1991,前身是 Unix
贝尔实验室开发了 Unix 操作系统

Unix 火了之后,衍生出很多的分支
其中有一只为 “Minix”,由荷兰的Andrew S. Tanenbaum 教授开发
MINIX 含义为 “小型的UNIX”,源代码开放给大学教学和研究工作

1991 年, 还在读大学的 芬兰人 Linus Benedict Torvalds (1969年12月28日出生, 当时 22 岁) 基于Minix 的启发,开发出了 Linux 的第一个版本

经过这么多年的发展,Linux 已经成为 世界第一大操作系统

2. Linux 环境搭建

2.1 环境搭建方式

主要有四种:

  1. 直接安装在物理机上. 但是由于 Linux 桌面使用起来非常不友好. [不推荐].
  2. 使用虚拟机软件, 将 Linux 搭建在虚拟机上. 但是由于当前的虚拟机软件(如 VMWare 之类的)存在一些 bug , 会导致环境上出现各种莫名其妙的问题, 比较折腾. [非常不推荐]
  3. 使用 WSL (Windows Subsystem for Linux). 这个是 Windows 近几年开发的新功能, 在 Windows系统内集成了一个 Linux. 但是目前这个技术还不够成熟. [暂时不推荐].
  4. 使用云服务器, 可以直接在 腾讯云, 阿里云或华为云 等服务器厂商处直接购买一个云服务器. [墙裂推荐]

2.2 使用云服务器

以腾讯云为例:
打开云服务器
在这里插入图片描述

这个环节我们最重要的是得到三个信息:

  1. 服务器的外网 IP (114.132.49.148)
  2. 服务器的管理员账户 (为 root 或者 ubuntu)
  3. 管理员账户密码(在腾讯云网站上设置的)

2.3 使用终端软件连接到 Linux

这里我们使用的是 XShel

在这里插入图片描述
ubuntu:是用户名
VM-8-2-ubuntu:是主机名

3. Linux 常用命令

ctrl + l 可以清屏
在这里插入图片描述

3.1 ls

ls:list 列出当前目录下都有哪些内容(文件/目录)

直接输入 ls,是查看当前目录的情况

  • ls /
    加上 / 意思就是看看 / 这个目录下的情况
    (/ 称为“根目录”,就是 Windows 上的此电脑,Linux 是没有盘符的)
    在这里插入图片描述
    这些就是 / 目录下包含的内容
    这些都是系统自带的文件和目录

  • ls -l /
    后面是 小写 L 不要写成 大写的 i 或者数字1
    按照列表的方式显示(最常见的功能)
    在这里插入图片描述
    也可以简化成 ll /
    在这里插入图片描述

前面的第一列是文件的权限(当前用户,是否刻度可写可执行)
权限字符串的第一个字母,表示了文件的类型
-普通文件(显示成白色)
d 目录文件(文件夹)(显示成蓝色)
l 连接文件(快捷方式)(显示成浅蓝色)

第二列就是表示文件的拥有者是谁
此处的文件是 root 所拥有的

第三列是文件的大小

第四列是修改时间

3.2 cd

cd:change directory 修改(当前)目录
将当前工作目录改变到指定的目录下

  • cd /
    来到根目录,就相当于点击“此电脑”
    在这里插入图片描述
    第二行的 / 的位置显示的就是你当前所在的目录
    ~ 也称为“home 目录”“用户主目录”
    这个就是用户登录是,默认进入的目录
    在这里插入图片描述
    使用 cd 等命令,需要加上路径的时候,可以使用 tab 来补全路径
    (需要当前输入的内容,是唯一的选项)
    (有多个匹配的目录名字/文件名字,可以按两下 tab 就能列出所有可以补全的选项)

在这里插入图片描述
上述操作,就进入到了一个很深的目录中

3.3 pwd

使用 pwd 可以查看到当前所处的路径的绝对路径
在这里插入图片描述
在Linux 的命令中,但凡涉及到 目录 相关的操作,都是可以支持 绝对路径 和 相对路径的
Linux 上,绝对路径,是以 / 开头的
相对路径,以 . 或者 … 开头的(有的时候 . 可以省略)
在这里插入图片描述
在这里插入图片描述

3.4 touch

touch:创建一个新的文件
在这里插入图片描述

3.5 cat

cat:查看文件内容(把文件内容打印到控制台上)
在这里插入图片描述
由于目前没有内容,所以显示空

输入一个命令,没有任何提示
此时就是“成功”
如果失败,就会告诉你一些报错信息

3.6 echo

echo:打印内容到控制台上
在这里插入图片描述
此处这里的 > 就是“重定向”
在这里插入图片描述
但是重新写入之后,只会存在这一次写入的内容
在这里插入图片描述
使用 >> 就可以保存上一次的

但是这里的 echo + 重定向,只能写一些简单的字符串内容
如果你的需要写的内容很多,就不太方便了,也不方便修改

3.7 vim

vim:这个是 Linux 上自带的一个文本编辑器,使用 vim 就可以更灵活的对文件进行编辑了

虽然和 记事本 的定位差不多,实际上 vim 的使用要复杂很多


  1. 打开文件
    vim 文件名

在这里插入图片描述


  1. 编辑内容
    vim 包含很多快捷键, 快捷键的画风和其他的软件截然不同
    其他很多软件,快捷键都要搭配 ctrl alt 之类的组合键完成

vim 更期望输入单个按键, 就能起到快捷键的效果
vim 引入了“模式"概念

启动 vim 之后,默认处于 normal mode (普通模式),键盘按键,都是快捷键, 而不是输入文本
要想输入文本, 就需要进入 inset mode (插入模式)
进入插入模式的方法, 有很多,最简单的就是 i
在这里插入图片描述


  1. 保存退出

在 xshell 中,按 ctrl + s 是冻结屏幕的意思
有的时候,服务器打印的日志太快了,滚动太快看不清,就可以冻结屏幕
ctrl + q 就能接触冻结

先按 esc,回到普通模式
再按 : 进入命令模式
在这里插入图片描述
此时输入的内推,就是vim 的命令

w:保存
q:退出

3.8 mkdir

mkdir:make directory 创建目录

加 -p 可以创建多级目录
在这里插入图片描述

3.9 rm

rm:remove 删除文件/目录

在这里插入图片描述
有的系统上(centos)输入 rm 删除,会有一个提示,是否确认要删除,输入 y 就是删除,n 就是不删除
在这里插入图片描述
删除目录,不仅仅是删除目录本身,还要删除目录包含的其他目录和文件
需要使用 rm -r 来删除,-r 表示“递归”
在这里插入图片描述
在这里插入图片描述
有的系统上,删除的事后,也会和上面一样,提示你是否要真的删除
如果是删除目录的话,递归过程比较麻烦,每个目录都会提示你要进行确认
就可以使用 rm -rf 的方式直接删除
f 表示“强制删除”不需要进行确认

此处的 rm 其实是一个危险操作!!
一旦删除,数据就没了!!
删除的时候,一定要确保,你删的这个东西确实是不再使用了

  • rm -rf /
    删除此电脑,会把你整个硬盘的数据都给删除掉
    在这里插入图片描述
    在 Linux 中是可以定义变量的
    在这里插入图片描述
    删除 rm $workdir/*
    也是一个通配符
    意思就是要删除指定目录小所有内容
    预期是想删除 /tmp/

    但是一旦代码出现一些以外,导致 workdir 这个变量的定义语句没有被执行到
    没有定义的变量,通过 $ 变量名的方式访问
    不会报错,而是直接返回空字符串 “”
    这样 就等价成了 rm -rf /

3.10 mv

mv:move 移动(剪切,粘贴)
mv 要移动的源 移动的目标

在这里插入图片描述
在这里插入图片描述

也可以移动目录(把目录内部包含的所以内容都进行移动)
在这里插入图片描述
使用 mv 还可以针对文件/目录进行重命名

在这里插入图片描述
在本路径就是重命名的操作了
在这里插入图片描述

3.11 cp

cp:copy 复制(复制,粘贴)
cp 要复制的源 要复制的目标
在这里插入图片描述
也可以拷贝普通文件,也可以拷贝目录
拷贝目录的时候,和 rm 类似,都是要加上 -r 选项,表示要递归的拷贝目录里的内容
在这里插入图片描述
在这里插入图片描述

3.12 grep

grep:字符串匹配/查找

比如,想查找某个文件中是否包含某个关键字,这个关键字在第几行,都可以使用 grep 来查看
在这里插入图片描述
加上 -n 选项,就可以显示行号
在这里插入图片描述
grep 不仅仅可以在文件中查找还能搭配其他的命令,完成更复杂的查找操作

3.13 ps

ps:process show 显示进程
显示当前系统上都有哪些进程
在这里插入图片描述
这样只能看到当前会话(终端)对应的进程,非常不安全

很多时候 ps 都会搭配 grep 来使用
比如,查看 mysql 进程的进程 pid
在这里插入图片描述
在这里插入图片描述

| 叫做管道
(把前一个命令的输出,作为有一个命令的输入)

3.14 netstat

netstat:查看网络信息

可以用来查看某个某个端口是否被某个进程使用
也可以查询某个进程使用了哪个端口

主要关注 tcp udp 涉及到的网络信息
在这里插入图片描述

4. 搭建 Java 部署环境

基于 包管理器 进行安装
Linux 会把一些软件包,放到对应的服务器上通过包管理器这样的程序,来把这些软件包给下载安装
ubuntu 系统,包管理器 apt
centos 系统,包管理器 yum

4.1 jdk

这里需要确保是处于 root 用户下(如果不是管理员,需要使用 sudo su 切换到管理员)

  1. 使用 apt 命令查看服务器上有哪些安装包
    apt list | grep jdk
    在这里插入图片描述
  2. 使用 apt 安装软件包
    apt install 软件包名字

在 Linux 命令行中,复制 ctrl + insert,粘贴 shift + insert(Windows 也支持)
在这里插入图片描述

4.2 tomcat

在这里插入图片描述
由于我们使用的是 tomcat 8.5,搭配的是 servlet 3.1
只能手动安装了

由于 tomcat 就是 基于 java 来实现的,java 是跨平台的


  1. 只需要把之前 Windows 上的 tomcat 上传到 Linux 上即可

把要上传的压缩包,往 xshell 上一拖, 就过去了1) 一次只能拖一个文件(打成压缩包)
2)要想能拖上去需要先安装 lrzsz 这样的软件包
ubunt uapt install Irzsz
centos yum install Irzsz
sz 把linux 上的文件传到 Windows
rz 把 windows 上的文件传到 linux 上


  1. 对 zip 压缩包进行解压缩
    ubuntu apt install unzip
    centos yum install unzip

在这里插入图片描述
上面的 .bat 是 Windows 上使用的
下面的 .sh 是 Linux 上使用的


  1. 修改 .sh 文件的可执行权限,让这些 .sh 都可执行

先 cd 到 bin 目录中
chmod +x *.sh
x 表示可执行
*.sh 表示给所有的 .sh 文件都进行修改

执行完这个操作,顺利完成没报错 说明就成功了
此时这些 .sh 文件都 变绿了

在这里插入图片描述


  1. 启动 tomcat

还是 cd 到 bin 目录小
sh startup.sh
在这里插入图片描述


  1. 验证启动是否成功

使用ps查看java进程有没有
使用 netstat 查看 8080 是香被绑定
访问 tomcat 的欢页面
在这里插入图片描述

4.3 mysql

直接通过 apt 来安装 / yum 安装
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
这样就成功了
使用 ctrl + d 可以退出控制台

5. 部署 Web 项目到 Linux

5.1 数据库建表

把数据库/数据表都在云服务器上创建好

当把程序放到云服务器上执行,程序访问的就是云服务器上的数据库了
需要确保数据库里面有数据(有表,有库)

把之前代码中的 db.sql 中的内容 复制到 云服务器中的 mysql 客户端中
在这里插入图片描述

5.2 构建项目并打包

打包之前,还需要确认一下 mysql 相关的配置是否需要修改
在这里插入图片描述
把密码置空就可以了
在这里插入图片描述
在这里插入图片描述

5.3 拷贝到 Tomcat 中

将 war 包拷贝到 Tomcat 的 webapps 目录中在这里插入图片描述

在这里插入图片描述
tomcat 对自动针对 war 包进行解压缩
解压缩成功,基本上就是部署成功了

5.4 验证

在浏览器上访问项目的链接
在这里插入图片描述

如果出现错误,在 tomcat 中查找
在这里插入图片描述
etc 目录大部分就是放各种程序的配置文件的
在这里插入图片描述
设置一下密码就可以了
ALTER user ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘’;
在这里插入图片描述

这样就可以访问了!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/338272.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Transformer架构的局限已凸显,被取代还有多久?

江山代有才人出,各领风骚数百年。这句话无论是放在古往今来的人类身上,还是放在当今人工智能领域的大模型之上,都是最贴切不过的。无论是一个时代的伟人,还是统治一个领域的技术,最终都会有新的挑战者将其替代。Transf…

idea2023连接gitee远程仓库

目录 1.在gitee创建远程仓库 2.在Idea里配置git 3.初始化本地仓库 4.连接gitee远程仓库 5. 提交推送至远程仓库 注意:提前下好git工具、idea2023,注册gitee账号,本文不介绍 1.在gitee创建远程仓库 创建好后,复制远程仓库地址 2.…

Spark SQL基础

一.Pandas简介 1、基本介绍 Pandas是Python的一个第三方包,也是商业和工程领域最流行的结构化数据工具集,用于数据清洗、处理以及分析 Pandas和Spark SQL中很多功能都类似,甚至使用方法都是相同的 Pandas适用场景 Pandas用于处理单机数据 …

blob分析找出感兴趣区域,求其轮廓再用差分找缺陷

*关闭程序计数器,图形变量,窗口图形更新 dev_update_off() * Image Acquisition 01: Code generated by Image Acquisition 01 ImageFiles : [] ImageFiles[0] : 1.bmp ImageFiles[1] : 2.bmp for Index : 0 to |ImageFiles| - 1 by 1*读取一张图像read_image (Image, ImageFil…

mac录屏软件有哪些?分享5个实用软件

mac录屏软件有哪些?随着Mac电脑在创意和专业领域的使用日益普及,越来越多的用户需要录制屏幕内容以进行分享、演示或后期编辑。本文将为您介绍几款知名的Mac录屏软件,让您轻松实现屏幕录制的需求。 1.迅捷屏幕录像工具 这是一款功能强大的屏…

【Xilinx FPGA】异步 FIFO 的复位

FIFO(First-In-First-Out,先入先出)是一种的存储器类型,在 FPGA 开发中通常用于数据缓存、位宽转换或者跨时钟域(多 bit 数据流)。在使用异步 FIFO 时,应注意复位信号是否遵循相关要求和规范&am…

【设计模式-02】Strategy策略模式及应用场景

一、参考资料 Java 官方文档 Overview (Java SE 18 & JDK 18)module indexhttps://docs.oracle.com/en/java/javase/18/docs/api/index.html Java中使用到的策略模式 Comparator、comparable Comparator (Java SE 18 & JDK 18)declaration: module: java.base, pa…

水和冰一起进微波炉会怎样?不会还有人不知道吧

水和冰一起放到微波炉里加热 3 分钟,水已经冒烟的情况下,冰块会化掉吗? 事实上并不会。 不信,看一下这个视频—— 这个博主把一杯水和一杯冰放到微波炉里同时加热3分钟,结果水已经开始汽化了,冰还是冰。 这…

React入门 - 06(TodoList 列表数据的新增和删除)

本章内容 目录 一、实践一下 React 的列表渲染二、TodoList 新增功能三、列表循环的 key四、删除 上一节内容我们完成了输入框中可以自由输入内容,这一节我们继续 TodoList功能的完善:列表数据的新增和删除。 在开始之前,我们先介绍一下 Re…

LeetCode 145. 二叉树的后序遍历

145. 二叉树的后序遍历 给你一棵二叉树的根节点 root ,返回其节点值的 后序遍历 。 示例 1: 输入:root [1,null,2,3] 输出:[3,2,1]示例 2: 输入:root [] 输出:[]示例 3: 输入&…

YOLOv8-Seg改进:轻量化改进 | MobileNetV3,轻量级骨架首选

🚀🚀🚀本文改进:MobileNetV3的创新点包括:使用自适应瓶颈宽度、借鉴SENet中的Squeeze-and-Excitation机制、引入h-swish激活函数等。 🚀🚀🚀YOLOv8-seg创新专栏:http://t.csdnimg.cn/KLSdv 学姐带你学习YOLOv8,从入门到创新,轻轻松松搞定科研; 1)手把手教…

Jmeter+ant+jenkins持续集成

一、环境准备 1、 jdk环境 要求JDK1.8以上,命令行输入:java -version,出现如下提示说明安装成功。 2、 Jmeter环境 下载Jmeter最新版本,解压即可,添加bin目录到环境变量。 3、 Ant环境 设置ant环境变量&#xff0…