语法: find pathname -options 功能: 用于在文件树种查找文件(递归查找),并作出相应的处理(可能访问磁盘) 常用选项:
当我们进行find搜索时,可能因访问磁盘进而导致效率低下。
此外,还有一个指令可以进行搜索,但只能搜索命令:which + 命令
[cfy@VM-8-3-centos ~]$ which ls
alias ls='ls --color=auto'
/usr/bin/ls
[cfy@VM-8-3-centos ~]$ which pwd
/usr/bin/pwd
[cfy@VM-8-3-centos ~]$
color=auto
的颜色选项,而ll在which查找中发现,其解释是:ll = ls -l
ls -l
进行了重命名:除了上述两个搜索命令,还有一个指令:whereis
,其作用是在特定的路径下,查找指定的文件名对应的指令或者文档,如果不存在,也会搜到近似的名字。
三个指令查找范围的比较:which < whereis < find
语法: grep [选项][文件名]
功能: 文本内容的行过滤工具,会匹配文本中的关键字,匹配上的进行行显示。
我们进行如下演示:
通过这样就可以显示筛选的文本信息了。
常用选项:
在此之前,可以通过vim或者nano进入到test.txt文本中增加一些值,然后通过命令寻找。下面开始演示:(-v不方便在test.txt中进行演示,知道如何操作即可)
-i
:-n
:
补充:
wc -l
,wc可以统计行数,下面具体看看:
我们通过管道的形式,得到查找到字符的总行数:
此外,我们直接wc显示了三个数据:依次是:行数、字数、字节数 而通过wc的不同选项也可以显示不同的信息:
在这里,增加一个额外的知识:sort
sort按名字来说是排序的意思,因此我们touch一个文件:
增加数据之后,我们退出这个编辑,使用sort命令:
sort
在Linux命令中,是以行为单位,按照ASCII码值进行升序排序。因此sort可以对文本内容进行排序。uniq指令可以将文件中相邻的重复值进行去重
但如果我们想将反是重复的值都去掉,这时就可以
sort
和uniq
一起使用,即先用sort让值相同的值相邻,然后再利用uniq进行删除相邻的重复值。(通过管道实现)
但我们发现,这样只是显示中的值被删掉,但文件的内容还是原封未动的,因此我们需要重定向到文件中才能进行更改。通过打开这个文件并重定向这个文件的结果如下:
然而,事实并非我们所想的那样,当我们重定向并cat这个文件之后,发现里面什么都没有。
通过这个情况我们发现,重定向不能把数据来源的文件,又重新定向到这个文件,这是做不到的。 实际上在系统当中在做指令解析的时候,重定向不是最后一步,而是首先会把重定向到的文件打开然后清空,这样之后,如果再读取这个文件,就读不到文件的内容。所以说,重定向不能定向到原来的文件。 因此想改变文件的内容可以这样进行处理:借助一个tmp文件,让这个更改之后的数据重定向到tmp文件中,然后再通过tmp文件重定向到原来的文件中。
在讲解之前先输入指令zip,如果发现没有这个指令,则我们需要通过此指令安装:
yum install -y unzip zip
就可以将这两个命令安装啦,安装之后再输入zip,会得到这样的结果:(安装需要root用户的权限,因此我们需要在root用户下进行安装,或者用sudo将子用户进行提权)
这样就代表我们已经安装完毕了。
语法: zip 压缩文件.zip 目录或文件 功能: 将目录或文件压缩成zip格式
unzip:在当前目录下进行解压
接下来就可以进行下面的操作:
zip my.zip 106
我们发现,经过一系列操作之后,最后解压发现,里面原本的内容并不存在,因此这只是将目录进行了压缩,但这不是我们想要的,我们想要的是将内部文件一起打包到my.zip中,因此,我们在这里就需要递归压缩
-r
(在此之前将前面生成的文件都删掉)
即命令: zip -r my.zip 106
通过这样的指令,最终就得到了我们想要的。
但对于unzip指令,我们知道这是在Linux操作系统中,而在windows系统中可以看到一个是解压到当前文件夹,一个是解压到…… ,也就是你想指定的路径当中,因此unzip通过
-d
选项也可以进行这样操作:(接下来展示将压缩的文件解压到/home/cfy/ (这里提示一下:所对应的路径就是子用户的路径,就是/home/cfy/) 指令:unzip my.zip -d /指定路径
# 解包解压到
在使用互联网的时候,安装软件时有很多大大小小的文件,打包可以便于运输和储存,不易丢失,并且让用户看起来不是那么多。
tar [-cxtzjvf] 文件与目录 … 参数:
上述的我们只挑常用的组合去介绍:
tar -czf my.tgz 106
# 打包并压缩tar -xzf my.tgz
# 解包并解压通过上面的组合形式,我们就可以将其压缩和解压。其中,选项中的-
写或者不写都是可以的。在组合指令时,顺序也是随意的,但f一定要在最后面。
举个例子,在命令中用选项
-tf
组合,就可以按照t原本的意思,不解压直接查看里面的具体内容。
对于此命令,也可以解压到指定的位置:tar xzvf my.tgz -C ~
注:~
是家目录
在执行指令的过程中,我们回车然后显示了几行信息,这是v选项的作用。上述我们通过-C命令,就将压缩包解压到了
~
路径下。
此外,对于压缩包,我们了解到的还有rar压缩包等,这些在网上搜命令都是可以的,使用方式和这两个相同,因此,就需要小伙伴们自己去了解啦。
bc指令在Linux中相当于计算器的功能,但是不是太重要,因为windows的计算机已经足够好用了,这里就直接展示其具体结果:
语法: uname [选项] 功能: uname用来获取电脑和操作系统的相关信息。 补充说明: uname可显示linux主机所用的操作系统的版本、硬件的名称等基本信息。
常用选项:
补充:\
反斜杠可以续行,即如果出现命令过长导致需要换行时,可以在最后打出\
,从而回车之后可以继续接着上一行输入。
语法:shutdown [选项]
常见选项:
◆ 安装和登录命令: login、shutdown、halt、reboot、install、mount、umount、chsh、exit、last; ◆ 文件处理命令: file、mkdir、grep、dd、find、mv、ls、diff、cat、ln; ◆ 系统管理相关命令: df、top、free、quota、at、lp、adduser、groupadd、kill、crontab; ◆ 网络操作命令: ifconfig、ip、ping、netstat、telnet、ftp、route、rlogin、rcp、finger、mail、 nslookup; ◆ 系统安全相关命令: passwd、su、umask、chgrp、chmod、chown、chattr、sudo ps、who; ◆ 其它命令: tar、unzip、gunzip、unarj、mtools、man、unendcode、uudecode。
这里再记录几条命令:
whoami
可以看你的用户名字:
who
我们也可以看到有几个人正在使用服务器。看来,2022-10-22-15:29这个时刻除了我还有两位佬正在使用(滑稽)
到这里常用命令的讲解也就结束了,三篇文章总结了常用的命令,当然我们后续还会继续学习,一起加油吧!💕💕💕💕💕💕💕💕💕💕💕💕💕💕💕💕!