文章目录

  • 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 日志文件,然后上面的四个命令都可以查看文件的内容

grep 指定关键字的行上下文 grep显示下一行_txt文件


下面先来说说使用cat catalina.log命令查看这个文件,那么这cat命令就会把整个文件的所有内容都罗列到控制台上👇:

grep 指定关键字的行上下文 grep显示下一行_日志文件_02


(下面还有很多内容未截完,所以呢这个cat命令就是查看文件的所有内容)

4.2 more 命令

但是cat命令查看起来不方便如果文件的内容很大很多的时候,那么可以使用more catalina.log 命令👇:

grep 指定关键字的行上下文 grep显示下一行_日志文件_03


可以看到用more命令来查看的时候,他一次只显示一屏,显示了全部的15%,那么我们可以按回车键查看下一行👇:

grep 指定关键字的行上下文 grep显示下一行_tomcat_04


那么如果想多显示一整屏可以按空格键,如下按下一次空格 👇:

grep 指定关键字的行上下文 grep显示下一行_txt文件_05


然后就是如果找到了自己想要看的东西,不想看了直接按"q"键就可以退出查看了,还有一个Ctrl + C也是可以退出查看的👇:

grep 指定关键字的行上下文 grep显示下一行_日志文件_06

4.3 less 命令

less命令功能和 more命令差不多,他也可以按回车一页一页地查看,也可以按空格一屏一屏地查看

grep 指定关键字的行上下文 grep显示下一行_日志文件_07


而且它还可以按键盘上的上下键来完成滚动查看,如下按下一次键盘的向下键,就可以多查看一行,more命令很类似,只是多了这个上下键查看的功能,同理也是可以通过按q键或者Ctrl + C 退出查看

grep 指定关键字的行上下文 grep显示下一行_日志文件_08

4.4 tail命令

tail命令也是非常常用的一个命令,比如tail -10 catalina.log 命令,就是表示他只会罗列出最后10行所代表的内容👇:

grep 指定关键字的行上下文 grep显示下一行_grep 指定关键字的行上下文_09


(那么这个有什么用呢,一般我们在查看一些日志文件的时候,是不是一般错误就在后边报这呢,之前的文件不想看,因为日志文件都是追加的,所以我们想看最近发生的错误,就可以可以这么操作来查看了)那么这个tail命令还有一个更重要的参数,这个参数就是- f ,即tail -f catalina.log命令,这样就可以动态地查看文件👇:

grep 指定关键字的行上下文 grep显示下一行_tomcat_10


