点击返回 自学Linux命令行与Shell脚本之路

3.6-文件查看命令file cat more less tail head

1.参看文件类型file

该命令用来识别文件类型,也可用来辨别一些文件的编码格式。它是通过查看文件的头部信息来获取文件类型,而不是像Windows通过扩展名来确定文件类型的。

  1. file [-bcLvz][-f <名称文件>][-m <魔法数字文件>...][文件或目录...]
  • -b  列出辨识结果时,不显示文件名称。
  • -c  详细显示指令执行过程,便于排错或分析程序执行的情形。
  • -f<名称文件>  指定名称文件,其内容有一个或多个文件名称时,让file依序辨识这些文件,格式为每列一个文件名称。
  • -L  直接显示符号连接所指向的文件的类别。
  • -m<魔法数字文件>  指定魔法数字文件。
  • -v  显示版本信息。
  • -z  尝试去解读压缩文件的内容。
  • [文件或目录...] 要确定类型的文件列表,多个文件之间使用空格分开,可以使用shell通配符匹配多个文件。
  1.  

2.参看整个文件

1.cat命令 一次显示整个文件,如果文件比较大,使用不是很方便; 一旦运行无法控制后面的操作。

2.more命令  显示文本内容时候,显示每页数据后暂停,此时可按空格健继续显示下一页数据,或按Q键停止显示。 只支持文本文件的基本移动。

3.less命令也可以分页显示文件,和more命令的区别就在于它支持上下键卷动屏幕,当结束浏览时,只要在less命令的提示符“: ”下按Q键即可。

        多数情况下more和less命令会配合管道符来分页输出需要在屏幕上显示的内容。

2.1 cat命令

cat命令是linux下的一个文本输出命令,通常是用于观看某个文件的内容的;
cat主要有三大功能:

  • 1.一次显示整个文件。cat   filename
  • 2.从键盘创建一个文件。cat  >  filename  只能创建新文件,不能编辑已有文件.
  • 3.将几个文件合并为一个文件。$cat   file1   file2  > file

cat [-AbeEnstTuv] [--help] [--version] fileName

  • -n 或 –number 由 1 开始对所有输出的行数编号
  • -b 或 –number-nonblank 和 -n 相似,只不过对于空白行不编号
  • -s 或 –squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
  • -v 或 –show-nonprinting

举例1  查看文件,一次显示所有内容, -n 加行号, -b空白行不编号。

举例2 创建文件
在使用 "cat > filename.txt" 创建文件时,可采用下面步骤:

  • 键入cat > filename.txt 后回车
  • 录入文本内容;
  • 键入回车;
  • 在键盘上按下Ctrl+D (或者键入Control-D)。

举例3  cat 创建一个新文件,将其合并

2.2 more命令

more (more) 该命令一次显示一屏文本,满屏后停下来,并且在屏幕的底部出现一个提示信息,给出至今己显示的该文件的百分比,方便逐页阅读(file perusal filter for crt viewing) 。more名单中内置了若干快捷键

命令格式:

more [-dlfpcsu ] [-num ] [+/ pattern] [+ linenum] [file ... ]

命令功能:

more命令和cat的功能一样都是查看文件里的内容,但有所不同的是more可以按页来查看文件的内容,还支持直接跳转行等功能。

命令参数:

  • +n      从笫n行开始显示
  • -n       定义屏幕大小为n行
  • +/pattern 在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示
  • -c       从顶部清屏,然后显示
  • -d       提示“Press space to continue,’q’ to quit(按空格键继续,按q键退出)”,禁用响铃功能
  • -l        忽略Ctrl+l(换页)字符
  • -p       通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似
  • -s       把连续的多个空行显示为一行
  • -u       把文件内容中的下画线去掉

常用操作命令

  • Enter    向下n行,需要定义。默认为1行
  • Ctrl+F   向下滚动一屏
  • 空格键  向下滚动一屏
  • Ctrl+B  返回上一屏
  • =       输出当前行的行号
  • :f     输出文件名和当前行的行号
  • V      调用vi编辑器
  • !命令   调用Shell,并执行命令
  • q       退出more

举例   more 分页显示,含有百分比 , +2 从第二行开始显示,-2定义屏幕大小为2行

2.3 less命令

