zoukankan      html  css  js  c++  java
  • Linux命令进阶篇-文件查看与查找

      上一篇的博客对于Linux如何在不同目录下跳转和查看目录下内容做出了总结,主要靠cd和ls,很常见也很实用。但是你看到目录下面那么多不同花花绿绿的文件,心里是不是痒痒,是不是想进去一探究竟,有办法!

      先介绍一下比较常见的两个命令:cat 和 more。

      cat -n  (在打印的每一行文件内容前显示行号)

      cat命令用于查看文件内容,后面可以接文件名作为参数,接多个文件名同样可以,如下:

      cat  test   test2

      它会将指向文件的内容一起打印在屏幕上,有时候可能会很大一片,如果文件有几十页,那么对于我们查看文件简直是极大的困扰。那么此时用more来解决这个问题再好不过,more不仅可以一行一行的显示文件内容,一页一页的显示对它来说也是轻而易举。

      more   文件名  (打印文件内容)

      more命令会在终端最后一行显示当前已查看文件百分比,按下空格会向下翻动一页,按下enter向下翻动一行,按Q直接退出。这个命令在查看大文件是确实实用,但是还有更强大的 less,已经可以称为文本阅读工具了,两者之间操作非常相似,但是less的强大我光吹你也不懂,反正强就完事儿了。下面来简单介绍下:

      ps:和more一样的操作就不谈了

      1.可以直接使用方向键在文本文件中前后左右滚屏

      2.实现了复杂检索,高亮显示等操作

      3.对与常用文字处理程序按键兼容(vim,Emacs)

      less在查看文件时同样可以向下翻页,按空格就行,但是它同样可以向上翻,按B即可。对于上述的几个亮点,复杂检索比较值得关注一下,毕竟有工具可以用我为什么还一页页的翻呢,偷懒同样可以使你变强!

      less下搜索字符串:“/” 加上查找内容,第一个匹配的字符串会高亮显示,如果想要查找下一个匹配字符串,再次输入“/”,按下回车即可。当然,Linux还提供了专门的命令用于查找文件内容,那就是grep:

      grep 关键词    文件名 (搜索文件中的关键字)

      这个命令可以指定多个文件搜索,举个例子,查找“woyao  shangtian”,可以使用单引号包含空格,完成查找:

      grep  'woyao shangtian'   test.c

      有时候我们可能会遇到这样一种情况,想找一个文件,但我不知道它在哪,怎么办,毕竟Linux的目录可真不少,很容易让人绝望的说。find这时候跳出来了,全都可以交给它。它的主要作用就是在指定范围内查找文件,格式如下:

      find  参数    查找文件范围路径     文件类型或文件名

      在/usr/bin/下查找Zip文件: find  /usr/bin  -name  zip  -print,最后终端上会打印出查找文件的绝对路径。哦,对了,上面提到了文件类型,很有必要介绍一下,Linux的核心便是一切皆文件,那么Linux的文件类型一共有几种呢?

      答案是六种,当然这可能仅仅是我所了解的,欢迎补充!一般文件类型在命令中作为参数出现:

      参数               含义                  参数                含义

         b            块设备文件               f               普通文件

         c            字符设备文件           p               命名管道

         d             目录文件                 l                符号链接

      当然find命令并非完美无缺,对于大批量搜索与对于文件所处范围并不了解时效率是极低的,而locate便是专门解决这一痛点而生的,如果你要找到系统里所有的PDF文件,那么

      locate  *.pdf

      结果在不到一秒的时间里便会直接被打印出来,我很好奇,这个命令是遍历了整个系统的目录找出匹配的文件的话,速度未免也太快了吧,实现这个程序的程序员也太牛了,但是深入了解后我发现其实不然,当然实现这个命令的人还是很牛的,但是人家是用脑子写代码,暴力搜索这个事太low了。locate实际上并没有进入目录,而是建立了一个文件名数据库,查找文件时直接进入数据库检索,确实很有想法,不蛮干很值得学习啊。我们同样是可以更新文件名数据库的,获取管理员权限,然后敲上updatedb就完事儿了。

      以上命令掌握了的话我感觉查看个文件,找个文件那就都只是洒洒水了,多多练习,你就是最帅的Linux玩家!

  • 相关阅读:
    spring boot自动配置
    servlet类与Spring Controller类的关系
    Junit中的setup和teardown方法
    dependency的scope
    mapper的namespace
    mybatis缓存
    Ehcache(05)——缓存的查询
    Ehcache(04)——设置缓存的大小
    Ehcache(03)——Ehcache中储存缓存的方式
    Ehcache(02)——ehcache.xml简介
  • 原文地址:https://www.cnblogs.com/aghx/p/12545608.html
Copyright © 2011-2022 走看看