🍎一.Linux搭建环境
🍒1.1什么是Linux
🍉1.1.1Linux介绍
Linux 是一个操作系统. 和 Windows 是 “并列” 的关系.
Linux 严格意义来说只是一个 “操作系统内核”.
一个完整的操作系统 = 操作系统内核 + 配套的应用程序.由于 Linux 是一个完全开源免费的内核, 因此有些公司/开源组织又基于 Linux 内核, 提供了不同的配套程序. 这就构成了不同的 "发行版
🍉1.1.2CentOS 和 RedHat 的关系
●RedHat一直都提供源代码的发行方式,CentOS就是将RedHat发行的源代码去掉 RedHat 的 logo商标, 重新编译一次.
●RedHat对这种发行版的态度是:“我们其实并不反对这种发行版,真正向我们付费的用户,他们重视的并不是系统本身,而是我们所提供的商业服务。”所以,CentOS可以得到RedHat的所有功能,甚至是更好的软件。但CentOS并不向用户提供商业支持,当然也不负上任何商业责任
🍉1.1.3在Java中应用到Linux的方面
(1) 基础命令
Linux 虽然也有图形化界面, 但是在 服务器 / 嵌入式设备上往往都是通过命令行的方式操作的. 因此学习Linux 命令就是使用 Linux 的重要基础.
使用命令相比于使用图形界面主要有以下好处:
●节省系统资源: 运行图形界面需要让系统付出一些额外的资源开销. 尤其是对于配置比较低的嵌入式设备, 这一点至关重要.
●节省网络带宽: 如果通过网络访问服务器, 使用图形界面需要传输一帧一帧的图像, 而使用命令只需要传输简单的字符串.
●便于批量执行任务: 可以通过一些 “脚本” 代码 (比如 Linux Shell) 来批量执行一些任务, 完成一些简单的编程工作. (比如定时备份文件, 删除文件等).
*Windows 也有命令(也就是 cmd), 只是对于普通用户来说很少使用
(2) 系统编程 & 网络编程
Linux 自身提供了一些 API, 供程序猿调用来完成一些更复杂的编程任务(比如文件操作, 多线程编程,socket 编程等).但是由于 Java 跨平台的特性, 这部分功能已经被 Java 自身封装好了 (流对象, Thread 对象, Socket 对象等). 所以这部分内容我们不必再学习了.
(3) 部署 JavaWeb 项目
我们自己写的 web 程序, 要想让其他的用户能够访问, 就需要发布到服务器上. 这是我们接下里重点学习的内容.
小结: 对于 Java 程序猿, 关于 Linux 重点学习 基础命令 和 项目部署 即可.
🍒1.2XShell的安装与使用
🍉1.2.1XShell的安装
下载地址: 下载地址
点击下载
然后就在你填写的邮箱里收到下载连接,我们点击连接进入,就可以下载了,下载好后,就跟随安装指引正常安装就可以了
🍉1.2.2XShell的使用
双击打开XShell后,点击左上角文件,点击新建
🍎二.Linux基本指令
🍒2.1Linux常见基本指令
●ls
语法: ls [选项] [目录或文件]
功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息
常用选项:
-a 列出目录下的所有文件,包括以 . 开头的隐含文件。 -d 将目录象文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录 -k 以 k 字节的形式表示文件的大小。ls –alk 指定文件 -l 列出文件的详细信息。 -r 对目录反向排序。 -t 以时间排序。 -R 列出所有子目录下的文件。(递归方法)
举例:
●pwd
语法: pwd
功能:显示用户当前所在的目录
举例:
●cd
Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件。
语法: cd 目录名
功能: 改变工作目录。将当前工作目录改变到指定的目录下.
cd .. : 返回上级目录 cd ~:进入用户家目 cd -:返回最近访问目录
几个特殊的目录: / 称为根目录 . 称为当前目录 .. 称为当前目录的上级目录
举例:
绝对路径 vs 相对路径
形如: /usr/share/tomcat/logs/ 以根目录开头的, 称为绝对路径. 形如: ./logs 以 . 或者 .. 开头的, 称为相对路径. 使用 tab 键补全,我们敲的所有的 Linux 命令, 都可以使用 tab 键来尝试补全, 加快效率. 使用 ctrl + c 重新输入,如果命令或者目录敲错了, 可以 ctrl + c 取消当前的命令.
●touch
语法: touch [选项]… 文件…
功能: touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件
举例:
●echo
打印内容到控制台,也可以写内容
●cat
语法:cat [选项] [文件]
功能: 查看目标文件的内容
举例:
●mkdir
语法:mkdir [选项] dirname…
功能:在当前目录下创建一个名为 “dirname”的目录
常用选项:
-p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多级目录
举例:
●rm
语法:rm [-f-i-r-v] [dirName/dir]
功能:删除文件或目录
常用选项:
-f 即使文件属性为只读(即写保护),亦直接删除
-i 删除前逐一询问确认
-r 删除目录及其下所有文件
举例:
●tree
查看当前目录结构
如果有人子啊查询时发现错误那就是没有导入包
我们可以在XShell "应用商店"中下载输入 yum install tree
●cp
语法:cp [选项] 源文件或目录 目标文件或目录
功能: 复制文件或目录
说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息
常用选项:
-f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在 -i 或 --interactive 覆盖文件之前先询问用户 -r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录 或符号链接,则一律视为普通文件处理 -R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理
举例:
●mv
语法: mv [选项] 源文件或目录 目标文件或目录
功能:
视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移
至一个新的目录中。
当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目
录名),它将所给的源文件或目录重命名为给定的目标文件名。
当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源
文件均移至目标目录中。
常用选项
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖 -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
举例