上一篇的博客对于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玩家!

Linux命令进阶篇-文件查看与查找的更多相关文章

  1. Linux命令进阶篇之一

    利用file命令查看那文件的类型 cd /etc 这里面的文件 命令:file 语法:file [-bLvz] 文件 解释:-b:显示结果,但是不显示文件名称 -L:直接显示符号链接所指向的文件的类型 ...

  2. linux 命令进阶篇之二

    一.预备知识 选取init的进程. cat :由第一行开始显示文件内容 tac:由最后一行开始显示,有没有发现和cat是反过来写的 more:一页一页的显示内容 less:与more相似,但是可以往前 ...

  3. Linux命令进阶篇之二

    实验内容: cat :由第一行开始显示文件内容       tac:由最后一行开始显示,有没有发现和cat是反过来写的       more:一页一页的显示内容       less:与more相似, ...

  4. 分布式进阶(十) linux命令行下载文件以及常用工具:wget、Prozilla、MyGet、Linuxdown、Curl、Axel

    linux命令行下载文件以及常用工具:wget.Prozilla.MyGet.Linuxdown.Curl.Axel 本文介绍常用的几种命令行式的下载工具:wget.Prozilla.MyGet.Li ...

  5. Linux命令-自动挂载文件/etc/fstab功能详解

    Linux命令-自动挂载文件etcfstab功能详解 一./etc/fstab文件的作用 磁盘被手动挂载之后都必须把挂载信息写入/etc/fstab这个文件中,否则下次开机启动时仍然需要重新挂载. 系 ...

  6. 【转载】Linux命令-自动挂载文件/etc/fstab功能详解[转]

    博客园 首页 新随笔 联系 订阅 管理 随笔 - 322  文章 - 0  评论 - 19 Linux命令-自动挂载文件/etc/fstab功能详解[转]     一./etc/fstab文件的作用 ...

  7. Linux 命令安装bin文件

    Linux 命令安装bin文件 安装命令: //1,增加文件的可执行权限 chmod a+x jdk-6u30-linux-x64.bin //2,程序即安装在执行命令的文件夹下 ./jdk-6u30 ...

  8. Linux 命令集合之进程查看命令-软件安装命令-文件查找命令-主机修改命令

    1.dpkg 的使用 dpkg -s ssh 查看是否按装了ssh软件 dpkg -L ssh 查看ssh安装的关联目录结构和安装位置 dpkg -i vim.deb 本地离线安装vim编辑器 apt ...

  9. Linux文件查看与查找命令

    cat  查看一个文件 -E: 显示行结束符$ -n: 对显示出的每一行进行编号 -A:显示所有控制符 -b:非空行编号 -s:压缩连续的空行成一行 -T:显示制表符 常用:cat -An /etc/ ...

随机推荐

  1. Typescript - 联合类型

    原文:TypeScript基本知识点整理 零.序言 联合类型表示一个变量值可以是几种类型之一,我们可以使用 “|” 来分割每个类型: 联合类型的变量在被赋值时,会根据类型推断的规则推断出一个类型: 如 ...

  2. Spring Boot 之 Redis详解

    Redis是目前业界使用最广泛的内存数据存储. Redis支持丰富的数据结构,同时支持数据持久化. Redis还提供一些类数据库的特性,比如事务,HA,主从库. REmote DIctionary S ...

  3. Json格式化的实现(Jackson、Gson)

    一.第一种(Jackson) 需要用到的jar包: https://pan.baidu.com/s/1wrkUwEoKpmqgmYPQSN-iZg package util; import com.f ...

  4. 红杉资本的Dropbox上市,国内哪些产品会跟着受益?

    ​ ​每一个估值达到10亿美元以上的互联网.科技独角兽企业,都将上市当做"终极荣光".但事实上,上市只是这些独角兽企业开启全新时代的开端而已.很多气势汹汹且看似前景一片光明的独角兽 ...

  5. Algorithms第3章及少量习题

    第三章的主要思想就是DFS.讲了图上的DFS操作,然后讲了各种应用.这章默认图都是用邻接矩阵存的. procedure explore(G, v) Input: G = (V, E) is a gra ...

  6. Leetcode 063 不同路径二

    一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为"Start" ). 机器人每次只能向下或者向右移动一步.机器人试图达到网格的右下角(在下图中标记为" ...

  7. python Post 登录 cookies 和session

    def post_name(): print('\npost name') # http://pythonscraping.com/pages/files/form.html data = {'fir ...

  8. 【转】PHP中被忽略的性能优化利器:生成器.md

      PHP  如果是做Python或者其他语言的小伙伴,对于生成器应该不陌生.但很多PHP开发者或许都不知道生成器这个功能,可能是因为生成器是PHP 5.5.0才引入的功能,也可以是生成器作用不是很明 ...

  9. 码海拾遗:Linux常用命令(一)

    一.Linux系统安装 系统安装可以分两类:实体机安装Linux,虚拟机(常用虚拟机软件有两种:VMware和VirtualBox)安装Linux. 安装过程网上有很多教程,这里就不赘述了. 二.常用 ...

  10. Hihocoder1456 Rikka with Lattice

    众所周知,萌萌哒六花不擅长数学,所以勇太给了她一些数学问题做练习,其中有一道是这样的:勇太有一个$n times m$的点阵,他想要从这$n times m$个点中选出三个点 ${A,B,C}$,满足 ...