文章目录
- 4.浏览文件
- 4.1 cat 命令
- 4.2 more 命令
- 4.3 less 命令
- 4.4 tail命令
- 5.文件操作:
- 5.1 cp复制和mv剪切命令
- 5.2 rm删除命令
- 5.3 tar解压缩命令
- 5.4 查找文件find命令
- 5.5 查找文件内容grep命令
- 6.其他常用命令
🚴大家好!我是近视的脚踏实地,这篇文章主要是继续讲Linux操作系统的一些常用的文件相关的命令
唯有行动 才能解除你所有的不安
4.浏览文件
【cat、more、less】
cat用于显示文件的内容。
格式:cat[参数]<文件名>
※ cat yum.conf
more一般用于要显示的内容会超过一个画面长度的情况。
按空格键显示下一个画面。回车显示下一行内容。按 q 键退出查看。
※ more yum.conf
※空格显示下一页数据 ,回车显示下一行的数据
less用法和more类似,不同的是less可以通过PgUp、PgDn键来控制。
※ less yum.conf
※ PgUp 和 PgDn 进行上下翻页.
【tail】
tail命令是在实际使用过程中使用非常多的一个命令,它的功能是:用于显示文件后几行的内容。
※用法:
※tail -10 /etc/passwd 查看后10行数据
※tail -f catalina.log 动态查看日志(*****)
※ctrl+c 结束查看
举例👇:
4.1 cat 命令
可以看到现在root目录里边有个catalina.log 日志文件,然后上面的四个命令都可以查看文件的内容
下面先来说说使用cat catalina.log命令查看这个文件,那么这cat命令就会把整个文件的所有内容都罗列到控制台上👇:
(下面还有很多内容未截完,所以呢这个cat命令就是查看文件的所有内容)
4.2 more 命令
但是cat命令查看起来不方便如果文件的内容很大很多的时候,那么可以使用more catalina.log 命令👇:
可以看到用more命令来查看的时候,他一次只显示一屏,显示了全部的15%,那么我们可以按回车键查看下一行👇:
那么如果想多显示一整屏可以按空格键,如下按下一次空格 👇:
然后就是如果找到了自己想要看的东西,不想看了直接按"q"键就可以退出查看了,还有一个Ctrl + C也是可以退出查看的👇:
4.3 less 命令
less命令功能和 more命令差不多,他也可以按回车一页一页地查看,也可以按空格一屏一屏地查看
而且它还可以按键盘上的上下键来完成滚动查看,如下按下一次键盘的向下键,就可以多查看一行,more命令很类似,只是多了这个上下键查看的功能,同理也是可以通过按q键或者Ctrl + C 退出查看
4.4 tail命令
tail命令也是非常常用的一个命令,比如tail -10 catalina.log 命令,就是表示他只会罗列出最后10行所代表的内容👇:
(那么这个有什么用呢,一般我们在查看一些日志文件的时候,是不是一般错误就在后边报这呢,之前的文件不想看,因为日志文件都是追加的,所以我们想看最近发生的错误,就可以可以这么操作来查看了)那么这个tail命令还有一个更重要的参数,这个参数就是- f ,即tail -f catalina.log命令,这样就可以动态地查看文件👇:
(这里并不是很好演示,大概意思就是说,比如现在这个文件是记录tomcat启动的日志文件,比如你现在已经打开tomcat服务器,然后读取到了最后的内容,如果你再去启动,我们知道,他就报端口已经被占用的错误信息,放到日志文件中,然后使用-f参数,只要那个错误的内容一被添加到这个日志文件,我们就可以动态地日志文件又多增添了后边错误的内容)
5.文件操作:
5.1 cp复制和mv剪切命令
【cp、mv】
※cp(copy)命令可以将文件从一处复制到另一处。一般在使用cp命令时将一个文件复制成另一个文件或复制到某目录时,需要指定源文件名与目标文件名或目录。
※cp a.txt b.txt 将a.txt复制为b.txt文件
※cp a.txt ../ 将a.txt文件复制到上一层目录中
※mv 移动(剪切)或者重命名
※mv a.txt ../ 将a.txt文件移动到上一层目录中
※mv a.txt b.txt 将a.txt文件重命名为b.txt
举例👇:
首先cp命令就相当于Windows操作系统里的复制操作,就是复制一份,原来的还在,mv命令就相当于Windows操作系统里边的剪切操作,剪切到另外的地方去了,原来的就不会在这个地方了,那么首先root目录里边的文件如下👇:
那么我们来把anaconda-ks.cfg 这个文件拷贝到aaa目录里边去,那么就是cp anaconda-ks.cfg aaa/👇:
当然,我们也可以拷贝完之后去修改他的文件名名字👇:
(拷贝后改名为a.txt,他的内容和原来文件还是一样的,所以这个拷贝cp命令要知道,可以拷贝,也可以拷贝之后给他进行一个重命名)接着来说mv,比如现在aaa里边有个a.txt,我们可以用把它剪切到root目录下的bbb那个目录下边👇:
(当然的,想要重命名剪切后的文件,也可以在后面跟上要改的文件名就好了,可以发现执行了剪切命令后,在进入aaa目录,可以发现里边的a.txt文件不见了)那么接着就是退回到root目录下,然后进入bbb目录查看就可以看到剪切过去的a.txt文件了👇:
5.2 rm删除命令
【rm】
※rm 删除文件
※用法:rm [选项]… 文件…
※如:rm a.txt—>删除a.txt文件
删除需要用户确认,y/n回应
※rm -f a.txt 不询问,直接删除
※rm -r a 递归删除
※rm -rf a 不询问递归删除(慎用)
※rm -rf * 删除所有文件
※rm -rf /* 自杀
举例👇:
那么首先删除文件我们可以使用rm这个命令,然后现在我们是在bbb目录里边,有个a.txt文件,那我们使用rm a.txt 来删除他就会有个提示,问你是否确定删除,那么我们按下键盘n就不会删除,按下y键就会被删除,如下👇:
那么这个rm命令如果不加参数的话,他只能删除文件,不能删除文件夹,比如现在我们退回到root目录下,我们尝试删除掉bbb这个文件夹,如下👇:
那么这个怎么删除呢,前面讲过也可以使用rmdir命令来删除,但是这样比较麻烦,那么我们可以用rm+参数来进行删除,比如rm -r bbb 就可以把bbb目录删了,这种方式仍然是会先询问是否删除👇:
那么也可以使用另外的参数来使得他不询问,默默地就删掉了,那么就是 rm -rf bbb ,参数r就代表了删除文件夹,参数f就代表了不询问,参数可以单独用,也可以组合来用👇:
接着我们尝试用rm -rf aaa 来删除aaa目录,aaa目录我们知道里边还是一些文件的,如下👇:
(那么我们可以看到,同样是没有任何的询问就把aaa目录给删除了,那么其实rm -f这个命令非常危险的,比如说如果你写成rm -f / * ,那就是表示删除root目录下所有,而且他会递归地删除,他会一层目录一层目录进去把所有东西都删掉,敲了回车,你Linux系统上大部分的文件都会被删除掉,那个时候你就会发现恢复起来是非常麻烦的,而且可能恢复起来都不能够完全恢复到所有的数据)
5.3 tar解压缩命令
【tar】命令:(***** 打包或解压)
※tar命令位于/bin目录下,它能够将用户所指定的文件或目录打包成一个文件,但不做压缩。一般Linux上常用的压缩方式是选用tar将许多文件打包成一个文件,再以gzip压缩命令压缩成xxx.tar.gz(或称为xxx.tgz)的文件。常用参数:
(在Linux系统上,一般压缩文件的格式后缀名都是tar.gz,Windows系统呢一般就是zip)
※-c:创建一个新tar文件
※-v:显示运行过程的信息
※-f:指定文件名
※-z:调用gzip压缩命令进行压缩
※-t:查看压缩文件的内容
※-x:解开tar文件
打包:
※tar –cvf xxx.tar ./*
打包:打包并且压缩:
※tar –zcvf xxx.tar.gz ./*
解压:
※tar –xvf xxx.tar
※tar -zxvf xxx.tar.gz -C /usr/aaa
(如果要解压的是一个没有压缩的,就不需要加z参数,如果解压的是一个.gz带压缩的就需要加上z参数)
举例👇:
那么我们先来说第一个压缩,那么在root目录里有个tomcat的目录,我们先进入,可以看到里边是一个标准的Tomcat目录,有很多的东西👇:
接着我们先退回root目录下,然后把整个tomcat目录打包压缩一下,使用**tar -cvf a.tar apache-tomcat-8.5.43/**命令, 那么下面这些是就是一些过程信息,是由v参数决定的👇:
再来查看root目录,就发现多了个红色的a.tar👇:
可以看到上面的 a.tar还是很大,因为我们没有进行压缩,那么我们可以多加一个 z参数: tar -zcvf b.tar.gz apache-tomcat-8.5.43/ 然后修改名字为Linux操作系统的.gz后缀名,如下👇:
那么上面的两个命令我们用的还是比较少的,我们大多数都是对已有的压缩包进行解压缩,那么我们 先创建一个aa目录,然后把b.tar.gz复制到里边去解压👇:
接着使用tar -zxvf b.tar.gz命令解压 ,z参数就是调用gzip进行解压,x就解压,v就是显示过程信息,f就是指定文件的名称,如果后边没有跟任何东西,他就会把它解压到当前的这个目录下,就是aa这个目录下👇:
(那么如果想要解压到其他目录下,比如说在aa目录里还有个cc目录,把它解压到cc目录就是:tar -zxvf b.tar.gz -C ./cc ,那么就是在后边在加个参数C,大写的,然后就是当前目录下的cc目录就可以了,所以大写的C参数就是用来指定你要将解压的结果放到哪个目录下去)
5.4 查找文件find命令
【find】命令
※find指令用于查找符合条件的文件
※find / -name “ins*” 查找文件名称是以ins开头的文件
(这里就是/表示在哪个目录下查找,然后跟一个查找规则,这个name表示了按照名称查找,后边ins*就是文件的名称,可以用*代表通配符)
※find / -name “ins*” –ls
※find / –user itcast –ls 查找用户itcast的文件
※find / –user itcast –type d –ls 查找用户itcast的目录
※find /-perm -777 –type d-ls 查找权限是777的文件
举例👇:
那么我们先来示范找找找anaconda-ks.cfg,用find / -name anaconda-ks.cfg 命令,就是从/目录查找,按照名称查找👇:
那么找到了这个文件,将来我们就可以进入这文件看里边的内容👇:
当然上边这种情况,我们已经知道了这个文件的全名了,也知道路径,还去找一下可能没有必要,但是在很多时候,我们就想找一个日志文件,但是我们又不知道这个Tomcat安在那个目录了,或者说想进这个目录有点麻烦,那么我们就可以 find / -name catal*.log ,假设不懂后面的单词怎么写了,就这样去查找👇:
5.5 查找文件内容grep命令
【grep】命令
※查找文件里符合条件的字符串。
用法: grep [选项]… PATTERN [FILE]…示例:
※grep lang anaconda-ks.cfg 在文件中查找lang
※grep lang anaconda-ks.cfg –color 高亮显示
举例👇:那么比如我要在一个文件里找到XML这个字符串那么就 grep XML /root/apache-tomcat-8.5.43/logs/catalina.2019-08-12.log,后面就是跟上要在哪个文件里找,把文件路径给上就可以查得到了👇:
(他后面还可以跟上参数-A1 A表示After的意思,表示出了显示有要找的关键字,还有往后显示一行没有关键字的,-B1,和A相反,就是Before的意思,往前也可以显示一行)
6.其他常用命令
【pwd】
※显示当前所在目录
【touch】
※创建一个空文件
※touch a.txt
【clear/ crtl + L】
※清屏
举例👇:
这个之前也说了,显示当前所在的目录
创建一个空文件👇:
清屏就是把整个都清除掉,用clear命令,也可以直接crtl + L