【Linux】基本指令2 echo | more | less | head | date | cal |find | grep | zip | tar | bc | uname

目录

echo指令

基本用法:

高级用法:输出重定向

more指令

less指令

head与tail指令

date指令

cal指令

find指令

grep指令

zip / unzip指令

tar指令

bc指令

uname指令

热键

关机


echo指令

基本用法

echo指令用于输出文本信息,打印到屏幕上。它就类似于c语言中的printf。

语法:echo string

string是要输出的任意文本。Echo命令可以输出任何纯文本,包括数字、字母、标点符号等。

【Linux】基本指令2 echo | more | less | head | date | cal |find | grep | zip | tar | bc | uname_第1张图片

高级用法:输出重定向

echo的若干高级用法中,我们今天就只讲解“输出重定向”。

注:输出重定向并不是隶属在echo指令下的工具,

其他指令也可以用输出重定向。

什么是输出重定向?

是指:本应输出到显示器上的内容,现在却转变方向,输出到文件里了。

这个目标文件如果不存在,那就创建出来再访问,否则就直接访问。

【Linux】基本指令2 echo | more | less | head | date | cal |find | grep | zip | tar | bc | uname_第2张图片

Linux中使用>和>>来重定向标准输出。

1.输出重定向(>):从文件开始,覆盖式写入。

原先的内容都会被新内容覆盖掉。

【Linux】基本指令2 echo | more | less | head | date | cal |find | grep | zip | tar | bc | uname_第3张图片

2.追加重定向(>>):从文件的结尾,追加式写入。

【Linux】基本指令2 echo | more | less | head | date | cal |find | grep | zip | tar | bc | uname_第4张图片

补充了解:输入重定向。

什么是输入重定向?

本来应该从键盘读取的内容,变成了从文件中读取,这就叫做输入重定向。

Linux中使用<和<<来重定向标准输入。这里我们只了解<。

输入重定向是什么样的:

注意:上下两种情况是不同的。

下面这种不是输入重定向,它要先打开test.c这个文件,读取文件内容到自己的程序内部,再打印。

而上面的输入重定向,具体原理我们后面再讲到,目前只要会用<就可以了。

more指令

应用场景:more指令和cat指令都是用于查看文件内容的。

假如我们篇一万行的长文本,cat会把它一下子全打印出来,刷屏了。

这时我们想读前五行的内容,就得往上翻很久才能找到,这降低了阅读效率。

而more打印满页面之后,便不再继续打了。我们按回车键,它才会逐行往后打印,这方便了长文本的阅读。

如果只想查看最前面的五行:

【Linux】基本指令2 echo | more | less | head | date | cal |find | grep | zip | tar | bc | uname_第5张图片  

其实阅读长文本,more并不是很适合,因为它也有缺点。

more的缺点:只能按回车键往下翻,不能来回翻。如果我们想从第一百行回看第五行,按上键是没有用的。

(查看长文本,更推荐用less。)

语法:more(选项)文件

选项:

-n 对输出的所有行编号

q 退出more

less指令

功能:less与more类似,但使用less可以随意浏览文件。

可以利用上下键来前后翻阅文件。(回车键也可往后翻阅文件)

less里加入了更多的搜索功能,向上、向下搜都可。

less可以说是Linux正统查看文件内容的工具,功能很强大。

语法:less(选项)文件

选项:

-i 忽略搜索时的大小写

-N 显示每行的行号

(交互模式下)直接输入这些可进行交互:

/字符串:向下搜索“字符串”的功能

?字符串:向上搜索“字符串”的功能

n:重复前一个搜索(与 / 或 ? 有关)

N:反向重复前一个搜索(与 / 或 ? 有关)

g:回到第一行

q:quit

前期,这些选项和交互工具对我们来说,并不常用。

我们目前主要要会用less翻看长文本。

head与tail指令

head与tail指令的功能很好理解,

分别用来显示开头or结尾某个数量的文字区块。

head:

默认head命令,会打印其相应文件的开头10行。

如果加上选项 -n,则会开头打印n行。

tail:

默认显示最后10行。

选项:

1.-n 显示最后n行

2.-f 循环读取。

-f 可用于查阅正在改变的日志文件,

tail -f 可以把文件最尾部的内容显示在屏幕上,

并不断刷新,使你看到最新的内容。

思考:如果我们想查看一个长文本(file.txt)的 [196 , 200 ] 行内容呢?

Way1:通过创建临时文件,来提取中间部分。

先把前200行导进新文件tmp.txt里。并打印:

然后取后5个:

【Linux】基本指令2 echo | more | less | head | date | cal |find | grep | zip | tar | bc | uname_第6张图片

但是这种方法要每次要创建新文件,比较麻烦。有没有更好的方法呢?

Way2:管道

下图长得像管道的符号“|”,被称作”管道符“:

【Linux】基本指令2 echo | more | less | head | date | cal |find | grep | zip | tar | bc | uname_第7张图片

现实中的管道,被用来输送资源。

在计算机的世界里,数据就是“资源”,同样可为”管道“所输送。

管道的作用:一个命令的输出可以通过管道做为另一个命令的输入。

管道我们可以理解现实生活中的管子,管子的一头塞东西进去,另一头取出来,

这里“ | ”的左右分为两端,左端塞东西(写),右端取东西(读)。

所以,Way2的理解是:把file.txt的前200行塞入管道,通过管道,再留取后5行。

试着理解这个:

date指令

