文章目录
前言
在Linux终端常用命令(二)中介绍了查看文件的操作命令。并且介绍了vim打开文件后的三种模式,touch命令,cat,ls等系统常用的命令,最终介绍了两种通配符。想要了解的小伙伴可以翻看我之前的文章。这次我们的环境同样是Kali,在接下来的代码环节,包含的不仅是代码,还有代码运行的情景。不要直接的去尝试复制代码,要看情景之后在敲入相应的代码。请各位学习的小伙伴多注意。
老规矩先创建实验的情景
┌──(root㉿kali)-[/home/wang]
└─# mkdir test
┌──(root㉿kali)-[/home/wang]
└─# cd test
┌──(root㉿kali)-[/home/wang/test]
└─# touch 1.txt
┌──(root㉿kali)-[/home/wang/test]
└─# vim 1.txt
┌──(root㉿kali)-[/home/wang/test]
└─# cat 1.txt
123456
┌──(root㉿kali)-[/home/wang/test]
└─# touch 2.txt
┌──(root㉿kali)-[/home/wang/test]
└─# vim 2.txt
┌──(root㉿kali)-[/home/wang/test]
└─# cat 2.txt
654321
┌──(root㉿kali)-[/home/wang/test]
└─#
┌──(root㉿kali)-[/home/wang/test]
└─# mkdir test1
┌──(root㉿kali)-[/home/wang/test]
└─# touch 3.txt
┌──(root㉿kali)-[/home/wang/test]
└─# vim 3.txt
┌──(root㉿kali)-[/home/wang/test]
└─# cat 3.txt
abcd123
┌──(root㉿kali)-[/home/wang/test]
└─#
这上面的命令在我之前的文章中都讲过,不太清楚的小伙伴们可以去看我之前的文章。总的来说就是建了一个test的文件夹,文件夹下有两个文件分别为1.txt和2.txt。再分别往1.txt中输入123456这段文本,往2.txt中输入654321这段文本 。紧接着test目录下创建了test1文件夹。在创建了3.txt,在3.txt中输入abcd123这个文本。
一、du命令
du命令作用是检查文件或目录所占内存大小。其中它后面常接几种参数如下。
-a:显示每个文件或目录的磁盘空间大小,包括所有子目录和文件。
-s:显示每个给定文件或目录的总大小(如果文件夹下有多个文件或子目录,则显示总 和)。
-h:以可读的方式显示磁盘空间大小(例如:1K、1M、1G等等),而不是简单的千字节 (KB)。
实例1
┌──(root㉿kali)-[/home/wang/test]
└─# du -a
4 ./1.txt
4 ./2.txt
12 .
┌──(root㉿kali)-[/home/wang/test]
└─# du -s
12 .
在这个实例中-a参数显示了所有文件包括隐藏的文件。-s显示单个,这里是因为默认设置才会后面出现12。这个测试结果其实也带给我们另外的思考。对于我们在1.txt和2.txt都输入123456这串数字,只不过两者123456这串数字是正数还是倒数。但最终结果显示它们的内存大小都是4。这里可以在往后细想一下。
实例2
┌──(root㉿kali)-[/home/wang/test]
└─# du -ah
4.0K ./1.txt
4.0K ./2.txt
12K .
┌──(root㉿kali)-[/home/wang/test]
└─# du -sh
12K .
在这个实例2中du命令后接了两个参数ah和sh。也就是说在之前的基础上可以显示文件内所存内容所占内存的大小。
二、find命令
find命令的用法也是后面接参数,后面常用到的参数如下。
-type:按照文件类型搜索,其中常用的参数有d(目录)、f(常规文件)、l(符号链接)等等。
-size:按照文件大小搜索,支持使用+和-表示大于或小于某个大小
-name:按照文件名搜索,支持使用通配符进行匹配。
-mtime:按照文件修改时间搜索,其中+n表示n天前,-n表示n天内,0表示今天。
-ctime:按照文件状态改变时间搜索,与-mtime相似。
-atime:按照文件访问时间搜索,与-mtime相似。
实例1
┌──(root㉿kali)-[/home/wang/test]
└─# find -type d
.
./test1
这个串代码的作用是查找当前目录下的目录文件。其中后面的d代表目录。
实例2
┌──(root㉿kali)-[/home/wang/test]
└─# find /home/wang/test -size 4k
/home/wang/test
/home/wang/test/test1
这串代码作用是在/home/wang/test下面以4k的内存大小来查找文件。注意这里我尝试写相对路径,但在Kali上面报错。所以我写了绝对路径。相对路径和绝对路径不清楚的小伙伴也可以去翻我之前的文章“Linux终端常用命令(一)”。
实例3
┌──(root㉿kali)-[/home/wang/test]
└─# find -name 1.*
./1.txt
┌──(root㉿kali)-[/home/wang/test]
└─# find -name 2.tx?
./2.txt
上面显示的是在/home/wang/test这个目录下面,以名字的方式查找1.*和2.tx?这种类型的文件。*和?在我之前的我文章也有提及,这里不过多叙述。要细看解释查看我之前的文章“Linux终端常用命令(二)”。
实例4
┌──(root㉿kali)-[/home/wang/test]
└─# find /home/wang/test -mtime -2
/home/wang/test
/home/wang/test/1.txt
/home/wang/test/test1
/home/wang/test/2.txt
┌──(root㉿kali)-[/home/wang/test]
└─# find /home/wang/test -atime -2
/home/wang/test
/home/wang/test/1.txt
/home/wang/test/test1
/home/wang/test/2.txt
这两串代码相同点是都在/home/wang/test目录下执行,时间选取的都是2天。不同点是第一串代码是按照文件修改时间搜索,而第二串代码是按照文件访问时间搜索。
三、grep命令
grep命令是查找含有特定内容的文件。具体后面常用的参数包括。
-i:忽略大小写。-v:显示不匹配的行。
实例1
┌──(root㉿kali)-[/home/wang/test]
└─# grep -i "^a" 3.txt
abcd123
┌──(root㉿kali)-[/home/wang/test]
└─# grep -iv "^a" 3.txt
┌──(root㉿kali)-[/home/wang/test]
└─#
┌──(root㉿kali)-[/home/wang/test]
└─# grep -i "3$" 3.txt
abcd123
这里grep命令后面接-i参数是忽略大小写,^a代表以字母a开头的文本,3$代表以数字3结尾的文本。而如果参数i和v同时使用就会出现如上图的现象。其中-v的含义是不匹配的行。
四、管道符
|就是Linux系统中的管道符,这里不细说,因为之后的文章还会用到。毕竟命令有时是连在一起使用的,它们之间不应该是孤立的。大致上管道符可以理解为将两个独立的部分进行分别运行,起连接的作用。
五、小叙
tail命令用来查看文件内的后几行。这里举一个代码如下,当然在1.txt中要有相应的内容。
tail -5 1.txt
另外tail命令后面加一个参数-F就可以实现实时监控。代码如下。
tail -F
head命令用来查看文件内的前几行。这里举一个代码如下,当然在1.txt中要有相应的内容。
head -5 1.txt
file命令是用来查看文件类型的。具体用法可以是file后面直接加文件的名字。当然要在相应的目录下进行。
which命令是用来查找命令并显示命令位置的。
改命令名的代码
alias w=”ls -l”
其中加下划线的w可以换成其他任何想替换原命令的按键。只要你自己能够记住还好用就行。
总结
本文主要介绍了du、find、grep这三个命令,管道符在之后的文章中相应代码会用到,就不细讲。最后小叙了tail,head,file,which这些常用的小命令。当然最后放了一个可以改变原命令名称的代码。仅供参考。一起学习进步,转瞬都有,加油。
&spm=1001.2101.3001.5002&articleId=131219873&d=1&t=3&u=fb3e39dc04a4407697f42a13ef58c720)
1805

被折叠的 条评论
为什么被折叠?



