前言:本文延续上一篇文章【Linux学习笔记】 - 常用指令学习及其验证(上)对常用的指令进行介绍和验证。
一、mv指令
(1)功能:用来移动文件或者将文件改名
(2)语法及验证:
语法:mv [选项] [源文件或目录] [目标文件或目录]
- 当第二个参数(即目标文件或目录)是不存在的文件或目录时,此时源文件或目录只能有一个,它将被重新命名为指定的目标文件或目录名;
- 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中;
常用选项:
-f :如果目标文件已经存在,不会询问而直接覆盖
-i :若目标文件已经存在时,就会询问是否覆盖
验证:
- 目录名的重命名:
- 将多个文件移动至目标目录:
如上指令将copy.txt
out.txt
test.txt
三个文件一并移动到了目录d3中。
二、more指令
(1)功能:可查看文件内容,功能类似cat
(2)语法及验证:
语法:more [选项][文件]
常用选项:
q:退出more
验证:
- 查看文件内容(PS:这里提前用指令给文件设置了10000行内容,设置指令如下:
cnt=1; while [ $cnt -le 10000 ]; do echo "hello,Linux $cnt"; let cnt++; done > test.txt
)
和cat指令不一样的地方就在于其可以从文本开始通过向下滚动的方式来查看整个文本的内容,比cat更适合查看类似上面的大文本内容。
三、less指令
前言:less 工具也是对文件或其它输出进行分页显示的工具,但可以说是Linux正统查看文件内容的工具,功能极其强大。
less 的用法比起 more 更加的有弹性。在用more
查看文本内容的时候,我们并没有办法向前面翻, 只能往后面看;
但若使用了 less 时,就可以使用相关按键来往前往后翻看文件,更容易用来查看一个文件尤其是大文件的内容;除此之外,在 less 里也有更多的搜索功能。
(1)功能:多功能地查看文件内容
(2)语法及验证:
语法:less [选项][文件]
常用选项:
-i:忽略搜索时的大小写
-N:显示每行的行号
/字符串:向下搜索“字符串”的功能
?字符串:向上搜索“字符串”的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
q:quit
验证:
less -N
:
- 搜索功能:
搜索结果:
四、head指令
(1)功能:用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行
(2)语法及验证:
语法:head [选项][文件]
常用选项:
-n<行数>显示的行数
验证:
head -n
:
五、tail指令
(1)功能:用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
(2)语法及验证:
语法: tail[选项][文件]
常用选项:
-n<行数>: 显示行数
验证:
tail -n
:
拓展:有了head和tail指令后,我们就能通过两种方式实现如下类似需求:从这个大文本(10000行)取出第1000到1020行的内容。
-
方法1:
先通过head指令,将文本中的前1020放到一个文件中:
然后再通过tail指令将该文件的后21行取出即可
-
方法2:需要借助到一个叫 “管道” 的工具,具体操作如下:
解释:中间的符号 “|
” 就是管道,其会被系统解释为管道文件。其左侧文件输出数据到管道文件中,其右侧文件再从管道文件中读取数据。管道一般用于支持流水线工作。
六、date指令
(1)功能:可按指定格式显示时间,常用于日志文件的编写。
(2)语法及验证:
语法:date [选项][+格式]
常用选项:
-s:设置当前时间,只有root权限才能设置,其他只能查看
-d@:将时间戳转换回时间
常用格式:
%H : 小时
%M : 分钟
%S : 秒
%X : 相当于 %H:%M:%S
%d : 日
%m : 月份
%Y : 完整年份
%F : 相当于 %Y-%m-%d
%s :以时间戳形式显示时间
验证:
date +%Y-%m-%d
:
- 时间和时间戳的转换:
七、cal指令
(1)功能:用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份。
(2)语法及验证:
语法: cal [选项][月份][年份]
常用选项:
-3 :显示系统前一个月,当前月,下一个月的月历
-j :显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)
-y :显示当前年份的日历
验证:
八、find、which、whereis指令
1、find
(1)功能:用于在文件树种查找文件,并作出相应的处理(可能访问磁盘)
(2)语法及验证:
语法:find [选项][路径]
常用选项:
-name:按照文件名查找文件
验证:
find -name
:
2、which
(1)功能:可在系统指定的路径下搜索指令文件
(2)语法及验证:
语法:which [指令]
验证:
3、whereis
(1)功能:同样在系统指定的路径下查找,既可找到可执行程序,又可找到手册以及安装包、压缩包等等。
(2)语法及验证:
语法:whereis [指令]
验证:
九、grep指令
(1)功能:在文件中搜索字符串,将找到的行打印出来
(2)语法及验证:
语法: grep [选项] [字符串] [文件]
常用选项:
-i :忽略大小写的不同,所以大小写视为相同
-n :输出行号
-v :反向选择,即显示出没有 所搜寻字符串 内容的那一行
验证:
十、zip/unzip指令
(1)功能:将目录或文件压缩成zip格式/解压zip格式的压缩包到目录中(目录不存在会自动创建)
(2)语法及验证:
语法:zip [压缩文件.zip] [目录或文件]
常用选项:
-r:递归处理,将指定目录下的所有文件和子目录一并处理
-d:解压到对应的目录下
验证:
zip -r
:
unzip -d
:
十一、tar指令
(1)功能:可用于对文件进行压缩也可用于对压缩包进行解压;也可以不压缩而预览压缩包的内容
(2)语法及验证:
语法:tar[选项][文件与目录]
常用选项:
-c :建立一个压缩文件的参数指令
-x :解开一个压缩文件的参数指令
-t :查看 tarfile 里面的文件
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?(可理解为用于压缩的算法)
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?(可理解为用于压缩的算法)
-v :压缩的过程中显示文件
-f :使用档名,请留意,在 f 之后要直接跟档名
-C : 解压到指定目录
一般常用的选项组合有下面三种:
tar [czf] [文件.tgz][文件]:打包压缩
tar [tzf] [tgz压缩文件]:预览压缩包内容
tar xzf [文件.tgz]:解压缩包
对tgz后缀解释一下:tar指令下将文件压缩后的压缩包后缀一般为.tar.gz
(tar
代表tar指令,.gz
为压缩后缀),简写就为tgz
验证:
tar [czf] [文件.tgz][文件]
:
tar [tzf] [tgz压缩文件]
:
tar xzf [文件.tgz]
:
先创建一个目录d3_tgz,再将压缩包解压至该目录下
十二、uname
(1)功能:用来获取电脑和操作系统的相关信息,主要用于显示Linux主机所用的操作系统的版本、硬件的名称等基本信息。
(2)语法及验证:
语法:uname [选项]
常用选项:
-a:详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称
-r:输出当前Linux系统的内核版本
验证:
-
uname -a
:
-
uname -r
:
十三、指令运行的原理及意义
在前一章有说明过,指令的本质其实是编写好的可执行程序,使用指令的过程其实就是让对应可执行程序运行的过程。我们平常输入指令的地方被称为 “bash命令行”,输入的指令的本质其实是输入字符串。
- 指令在Linux操作系统中的意义:
Linux操作系统真正的运行场所在于其“内核”(kernel),但由于其使用难度较高,我们无法直接和内核进行交互,而指令在这之中相当于充当了一个“媒人”的角色,来帮助我们和操作系统内核之间建立联系。故对于我们平常使用的命令行解释器,其一方面将我们使用者的命令翻译给内核处理;另一方面将内核的处理结果翻译给我们。同时,命令在一定程度上保护了操作系统的内核结构,对于用户非法的操作会直接进行拦截。基于以上特点,指令总体也被称为“shell(外壳)命令”,借此来和核心进行信息交互。
本章完。
看完觉得有觉得帮助的话不妨点赞收藏鼓励一下,有疑问或有误地方的地方还请过路的朋友们留个评论,多多指点,谢谢朋友们!🌹🌹🌹