date指令用于显示时间。

语法:date(选项)(+格式)

使用者可以设定时间的格式,如:date +%Y-%m-%d

就会按照格式显示现在的年月日。2023-08-11。

格式:

%H : 小时 %M : 分钟 %S : 秒 %X : 相当于 %H:%M:%S %d : 日 %m : 月份 %Y : 完整年份 %F : 相当于 %Y-%m-%d

时间戳:指从1970年1月1日00:00:00开始所经过的秒数。

通过date指令,能使时间和时间戳相互转换。

时间--->时间戳:date +%s

时间戳--->时间:date -d@时间戳

【Linux】基本指令2 echo | more | less | head | date | cal |find | grep | zip | tar | bc | uname_第8张图片

cal指令

cal指令可以显示公历(阳历)日历。calendar。

语法:cal (选项)(月份) (年份)

选项:

-3 显示系统前一个月,当前月,下一个月的月历 -j 显示在当年中的第几天 -y 显示当前年份的日历

【Linux】基本指令2 echo | more | less | head | date | cal |find | grep | zip | tar | bc | uname_第9张图片

find指令

就和它的名字一样,查找。用于在文件树中查找文件,并做出相应处理。

语法:find 路径 -[选项]

这是一条功能非常强大的指令,选项很多,我们目前就先掌握一个。

选项: -name 按照文件名查找文件。

演示:

【Linux】基本指令2 echo | more | less | head | date | cal |find | grep | zip | tar | bc | uname_第10张图片

grep指令

grep指令可以在文件中搜索字符串,将找到的打印出来。是行文本过滤工具。

语法:grep(选项)要搜的字符串 被搜的文件

选项:

-i :忽略大小写的不同,所以大小写视为相同

ignore。 grep原本是对大小写敏感的,

如果你在搜索时想要忽略大小写上的差异,要带上选项 i 。

-n :顺便输出行号

-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行

行文本过滤工具、管道、重定向 能批量组合,以对文件内容进行过滤,并批量保存。

如:grep '111' file.txt | tac | head -3 | > tmp.txt

zip / unzip指令

用于压缩与解压。

我们为什么需要压缩文件?

举个例子:我们在去旅行前,会把大小行李都塞进行李箱,再拖着行李箱去旅行。

如果没有行李箱,那我们只能抱着衣服、鞋子、生活用品等去远途,

这是非常不方便的,而且容易弄丢。

所以我们需要行李箱来打包行李,便于运输而且不占多少地方。

我们需要压缩,也是这个道理。

压缩成压缩包以后,便于传输。同时,也节省了空间。

(在早期计算机硬盘里的空间比较小时,省空间的作用尤为重要)

语法:zip 压缩后的文件名.zip 目录或文件

常用选项:-r 打包目录时用

unzip 待解压的压缩包

解压到指定路径:后面带上-d

说明:

zip不带选项时,默认压缩的是普通文件,不能用于压缩目录。

而我们常常需要压缩的是一个目录及其下所有内容。

这时要带上选项 -r 。

r会递归处理,将指定目录下的所有文件与子文件一并处理。

那unzip时,如何解压到指定文件夹下?

unzip默认解压再当前路径下。

如果要解压到指定路径,得是这种格式:

unzip 压缩包 -d 指定路径

tar指令

也是Linux下的压缩与解压工具。这个十分常用!

语法:

压缩:tar (参数)压缩后的名字.tgz 被压缩的目录或文件

解压:tar (参数)待解压的压缩包

对这个语法的几点说明

1.关于参数,记住组合:

压缩:-czf 或 -czvf(f一定要在最后)

解压:-xzf 或 -xzvf

这里的c是creat,创建一个新的压缩文件。

z是压缩的参数指令。

v表示显示详细过程。

f指定档名。f后面要立即接档名,所以f得放在最后面。

x是解开一个压缩文件的参数指令。

-C 解压到指定目录

2.把压缩转换成解压,只需把组合中的c换成x

3..tgz其实是缩写了.tar.gz。后者比较长,我们就记住.tgz。

4.解压时如何指定路径?

只需在末尾加上“-C 路径”就可指定路径。

演示:

如何把myFile目录下的project压缩?

【Linux】基本指令2 echo | more | less | head | date | cal |find | grep | zip | tar | bc | uname_第11张图片

如何把pro.tgz解压到newFile下?

 【Linux】基本指令2 echo | more | less | head | date | cal |find | grep | zip | tar | bc | uname_第12张图片

bc指令

可视为Linux下的计算器。

echo "1+2+3+4"|bc

  

uname指令

这条指令可以用来获取电脑和操作系统的相关信息。

语法:uname (选项)

选项:-a 详细输出所有信息。依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类 型,硬件平台类型,操作系统名称。

热键

介绍四个重要的热键:

1.Tab 补全命令、补齐档案的功能

为啥大佬输入命令那么迅速?

因为他输完whic,直接按Tab键,电脑就会自动补齐h和后面的空格,很方便。

2.ctrl +c 终止程序

3.ctrl +d 可以结束键盘输入。

且具有退出功能,可用来取代exit。

4.ctrl +r 搜索历史记录

关机

语法:shutdown (选项)

选项:

-h : 将系统的服务停掉后,立即关机。 -r : 在将系统的服务停掉之后就重新启动 -t sec : -t 后面加秒数,亦即『过几秒后关机』的意思

注:如果用的是云服务器,那不需要关机的。

你可能感兴趣的:(linux)