# 1 Linux文件管理
## 1.1 touch命令
在Windows系统中,我们如果想创建一个文本文档或者word文件的时候,通常的做法是
鼠标右键---新建---文本文档,这样的话,我们就成功的创建了一个文件,而在Linux中,我们可以通过字符命令的形式进行创建
touch命令用于创建文件、修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。
ls -l 可以显示档案的时间记录
**使用者权限:所有权限用户**
**语法**
touch [-acfm][-d<日期时间>][-r<参考文件或目录>] [-t<日期时间>][--help][--version][文件或目录…]
* **参数说明**:
* a 改变档案的读取时间记录。
* m 改变档案的修改时间记录。
* c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。
* f 不使用,是为了与其他 unix 系统的相容性而保留。
* r 使用参考档的时间记录,与 --file 的效果一样。
* d 设定时间与日期,可以使用各种不同的格式。
* t 设定档案的时间记录,格式与 date 指令相同。
* --no-create 不会建立新档案。
* --help 列出指令格式。
* --version 列出版本讯息。
**使用 touch 创建一个空文件**
在 Linux 系统上使用 `touch` 命令创建空文件,键入 `touch`,然后输入文件名。如下所示
touch a.txt
查看
ls -l a.txt
**使用 touch 创建批量空文件**
在实际的开发过程中可能会出现一些情况,我们必须为某些测试创建大量空文件,这可以使用 `touch` 命令轻松实现
touch a-{1..10}.txt
在上面的例子中,我们创建了 10 个名为a-1.txt` 到 `a-10.txt` 的空文件,你可以根据需要更改名称和数字
执行查看命令
ls -l
我们\可以使用stat命令进行查看文件详情,如下:
stat a.txt
**关于stat命令:**
**stat命令用于显示inode内容。**
stat以文字的格式来显示inode的内容。
**语法**
stat [文件或目录]
**文件上传和下载**
1 先安装 yum -y install lrzsz
2 要上传的文件直接拖入即可
3 下载文件 sz 文件类名
## 1.2 vi与vim命令
### 1.2.1 vi/vim介绍
使用vi/vim其实就相当于我们在Windows系统中创建文件、打开文件、编辑文件、保存文件操作.
切记:日志文件不要这样打开,太大的文件容易到日服务器卡顿。
**1、vi介绍**
vi是 `visual interface`的简称, 是linux中**最经典**的文本编辑器。
* vi的特点
* 只能是编辑 **文本内容**, 不能对 字体 段落进行排版
* **不支持鼠标操作**
* **没有菜单**
* **只有命令**
* vi编辑器在 **系统管理 服务器管理** 编辑文件时, **其功能永远不是图形界面的编辑器能比拟的**
**2、vim介绍**
**vim**:是从 vi (系统内置命令)发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。
vim 则可以说是程序开发者的一项很好用的工具。
### 1.2.2 vi/vim模式
vi/vim模式主要分为以下三种:
**命令模式**:在Linux终端中输入“vim 文件名”就进入了命令模式,但不能输入文字。**编辑模式:**在命令模式下按i就会进入编辑模式,此时就可以写入程式,按Esc可回到命令模式。**末行模式:**在命令模式下按:进入末行模式,左下角会有一个冒号出现,此时可以敲入命令并执行。
三种模式简单总结下就是:
>
> 1、vim 开始进入时是命令模式
>
> 2、按下I的时候会进入编辑模式
>
> 3、按下ESC然后在按下:的时候是末行模式
### 1.2.3 打开和新建文件
使用vim不但可以打开一个现存的文件;也可以生成(vim后的文件不存在的情况下)一个文件;有点类似于我们在Windows中输入notepad命令一样,我们输入notepad后就会打开一个文本文档,然后进行编辑--另存为。
**使用者权限:当前文件的权限用户**
* 在终端中输入vim在后面跟上 文件名 即可
vim txtfile.txt
* 如果文件已经存在, 会直接打开该文件
* 如果文件不存在, 保存且退出时 就会新建一个文件
> 注意
>
> 我们通过下面的三种模式切换详细阐述vim的用法
### 1.2.4 三种模式切换
**1、进入命令模式**
上接上面的例子,我们执行下面的命令其实就是进入了命令模式
vim txtfile.txt
**2、进入编辑模式**
上接上面的例子,按i进入插入模式
* 在 vi 中除了常用 `i` 进入**编辑模式** 外, 还提供了一下命令同样可以进入编辑模式
| 命令 | 英文 | 功能 | 常用 |
| --- | --- | --- | --- |
| i | insert | 在当前字符前插入文本 | 常用 |
| I | insert | 在行首插入文本 | 较常用 |
| a | append | 在当前字符后添加文本 | |
| A | append | 在行末添加文本 | 较常用 |
| o | | 在当前行后面插入一空行 | 常用 |
| O | | 在当前行前面插入一空行 | 常用 |
由输入后我们看到【插入】(英文版为INSERT),说明我们进入了编辑模式
我们在里面插入数据,如下图
因为我们是一个空文件,所以使用【I】或者【i】都可以
如果里面的文本很多,要使用【A】进入编辑模式,即在行末添加文本
**3、进入末行模式**
编辑模式不能保存文件必须先推到命令模式先按Esc键退出到命令模式然后按小写的**:wq 正常保存退出**
进入末行模式—》按符号: 鼠标跑到屏幕的最后一行,执行效果如下图
然后按小写的**:wq 正常保存退出**
退出后显示【已写入】
**以下为其他的退出模式:**
:q 当vim进入文件没有对文件内容做任何操作可以按"q"退出
:q! 当vim进入文件对文件内容有操作但不想保存退出
:wq 正常保存退出
:wq! 强行保存退出,只针对与root用户或文件所有人
> 总结
>
> 三种模式的切换,其实就完成了文件创建、编辑、保存、退出四个步骤
>
> 那么接下来,我们学习下一个命令
>
> 查看刚才新创建的文件
### 1.2.5 文件查看
比如查看一个txt文档,在windows中,我们通常是打开一个文件,通过鼠标滚动查看文件不同节选的内容,而在Linux中,通过下面的命令,可以减少在Windows中手工查找的步骤,在Linux中通过命令+参数的形式进行定位查看、搜索查看
需要安装工具 命令是:yum -y install lrzsz
以下5个为文件查看命令,**我们只讲4个常用的命令,head不在赘述**
| 序号 | 命令 | 对应英文 | 作用 |
| --- | --- | --- | --- |
| 01 | cat 文件名 | concatenate | 查看小文件内容 |
| 02 | less -N 文件名 | less | **分频** 显示大文件内容 |
| 03 | head -n 文件名 | | 查看文件的**前一**部分 |
| 04 | tail -n 文件名 | | 查看文件的**最后**部分 |
| 05 | grep 关键字 文件名 | grep | 根据**关键词**, 搜索文本文件内容 |
> 总结:
>
> 以上5个命令都可以查询文件的内容,他们的功能如下
>
> 通过 `cat` 会一次显示所有的内容, 适合 **查看内容较少** 的文本文件
>
> `less` 命令适合查看 **内容较多** 的文本文件
>
> 通过 `head` 命令查看文档的前几行内容
>
> 通过 `tail -10f 文件` 命令 查看文档(日志)的后几行内容
>
> 通过 `grep` 命令 搜索存在 **关键字** 的行
#### **1) cat命令**
使用cat命令类似于我们在Windows中查看小型(太大的时候打开会卡死)的文件,cat常用的功能其实就等价于Windows中的
txt---打开--查看
cat 是一个文本文件查看和连接工具。查看一个文件的内容,用cat比较简单,就是cat 后面直接接文件名,如cat txtFiles.txt
**使用者权限:当前文件的权限用户**
**语法格式**
cat [-AbeEnstTuv] [--help] [--version] fileName
**查看文件名为txtfile.txt的内容**
cat txtfile.txt
**查看文件名为txtfile.txt的内容(加入行号)**
cat -n txtfile.txt
#### 2) grep命令
grep命令在使用的时候类似于我们的程序中的查询,或者在txt文档中通过ctr+f查找
grep除了能对文件操作为还可以查看我们的进程信息,类似于我们在Windows系统的任务管理器(任务栏--右键---启动任务管理器--进程)下的进程
grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为 -,则 grep 指令会从标准输入设备读取数据。
grep 命令用于查找文件里符合条件的字符串,语法如下:
grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...]
**使用者权限:当前文件的权限用户**
-a :将 binary 文件以 text 文件的方式搜寻数据
-c :计算找到 '搜寻字符串' 的次数
-i :忽略大小写的不同,所以大小写视为相同
-n :顺便输出行号
-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行!
1、搜索 **存在关键字【eeee】** 的行的文件
grep eeee txtfile.txt
2、搜索 **存在关键字【eeee】** 的行 且 **显示行号**
grep -n eeee txtfile.txt
3、**忽略大小写** 搜索 **存在关键字** 的行
grep -i EEEE txtfile.txt
4、搜索 **不存在关键字** 的行
grep -v 中国 txtfile.txt
**5、查找指定的进程信息(包含grep进程)**
ps -ef | grep sshd
> 说明
>
> 除最后一条记录外,其他的都是查找出的进程;最后一条记录结果是grep进程本身,并非真正要找的进程
**6、查找指定的进程信息(不包含grep进程)**
ps aux | grep sshd | grep -v "grep"
ps -ef|grep -c sshd
#### 3) tail命令
tail命令类似于我们在windows中通过鼠标手工查找,比如查看文件最后10行,从第2行一直查看到文件末尾,或者只查看文件末尾的一些信息,这些windows中都是通过人为干预的方式进行查找,在Linux中我们可以通过tail命令实现
tail 命令可用于查看文件的内容,有一个常用的参数 **-f** 常用于查阅正在改变的日志文件。
**tail -f filename** 会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容。
**使用者权限:当前文件的权限用户**
**命令格式:**
tail [参数] [文件]
**1、要显示 txtfile.txt 文件的最后 3 行,请输入以下命令:**
tail -3 txtfile.txt
**2、动态显示文档的最后内容,一般用来查看日志,请输入以下命令:**
tail -f txtfile.txt
**3、显示文件txtfile.txt 的内容,从第 2 行至文件末尾**
tail -n +2 txtfile.txt
> 总结
>
> 在tail使用的过程中,我们使用最多的就是查看文件末尾多多少行
>
> 使用tail -nf txtfile.txt
>
> 通常都是在查看日志信息(报错调试时使用)
#### 4)less命令
less命令也是查看文件的,只不过它适合查看 内容较多的文本文件,它也可以用于分屏显示文件内容, 每次只显示一页内容,有点类似我们做分页查询
less用于查看文件,但是less 在查看之前不会加载整个文件。
**使用者权限:当前文件的权限用户**
**语法**
less [参数] 文件 ;
1、查看txtfile.txt文件
less txtfile.txt
2、查看命令历史使用记录并通过less分页显示
[itcast@localhost ~]$ history | less
1 ifconfig
2 reboot
3 ifconfig
4 reboot
5 ifconfig
6 su root
7 ifconfig
8 ping www.baidu.com
9 \
10 ifconfig
11 date
12 hwclock --systohc
13 su root
......略
我们输入【j】可以前进行
输入【k】可以后退行
输入【G】可以 移动到最后一行
输入【g】可以移动到第一行
输入【ctrl + F】 向前移动一屏(类似于我们在浏览器中的数据分页的下一页)
输入【ctrl + B】 向后移动一屏(类似于我们在浏览器中的数据分页的上一页)
**其他命令**
1.全屏导航
* ctrl + F - 向前移动一屏
* ctrl + B - 向后移动一屏
* ctrl + D - 向前移动半屏
* ctrl + U - 向后移动半屏
2.单行导航
* j - 向前移动一行
* k - 向后移动一行
3.其它导航
* G - 移动到最后一行
* g - 移动到第一行
* q / ZZ - 退出 less 命令
### 1.2.6 vim定位行
在日常工作中,有可能会遇到打开一个文件,并定位到指定行的情况
例如: 在开发时, 知道某一行代码有错误,可以快速定位到出错误代码的位置
这个时候,可以使用以下命令打开文件
由于我们这里还没有学到上传文件的命令,所以我们这里还是使用上面的txtfile.txt例子,我们打开文件定位到第6行,如下:
vim txtfile.txt +6
### **1.2.7 异常处理**
* 如果 vim异常退出, 在磁盘上可能会保存有 交换文件
* 下次再使用 vim 编辑文件时, 会看到以下屏幕信息,
解决方案:
将后缀名为.swp的文件删除即可恢复
再次编辑文件不在出现提示警告!
### 1.2.8 操作扩展
要熟练使用vi/vim, 首先应该学会怎么在 命令模式下 快速移动光标编辑操作命令 能够和移动命令一起使用
**1) 上 下 左 右**
| 命令 | 功能 | 手指 |
| --- | --- | --- |
| h | 向左 | 食指 |
| j | 向下 | 食指 |
| k | 向上 | 中指 |
| l | 向右 | 无名指 |
也可以使用键盘上的上下左右箭头,这个更有方向感。
**2) 行内移动**
| 命令 | 英文 | 功能 |
| --- | --- | --- |
| w | word | 向后移动一个单词 |
| b | back | 向前移动一个单词 |
| 0 | | 行首 |
| ^ | | 行首, 第一个不是空白字符的位置 |
| $ | | 行尾 |
**3) 行数移动**
| 命令 | 英文 | 功能 |
| --- | --- | --- |
| gg | go | 文件顶部 |
| G | go | 文件末尾 |
| 数字gg | go | 移动到 数字 对应行数 |
| 数字G | go | 移动到 数字 对应行数 |
| : 数字 | | 移动到数字对应的 行数 |
**4) 屏幕移动**
| 命令 | 英文 | 功能 |
| --- | --- | --- |
| Ctrl + b | back | 向上翻页 |
| Ctrl + f | forward | 向下翻页 |
| H | Head | 屏幕顶部 |
| M | Middle | 屏幕中间 |
| L | Low | 屏幕底部 |
**5) 选中文本(可视模式)**
* 学习 复制 命令前, 应该先学会 **怎么样选中 要复制的代码**
* 在 vi/vim 中要选择文本, 需要显示 visual 命令切换到 **可视模式**
* vi/vim 中提供了 **三种** 可视模式, 可以方便程序员的选择 **选中文本的方式**
* 按 ESC 可以放弃选中, 返回到 **命令模式**
| 命令 | 模式 | 功能 |
| --- | --- | --- |
| v | 可视模式 | 从光标位置开始按照正常模式选择文本 |
| V | 可视化模式 | 选中光标经过的完整行 |
| Ctrl + v | 可是块模式 | 垂直方向选中文本 |
**6) 撤销和恢复撤销(保命指令)**
在学习编辑命令之前,先要知道怎样撤销之前一次 错误的 编辑操作
| 命令 | 英文 | 功能 |
| --- | --- | --- |
| u | undo | 撤销上次的命令(ctrl + z) |
| Ctrl + r | uredo | 恢复撤销的命令 |
**7) 删除文本**
| 命令 | 英文 | 功能 |
| --- | --- | --- |
| x | cut | 删除光标所在的字符,或者选中的文字 |
| d(移动命令) | delete | 删除移动命令对应的内容 |
| dd | delete | 删除光标所在行, 可以删除多行 |
| D | delete | 删除至行尾 |
提示: 如果使用 可视模式 已经选中了一段文本, 那么无论使用 d 还是 x, 都可以删除选中文本
删除命令可以和移动命令连用, 以下是常见的组合命令(扩展):
| 命令 | 作用 |
| --- | --- |
| dw | 从光标位置删除到单词末尾 |
| d} | 从光标位置删除到段落末尾 |
| ndd | 从光标位置向下连续删除 n 行 |
**8) 复制和剪切**
* vi/vim 中提供有一个 被复制文本的缓冲区
* 复制 命令会将选中的文字保存在缓冲区
* 删除 命令删除的文字会被保存在缓冲区
* 在需要的位置, 使用 粘贴 命令可以将缓冲对的文字插入到光标所在的位置
| 命令 | 英文 | 功能 |
| --- | --- | --- |
| yy | copy | 复制行 |
| d(剪切命令) | delete | 剪切 |
| dd(剪切) | delete | 剪切一行, 可以 ndd 剪切n行 |
| p | paste | 粘贴 |
提示:
* 命令 d 、x 类似于图形界面的 **剪切操作** -- ctrl + x
* 命令 y 类似于 图形界面的 **复制操作** -- Ctrl +
* 命令 p 类似于图形界面的 **粘贴操作** -- Ctrl + v
* vi中的文本缓冲区只有一个,如果后续做过 复制、剪切操作, 之前缓冲区中的内容会被替换.
注意
* vi中的 **文本缓冲区** 和 系统的 **剪切板** 不是同一个
* 所以在其他软件中使用 `Ctrl + C` 复制的内容, 不能再 `vi` 中通过 `p` 命令粘贴
* 可以在 **编辑模式** 下使用 **鼠标右键粘贴**
**9) 替换**
| 命令 | 英文 | 功能 | 工作模式 |
| --- | --- | --- | --- |
| r | replace | 替换当前字符 | 命令模式 |
| R | replace | 替换当前行光标后的字符 | 替换模式 |
* `R` 命令可以进入 **替换模式**, 替换完成后, 按下`ESC` , 按下 `ESC` 可以回到 **命令模式**
* **替换命令** 的作用就是不用进入 **编辑模式**, 对文件进行 **轻量级的修改**
**10) 缩排和重复执行**
| 命令 | 功能 |
| --- | --- |
| >> | 向右增加缩进 |
| << | 向左减少缩进 |
| . | 重复上次命令 |
* **缩进命令** 在开发程序时, **统一增加代码的缩进** 比较有用!
* 一次性 **在选中代码前增加 4 个空格,** 就叫做 **增加缩进**
* 一次性 **在选中代码前删除 4 个空格**, 就叫做 **较少缩进**
* 在 **可视模式** 下, 缩排命令 主需要使用 一个 `>` 或者 `<`
在程序中, **缩进** 通常用来表示代码的归属关系
* **前面空格越少, 代码的级别越高**
* **前面空格越多, 代码的级别越低**
**11) 查找**
常规查找
| 命令 | 功能 |
| --- | --- |
| /str | 查找str |
* 查找到指定内容之后, 使用 `Next` 查找下一个出现的位置
* `n` : 查找下一个
* `N` : 查找上一个
* 如果不想看到高亮显示, 可以随便查找一个文件中不存在的内容即可
* 单词快速匹配
| 命令 | 功能 |
| --- | --- |
| * | 向后查找当前光标所在单词 |
| # | 向前查找当前光标所在单词 |
* 在开发中, 通过单词快速匹配, 可以快速看到这个单词在其他位置使用过
**12) 查找并替换**
* 在 `vi/vim` 中查找和替换命令需要在 **末行模式** 下执行
* 记忆命令格式
:%s///g
1. 全局替换
* 一次向 替换文件中的 所有出现的旧文本
* 命令格式如下
:%s/旧文本/新文本/g
2. 可视区域替换
* **先选中** 要替换文字的 **范围**
* 命令格式如下
:s/旧文本/新文本/g
3. 确认替换:
c confirm 确认
* 如果把末尾的 `g` 改成 `gc` 在替换的时候, 会有提示! 推荐使用
* 命令格式如下
:%s/旧文本/新文本/gc
1. `y` - `yes` 替换
2. `n` - `no` 不替换
3. `a` - `all` 替换所有
4. `q` -`quit` 退出替换
5. `l` - `last` 最后一个, 并把光标移动到行首
6. `^E` 向下滚屏
7. `^Y` 向上滚屏
## 1.6 find查找
**find概念**
find命令用来在指定目录下查找文件。
任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。
**语法**
find <指定目录> <指定条件> <指定内容>
**1、将目前目录及其子目录下所有延伸档名是 gz 的文件查询出来**
find . -name "*.gz"
2、全局搜索 /
/代表是全盘搜索,也可以指定目录搜索
find / -name "java"
# 2 Linux备份压缩
在Windows中我们对于一个大文件进行压缩的时候,通常会使用第三方工具,比如360压缩、快压等工具,把一个文件压缩成.zip格式的压缩文件;而在Linux中我们也可以通过各种命令实现压缩的功能。
## 2.1 tar命令
tar的主要功能是打包、压缩和解压文件。
tar本身不具有压缩功能。他是调用压缩功能实现的 。
**使用者权限:所有用户**
**语法**
tar[必要参数][选择参数][文件]
**1、将 txtfile.txt文件打包(仅打包,不压缩)**
txtfile.txt文件为上面章节的例子
tar -cvf txt.tar txtfile.txt
**2、将 txtfile.txt文件打包压缩(打包压缩(gzip))**
tar -zcvf txt.tar.gz txtfile.txt
> 总结
>
> 参数 f 之后的文件档名是自己取的,我们习惯上都用 .tar 来作为辨识。 如果加 z 参数,则以 .tar.gz 或 .tgz 来代表 gzip 压缩过的 tar包
**3、查看tar中有哪些文件**
tar -ztvf txt.tar.gz
压缩包中的文件有txtfile.txt
**4、将tar 包解压缩**
1.新建目录
mkdir ysFiles
2.复制
cp txt.tar.gz ./ysFiles/
3.解压缩
tar -zxvf /home/itcast/ysFiles/txt.tar.gz
## 2.2 unzip命令
引子
unzip命令就完全的相当于在Windows下面选中文件右键进行解压缩了
**yum install -y unzip zip**
Linux unzip命令用于解压缩zip文件
unzip为.zip压缩文件的解压缩程序
**使用者权限:所有用户**
**语法**
unzip[必要参数][选择参数][文件]
**参数**:
上接上面的zip的例子
**1、查看压缩文件中包含的文件:**
unzip -l zFiles.zip
包含了压缩文件里面文件的详细信息
文件大小 日期 时间 文件名称
总数量和总大小
**2、如果要把文件解压到指定的目录下,需要用到-d参数**
1.新建目录
unFiles
2.解压缩
unzip -d ./unFiles zFiles.zip
# 3 网络与磁盘管理
> Tips:
>
> 重点讲解内容
## **3.1 网络命令**
### 3.1.1 ifconfig命令
引子:
ifconfig命令有点类似于Windows的ipconfig命令
ifconfig是Linux中用于显示或配置网络设备的命令,英文全称是network interfaces configuring
ifconfig命令用于显示或设置网络设备。
ifconfig可设置网络设备的状态,或是显示目前的设置。
**使用者权限:所有(设置级别的需要管理员)用户**
需要命令安装网络工具 yum -y install net-tools
**语法**
ifconfig [网络设备][down up -allmulti -arp -promisc][add<地址>][del<地址>][<hw<网络设备类型><硬件地址>][io_addr<I/O地址>][irq<IRQ地址>][media<网络媒介类型>][mem_start<内存地址>][metric<数目>][mtu<字节>][netmask<子网掩码>][tunnel<地址>][-broadcast<地址>][-pointopoint<地址>][IP地址]
**1、显示激活的网卡信息**
ifconfig
### 3.1.2 ping命令
等价于Windows的ping命令
ping命令用于检测主机。
执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。
**使用者权限:所有用户**
**语法**
ping [-dfnqrRv][-c<完成次数>][-i<间隔秒数>][-I<网络界面>][-l<前置载入>][-p<范本样式>][-s<数据包大小>][-t<存活数值>][主机名称或IP地址]
**1、检测是否与主机连通**
ping www.baidu.com
icmp_seq:ping序列,从1开始
ttl:IP生存时间值
time: 响应时间,数值越小,连通速度越快
**2、指定接收包的次数**
和上面不同的是:收到两次包后,自动退出
ping -c 2 www.baidu.com
> 总结:
>
> ping命令也是我们在开发过程中常用到的命令
>
> 通常使用 ping xxx.xxx.xxx.xxx命令进行检测本地与目标机器是否连通
### 3.1.3 netstat命令
利用netstat指令可让你得知整个Linux系统的网络情况
需要命令安装网络工具 yum -y install net-tools
netstat命令用于显示网络状态。
**使用者权限:所有用户**
**语法**
netstat [-acCeFghilMnNoprstuvVwx][-A<网络类型>][--ip]
**1、显示详细的连接状况**
netstat -a
执行效果如下
比如上面的【0 0.0.0.0:ssh】它是远程终端连接Linux的ssh服务,默认使用了22端口,它的状态【State】是处于监听状态,属于正常。
**2、显示网卡列表**
netstat -i
## 3.2 查看内存和硬盘容量
1 查看硬盘容量
2 查看内存使用
# 4 linux文件目录
# 目录结构
bin (binaries)存放二进制可执行文件 [重点]
sbin (super user binaries)存放二进制可执行文件,只有root才能访问
etc (etcetera)存放系统配置文件 [重点]
usr (unix shared resources)用于存放共享的系统资源 [重点]
home 存放用户文件的根目录 [重点]
root 超级用户目录 [重点]
dev (devices)用于存放设备文件
lib (library)存放跟文件系统中的程序运行所需要的共享库及内核模块
mnt (mount)系统管理员安装临时文件系统的安装点
boot 存放用于系统引导时使用的各种文件
tmp (temporary)用于存放各种临时文件
# 5 linux 安装jdk
1 下载jdk
https://www.oracle.com/technetwork/java/javase/downloads/index.html
2 安装
# 1.将JDK解压缩到指定目录
tar -zxvf jdk-8u152-linux-x64.tar.gz -C /usr/
注意:-C参数是将JDK解压之后文件放入usr目录中
# 2.进入jdk解压缩目录查看
cd /usr/local/jdk1.8.0_152/
# 3.查看详细信息
[root@localhost jdk1.8.0_152]# ls
bin db javafx-src.zip lib man release THIRDPARTYLICENSEREADME-JAVAFX.txt
COPYRIGHT include jre LICENSE README.html src.zip THIRDPARTYLICENSEREADME.txt
# 4.配置环境变量
vi /etc/profile
# 5.在文件末尾加入如下配置
export JAVA_HOME=/usr/local/jdk1.8.0_152/
export PATH=$PATH:$JAVA_HOME/bin
# 6.加载配置生效
source /etc/profile 加载配置生效
# 7.测试环境变量
java -version
# 6 安装tomcat
# 0.下载tomcat
https://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-8/v8.5.70/bin/
# 1.通过工具上传到Linux系统中
# 2.解压缩到/usr目录中
[root@localhost ~]# tar -zxvf apache-tomcat-8.5.70.tar.gz -C /usr/
-C 用来指定解压缩的位置
# 3.查看解压内容
cd /usr/apache-tomcat-8.5.70
[root@localhost apache-tomcat-8.5.46]# ls -l
总用量 124
drwxr-x---. 2 root root 4096 10月 13 12:27 bin
-rw-r-----. 1 root root 19318 9月 17 02:19 BUILDING.txt
drwx------. 2 root root 238 9月 17 02:19 conf
-rw-r-----. 1 root root 5407 9月 17 02:19 CONTRIBUTING.md
drwxr-x---. 2 root root 4096 10月 13 12:27 lib
-rw-r-----. 1 root root 57011 9月 17 02:19 LICENSE
drwxr-x---. 2 root root 6 9月 17 02:17 logs
-rw-r-----. 1 root root 1726 9月 17 02:19 NOTICE
-rw-r-----. 1 root root 3255 9月 17 02:19 README.md
-rw-r-----. 1 root root 7139 9月 17 02:19 RELEASE-NOTES
-rw-r-----. 1 root root 16262 9月 17 02:19 RUNNING.txt
drwxr-x---. 2 root root 30 10月 13 12:27 temp
drwxr-x---. 7 root root 81 9月 17 02:17 webapps
drwxr-x---. 2 root root 6 9月 17 02:17 work
# 4.启动tomcat
[root@localhost apache-tomcat-8.5.46]# ./bin/startup.sh
# 5.关闭网络防火墙
systemctl stop firewalld 关闭网络防火墙
systemctl disable firewalld 关闭开机自启动(永久关闭)
# 6.在windows中访问tomcat
http://10.15.0.8:8080/ 填写虚拟机IP地址
# 7.显示tomcat实时控制台信息
进入tomcat的logs目录中使用tail -f catalina.out 命令实时查看控制台信息
# 8.关闭tomcat
在tomcat的bin目录下面使用 ./shutdown.sh
![image20210913221024260](/E:\欣知学习资料\后端教材\MySql+Linux\Linux02-高级操作\linux文档/Linux-v10-02%E5%A4%A9-%E6%8E%88%E8%AF%BE.assets/image-20210913221024260.png)
# 7 安装mysql
1 环境准备
# 1.卸载mariadb,否则安装mysql会出现冲突
# 2.执行命令rpm -qa | grep mariadb
# 3.列出所有被安装的mariadb rpm 包;
# 4.执行命令rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
2 在线安装
# 1.添加官方的yum源创建并编辑mysql-community.repo文件
vi /etc/yum.repos.d/mysql-community.repo
# 2.粘贴以下内容到源文件中
[mysql56-community]
name=MySQL 5.6 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.6-community/el/7/$basearch/
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
注意:如果需要安装mysql5.7只需要将baseurl修改即可
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
# 3.安装mysql(时间偏长)
sudo yum install -y mysql-community-server
3 设置root密码
# 1.检查数据库是否已经启动
ps -ef | grep -i mysql
如果启动则要关闭
service mysqld stop
# 2.修改配置文件 vi /etc/my.cnf
[mysqld]标签下添加
skip-grant-tables
# 3.重启mysql
service mysqld start
# 4 登录数据库
mysql -u root
# 5 修改密码
use mysql;
update user set password=password("root") where user='root';
flush privileges;
4 开启远程访问
1.安装完成mysql时,发现mysql数据库,不允许我们远程连接需要修改设置
2.登录mysql,并选择使用mysql数据库
3.执行授权命令
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
下面是允许所有连接
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
4.刷新权限
flush privileges;
5 删除[mysqld]标签下的代码
skip-grant-tables
6 .重启服务
systemctl restart mysqld
# 8 项目部署
1 材料,我们学到springboot就知道怎么做了
2 将这些文件复制到文件夹下 如 cd /home/han/mall
3 解压文件mall-0.0.1-SNAPSHOT-bin.zip
unzip -oq mall-0.0.1-SNAPSHOT-bin.zip
4 修改run.sh文件中的名称,改成 ***.jar的文件名
5 修改执行权限
chmod -R 777 run.sh
6 启动服务
./run.sh start
7 查看日志
tail -200f logs/info/info-2021-09-13.log
8 查看服务进程
ps -ef | grep mall
9 结束进程
kill -9 11996