(这里并不是很好演示,大概意思就是说,比如现在这个文件是记录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目录里边的文件如下👇:

grep 指定关键字的行上下文 grep显示下一行_日志文件_11


那么我们来把anaconda-ks.cfg 这个文件拷贝到aaa目录里边去,那么就是cp anaconda-ks.cfg aaa/👇:

grep 指定关键字的行上下文 grep显示下一行_txt文件_12


当然,我们也可以拷贝完之后去修改他的文件名名字👇:

grep 指定关键字的行上下文 grep显示下一行_grep 指定关键字的行上下文_13


(拷贝后改名为a.txt,他的内容和原来文件还是一样的,所以这个拷贝cp命令要知道,可以拷贝,也可以拷贝之后给他进行一个重命名)接着来说mv,比如现在aaa里边有个a.txt,我们可以用把它剪切到root目录下的bbb那个目录下边👇:

grep 指定关键字的行上下文 grep显示下一行_tomcat_14


(当然的,想要重命名剪切后的文件,也可以在后面跟上要改的文件名就好了,可以发现执行了剪切命令后,在进入aaa目录,可以发现里边的a.txt文件不见了)那么接着就是退回到root目录下,然后进入bbb目录查看就可以看到剪切过去的a.txt文件了👇:

grep 指定关键字的行上下文 grep显示下一行_grep 指定关键字的行上下文_15

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键就会被删除,如下👇:

grep 指定关键字的行上下文 grep显示下一行_tomcat_16

那么这个rm命令如果不加参数的话,他只能删除文件,不能删除文件夹,比如现在我们退回到root目录下,我们尝试删除掉bbb这个文件夹,如下👇:

grep 指定关键字的行上下文 grep显示下一行_txt文件_17


那么这个怎么删除呢,前面讲过也可以使用rmdir命令来删除,但是这样比较麻烦,那么我们可以用rm+参数来进行删除,比如rm -r bbb 就可以把bbb目录删了,这种方式仍然是会先询问是否删除👇:

grep 指定关键字的行上下文 grep显示下一行_txt文件_18


那么也可以使用另外的参数来使得他不询问,默默地就删掉了,那么就是 rm -rf bbb ,参数r就代表了删除文件夹,参数f就代表了不询问,参数可以单独用,也可以组合来用👇:

grep 指定关键字的行上下文 grep显示下一行_tomcat_19

接着我们尝试用rm -rf aaa 来删除aaa目录,aaa目录我们知道里边还是一些文件的,如下👇:

grep 指定关键字的行上下文 grep显示下一行_txt文件_20


(那么我们可以看到,同样是没有任何的询问就把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目录,有很多的东西👇:

grep 指定关键字的行上下文 grep显示下一行_日志文件_21


接着我们先退回root目录下,然后把整个tomcat目录打包压缩一下,使用**tar -cvf a.tar apache-tomcat-8.5.43/**命令, 那么下面这些是就是一些过程信息,是由v参数决定的👇:

grep 指定关键字的行上下文 grep显示下一行_txt文件_22


再来查看root目录,就发现多了个红色的a.tar👇:

grep 指定关键字的行上下文 grep显示下一行_tomcat_23


可以看到上面的 a.tar还是很大,因为我们没有进行压缩,那么我们可以多加一个 z参数: tar -zcvf b.tar.gz apache-tomcat-8.5.43/ 然后修改名字为Linux操作系统的.gz后缀名,如下👇:

grep 指定关键字的行上下文 grep显示下一行_tomcat_24

那么上面的两个命令我们用的还是比较少的,我们大多数都是对已有的压缩包进行解压缩,那么我们 先创建一个aa目录,然后把b.tar.gz复制到里边去解压👇:

grep 指定关键字的行上下文 grep显示下一行_日志文件_25


接着使用tar -zxvf b.tar.gz命令解压 ,z参数就是调用gzip进行解压,x就解压,v就是显示过程信息,f就是指定文件的名称,如果后边没有跟任何东西,他就会把它解压到当前的这个目录下,就是aa这个目录下👇:

grep 指定关键字的行上下文 grep显示下一行_grep 指定关键字的行上下文_26


(那么如果想要解压到其他目录下,比如说在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的文件

举例👇:

grep 指定关键字的行上下文 grep显示下一行_tomcat_27


那么我们先来示范找找找anaconda-ks.cfg,用find / -name anaconda-ks.cfg 命令,就是从/目录查找,按照名称查找👇:

grep 指定关键字的行上下文 grep显示下一行_日志文件_28


那么找到了这个文件,将来我们就可以进入这文件看里边的内容👇:

grep 指定关键字的行上下文 grep显示下一行_日志文件_29

当然上边这种情况,我们已经知道了这个文件的全名了,也知道路径,还去找一下可能没有必要,但是在很多时候,我们就想找一个日志文件,但是我们又不知道这个Tomcat安在那个目录了,或者说想进这个目录有点麻烦,那么我们就可以 find / -name catal*.log ,假设不懂后面的单词怎么写了,就这样去查找👇:

grep 指定关键字的行上下文 grep显示下一行_grep 指定关键字的行上下文_30

5.5 查找文件内容grep命令



【grep】命令

※查找文件里符合条件的字符串。
     用法: grep [选项]… PATTERN [FILE]…示例:

grep lang anaconda-ks.cfg 在文件中查找lang

grep lang anaconda-ks.cfg –color 高亮显示

grep 指定关键字的行上下文 grep显示下一行_tomcat_31


grep 指定关键字的行上下文 grep显示下一行_tomcat_32


grep 指定关键字的行上下文 grep显示下一行_txt文件_33


举例👇:那么比如我要在一个文件里找到XML这个字符串那么就 grep XML /root/apache-tomcat-8.5.43/logs/catalina.2019-08-12.log,后面就是跟上要在哪个文件里找,把文件路径给上就可以查得到了👇:

grep 指定关键字的行上下文 grep显示下一行_tomcat_34

(他后面还可以跟上参数-A1 A表示After的意思,表示出了显示有要找的关键字,还有往后显示一行没有关键字的,-B1,和A相反,就是Before的意思,往前也可以显示一行)

6.其他常用命令

【pwd】
※显示当前所在目录

【touch】
※创建一个空文件
     ※touch a.txt

【clear/ crtl + L】
     ※清屏

举例👇:

这个之前也说了,显示当前所在的目录

grep 指定关键字的行上下文 grep显示下一行_grep 指定关键字的行上下文_35

创建一个空文件👇:

grep 指定关键字的行上下文 grep显示下一行_tomcat_36


清屏就是把整个都清除掉,用clear命令,也可以直接crtl + L

grep 指定关键字的行上下文 grep显示下一行_txt文件_37


grep 指定关键字的行上下文 grep显示下一行_tomcat_38