less命令式more命令的升级

  • -b<缓冲区大小> 设置缓冲区的大小
  • -e 当文件显示结束后,自动离开
  • -f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
  • -g 只标志最后搜索的关键词
  • -i 忽略搜索时的大小写
  • -m 显示类似more命令的百分比
  • -N 显示每行的行号
  • -o<文件名> 将less 输出的内容在指定文件中保存起来
  • -Q 不使用警告音
  • -s 显示连续空行为一行
  • -S 行过长时间将超出部分舍弃
  • -x<数字> 将“tab”键显示为规定的数字空格

命令内部操作

2.3.1 按键功能如下:

  • b 向后翻一页
  • d 向后翻半页
  • h 显示帮助界面
  • Q 退出less 命令
  • u 向前滚动半页
  • y 向前滚动一行
  • 空格键 滚动一页
  • 回车键 滚动一行

1) 向前搜索

  • / : 使用一个模式进行搜索,并定位到下一个匹配的文本
  • n : 向前查找下一个匹配的文本
  • N : 向后查找前一个匹配的文本

2) 向后搜索

  • ? : 使用模式进行搜索,并定位到前一个匹配的文本
  • n : 向后查找下一个匹配的文本
  • N : 向前查找前一个匹配的文本

2.3.2 全屏导航

  • ctrl + F :向前移动一屏
  • ctrl + B :向后移动一屏
  • ctrl + D :向前移动半屏
  • ctrl + U :向后移动半屏

2.3.4  单行导航

  • j : 向前移动一行
  • k : 向后移动一行

2.3.5 其它导航

  • G : 移动到最后一行
  • g : 移动到第一行
  • q / ZZ : 退出 less 命令

2.3.6 编辑文件

  • v : 进入编辑模式,使用配置的编辑器编辑当前文件

2.3.7 标记导航

当使用 less 查看大文件时,可以在任何一个位置作标记,可以通过命令导航到标有特定标记的文本位置。

  • ma : 使用 a 标记文本的当前位置
  • 'a : 导航到标记 a 处

2.3.8  浏览多个文件

方式一,传递多个参数给 less,就能浏览多个文件。

less file1 file2

方式二,正在浏览一个文件时,使用 :e 打开另一个文件。

less file1
:e file2

当打开多个文件时,使用如下命令在多个文件之间切换

:n - 浏览下一个文件
:p - 浏览前一个文件

3.参看部分文件

3.1 tail 命令

tail [ -f ] [ -c Number | -n Number | -m Number | -b Number | -k Number ] [ File ]
参数解释:

  • -f 该参数用于监视File文件增长。
  • -c Number 从 Number 字节位置读取指定文件
  • -n Number 从 Number 行位置读取指定文件。
  • -m Number 从 Number 多字节字符位置读取指定文件,比方你的文件假设包括中文字,假设指定-c参数,可能导致截断,但使用-m则会避免该问题。
  • -b Number 从 Number 表示的512字节块位置读取指定文件。
  • -k Number 从 Number 表示的1KB块位置读取指定文件。

 tail file   默认显示文件后10行
 tail -3 file  显示文件后3行 

3.2 head命令

head 与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,tail 是看档案的结尾,而head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。

head [参数]... [文件]...  

  • -q 隐藏文件名
  • -v 显示文件名
  • -c<字节> 显示字节数
  • -n<行数> 显示的行数

