学习目标
-
能够熟练编写文件相关命令
-
能够熟练编写文件解压缩命令
-
能够熟练编写网络查看简单命令
-
能够熟练编写查看磁盘命令、挂载命令
-
能够知道如何使用命令进行分区、格式化
-
能够熟练使用yum进行查找、安装、卸载软件
-
能够熟练使用rpm进行查找、安装、卸载软件
-
能够熟练编写常用的shell脚本
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 czbk-devops.txt
查看
ls -l czbk-devops.txt
执行效果如下图
使用 touch 创建批量空文件
在实际的开发过程中可能会出现一些情况,我们必须为某些测试创建大量空文件,这可以使用 touch
命令轻松实现
touch czbk-{1..10}.txt
在上面的例子中,我们创建了 10 个名为 czbk-1.txt到
czbk-10.txt` 的空文件,你可以根据需要更改名称和数字
执行查看命令
ls -l
执行效果如下
改变/更新文件访问时间
假设我们想要改变名为 czbk-devops.txt 文件的访问时间,在 touch
命令中使用 -a
选项,然后输入文件名。如下所示:
1、我们先 查看下czbk-devops.txt的时间属性
ls -l czbk-devops.txt
执行效果如下
我们发现,最后的访问时间是12月 18 11:34
touch czbk-devops.txt
执行ls命令查看,如下
ls -l czbk-devops.txt
我们也可以使用stat命令进行查看,如下:
stat czbk-devops.txt
执行效果如下图
由上图可知:czbk-devops.txt的文件属性、包含访问时间、更改时间、最近改动时间都显示出来了。
关于stat命令:
stat命令用于显示inode内容。
语法
stat [文件或目录]
touch a.txt 不存在就创建,存在就修改时间属性
touch a{1..10}.txt 批量创建空文件
stat a.txt 查看文件的详细信息
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的时候会进入编辑模式
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、进入末行模式
编辑模式不能保存文件
进入末行模式—》按符号: 鼠标跑到屏幕的最后一行,执行效果如下图
退出后显示【已写入】
以下为其他的退出模式:
:q 当vim进入文件没有对文件内容做任何操作可以按"q"退出
:q! 当vim进入文件对文件内容有操作但不想保存退出
:wq 正常保存退出
:wq! 强行保存退出,只针对与root用户或文件所有人生
总结
三种模式的切换,其实就完成了文件创建、编辑、保存、退出四个步骤
那么接下来,我们学习下一个命令
查看刚才新创建的文件
三种模式切换
vim 文件名 如果文件已经存在,会直接打开该文件
i 进入编辑模式
:wq! 强制保存退出
1.2.5 文件查看
比如查看一个txt文档,在windows中,我们通常是打开一个文件,通过鼠标滚动查看文件不同节选的内容,而在Linux中,通过下面的命令,可以减少在Windows中手工查找的步骤,在Linux中通过命令+参数的形式进行定位查看、搜索查看
以下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
执行效果如下图
grep命令在使用的时候类似于我们的程序中的查询,或者在txt文档中通过ctr+f查找
grep除了能对文件操作为还可以查看我们的进程信息,类似于我们在Windows系统的任务管理器(任务栏--右键---启动任务管理器--进程)下的进程
grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为 -,则 grep 指令会从标准输入设备读取数据。
grep 命令用于查找文件里符合条件的字符串,语法如下:
grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...]
使用者权限:当前文件的权限用户
我们还是使用上面的txtfile.txt文件,如下图
为了测试效果,我们新增了其他数据
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
执行效果如下
6、查找指定的进程信息(不包含grep进程)
ps aux | grep sshd | grep -v "grep"
执行效果如下
7、查找进程个数
ps -ef|grep -c sshd
执行效果如下
由上图可知sshd的进程个数为4(包含grep进程本身)
grep 命令
grep 关键字 small.txt 把包含关键字的行展示出来
grep -n 关键字 small.txt 把包含关键字的行展示出来且加上行号
grep -i关键字 small.txt 把包含关键字的行展示出来,搜索时忽略大小写
grep -v关键字 small.txt 把不包含关键字的行展示出来
ps -ef | grep 关键字 查找指定的进程信息,包含grep进程
ps -ef | grep 关键字 | grep -v “grep” 查找只当的进程信息,不包含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
原始文件内容如下
最后3行内容如下
2、动态显示文档的最后内容,一般用来查看日志,请输入以下命令:
tail -f txtfile.txt
执行效果如下:
此命令显示 txtfile.txt 文件的最后 10 行。当将某些行添加至 txtfile.txt 文件时,tail 命令会继续显示这些行。 显示一直继续,直到您按下(Ctrl-C)组合键停止显示。
如果要显示最后4行,命令如下:
tail -4f txtfile.txt
执行效果如下
3、显示文件txtfile.txt 的内容,从第 2 行至文件末尾
tail -n +2 txtfile.txt
执行效果如下
4、显示文件 txtfile.txt的最后 10 个字符:
tail -c 45 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 命令
less a.txt 查看大文件a.txt的内容
less -N a.txt 查看大文件a.txt的内容(加入行号)