自学Linux Shell3.6-文件查看命令file cat more less tail head的更多相关文章

  1. 自学Linux Shell3.2-切换目录命令cd

    点击返回 自学Linux命令行与Shell脚本之路 3.2-切换目录命令cd 当登录系统并获得shell命令提示符后,你通常位于自己的主目录中. 使用pwd命令验证: pwd命令以绝对路径的方式显示用 ...

  2. 自学Linux Shell3.4-文件处理命令touch cp mv rm

    点击返回 自学Linux命令行与Shell脚本之路 3.4-文件处理命令touch cp mv rm 1. touch命令 一是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将 ...

  3. 自学Linux Shell3.5-目录处理命令mkdir rmdir

    点击返回 自学Linux命令行与Shell脚本之路 3.5-目录处理命令mkdir rmdir 1. mkdir命令 创建一个或多个新的目录. mkdir 命令创建由 Directory 参数指定的一 ...

  4. linux中普通的文件查看操作(cat、more、less、head、tail)

    cat:基本是最常用的查看文件内容的linux命令. more 也是用来查看一个文件的内容.当文件内容太多,一屏幕不能占下,而你用cat肯定是看不前面的内容的,那么使用more就可以解决这个问题了.当 ...

  5. linux笔记:文件处理命令touch,cat,more,less,head,tail

    命令名称:touch功能:新建文件命令所在目录:/bin/touch用法:touch 文件名 命令名称:cat功能:显示文件内容命令所在目录:/bin/cat用法:cat [-n] 文件名参数:-n ...

  6. linux目录管理、时钟管理、文件查看命令

    inux的两种时钟: 系统时钟:由Linux内核通过CPU的工作频率进行的计时: 硬件时钟: hwclock: 显示硬件时钟 -s, --hctosys -w, --systohc cal:日历 目录 ...

  7. [转帖]Linux 硬件和系统配置查看命令小结

    https://blog.csdn.net/strongwangjiawei/article/details/8208825 转帖了不少 发现自己记住的还是不多.. Linux 硬件和系统配置查看命令 ...

  8. Linux kail安装及查看命令

    Linux kail安装及查看命令  apt-get update                          //更新源 apt-get install package             ...

  9. [svc]linux中的文件描述符(file descriptor)和文件

    linux中的文件描述符(file descriptor)和文件 linux为了实现一切皆文件的设计哲学,不仅将数据抽象成了文件,也将一切操作和资源抽象成了文件,比如说硬件设备,socket,磁盘,进 ...

随机推荐

  1. Luogu3877 TJOI2010 打扫房间 二分图、网络流

    传送门 真是菜死了模板题都不会-- 首先\(30 \times 30\)并不能插头DP,但是范围仍然很小所以考虑网络流. 注意每个点都要包含在一个回路中,那么每一个点的度数都必须为\(2\),也就是说 ...

  2. es5中for...in 和es6中 for..of遍历

    //定义一个数组 var arr=['A','B','C']; //定义一个对象 var obj={name:'张三',age:20} // for..in 遍历数组 得到索引 for(var x i ...

  3. webpack 构建 node_modules 中公司内部组件

    构建 node_modules 中特定的组件 { test:/\.js$/, exclude: /node_modules\/(?!(zt-)\/).*/, use:[ { loader:" ...

  4. 2019 The 19th Zhejiang University Programming Contest

    感想: 今天三个人的状态比昨天计院校赛的状态要好很多,然而三个人都慢热体质导致签到题wa了很多发.最后虽然跟大家题数一样(6题),然而输在罚时. 只能说,水题还是刷得少,看到签到都没灵感实在不应该. ...

  5. A2dp初始化流程源码分析

    蓝牙启动的时候,会涉及到各个profile 的启动.这篇文章分析一下,蓝牙中a2dp profile的初始化流程. 我们从AdapterState.java中对于USER_TURN_ON 消息的处理说 ...

  6. nodejs-日志组件log4js的使用方法

    log4js是在nodejs一个非常好用的日志组件,但是今天在使用的时候从网上查看的代码并不能运行(http://www.cnblogs.com/atp-sir/p/7070050.html),于是查 ...

  7. 初识 tk.mybatis.mapper 通用mapper

    在博客园发表Mybatis Dynamic Query后,一位园友问我知不知道通用mapper,仔细去找了一下,还真的有啊,比较好的就是abel533写的tk.mybatis.mapper. 本次例子 ...

  8. host大法之GitHub上不去

    dns解析慢,github上不去,慢 修改host. windows下路径为:C:\Windows\System32\drivers\etc\hosts Linux下路径:/etc/hosts 加入: ...

  9. Java多线程的使用以及原理

    Java有两种方式实现多线程. 第一种——继承Thread类,并重写run方法 步骤: 定义类继承Thread类: 重写子类的run方法,将线程需要执行的代码写在run方法中: 创建子类的对象,则创建 ...

  10. Week 3 结对编程

    Group: 杜正远 潘礼鹏 结对编程: 优点: 集体荣誉感.你们已经是一个集体了,一定得为对方着想负责. 1.看对方的代码,彼此会互相学习到一些奇妙的方法. 2.结对编程能把两个事情分开,降低复杂度 ...