Linux基本命令(三)目录与文件操作--文件的查看cat、more、less、head、tail、统计wc及检索grep

前言

对于一个文本格式的配置文件,可以有不同的查看方式来获知文件内容。如直接显示整个文件内容、分页查看文件内容,或者只查看文件开头或末尾的部分内容,以下具体讲解如何使用命令实现这些操作吧。


一、查看文件内容

1、cat命令——查看文件内容

1.1基本使用格式

cat 【选项】 文件名... 

1.2 使用详解举例

cat /proc/meminfo                 //查看内存容量
cat /etc/centos-release         // 查看发行版的版本
getconf LONG_BIT              //查看系统位数
uname -r ;/proc/version     //查看内核的版本(2种方式)
uname -a                   //显示系统名、节点名称、操作系统的发行版号、操作系统版本、运行系统的机器 ID 号
cat /etc/hosts           //域名解析文件
tac /etc/hosts        //反过来显示域名解析文件
cat -n  //查看显示行号;当一个文本文件很长的时候可以查看现在哪一行,然后就去哪一行改正

在这里插入图片描述
在这里插入图片描述

2、more和less命令——分页查看文件内容

使用cat命令可以非常简单地直接显示出整个文件的内容,但是当文件中的内容较多是,很可能只能看到最后一部分信息,而文件前面的大部分内容却来不及看到。而more和less命令通过采用全屏的方式分页显示文件,便于我们从头到尾仔细地阅读文件内容。

2.1 more 文件:查看文件内容,自动显示百分比
空格:翻一页;b:往上翻一页;enter:往下翻一行,q:退出并返回原来的命令环境。
在这里插入图片描述

2.2 less 文件:查看文件内容; 由于more不能后退,就取more的反义词less加上后退功能查询方式。
Page Up:向上翻页;Page Down:向下翻页;“/”键查找内容;“n”显示下一个内容;“N”显示上一个内容。

less ls.txt     //查询文本文件ls
less -N       // 显示行号
less -m     //显示百分比
less -mN  //显示行号和百分比

总结下more 和 less的区别:
less可以按键盘上下方向键显示上下内容,more不能通过上下方向键控制显示
less不必读整个文件,加载速度会比more更快
less退出后shell不会留下刚显示的内容,而more退出后会在shell上留下刚显示的内容

3、head和tail命令——开头或末尾的部分内容

head和tail是一对作用相反的命令,具体看下文。

3.1 - head命令——查看文件开头的一部分内容(默认前10行)**
3.1.1 基本使用格式:

 head -n 文件名...

3.1.2 使用详解举例:

head -n 3head -3   //显示前三行

在这里插入图片描述

3.2 - tail命令——查看文件结尾的少部分内容(默认后10行)
3.2.1 基本使用格式:

tail -n 文件名 ...

3.2.2 常用命令选项

-n  // 查看文件最后n行
-f(follow 追踪)  //时时查看日志文件;查看文件最新更新的文件

3.2.3 使用详解举例:

tail -n 3                //显示文件的后三行
tail -n +4 test         //显示test文件从第四行显示到底(这里不存在十行的概念)

tail 3 test          //显示文件3和文件test

二、统计和检索文件内容

1、wc命令——统计文件内容中的单词数量(word count)、行数等信息

1.1 基本使用格式:

wc 【选项】... 目标文件...

1.2 常用命令选项

-l   // 统计行数
-w // 统计单词个数
-c // 统计字节数

1.3 使用详解举例:

wc anaconda-ks.cfg //无选项时,显示全部:同居行数,统计单词个数、统计字节数

在这里插入图片描述

2、grep命令——检索、过滤文件内容

2.1 基本使用格式:

grep 【选项】... 查找条件 目标文件
grep “liuchun” test  //搜索test文件里面包含liuchun的行

2.2 常用命令选项:

-i  //查找时忽略大小写
-v  //反转查找,输出与查找条件不相符的行
-c  //显示查找文件的个数,只显示匹配到多少行
-w  //选项默认匹配一个单词
-n  //显示查找内容的行号
-o  //只显示匹配到的字符串
-E  //正则表达式;与管道符“|”结合,管道符“|”是或的意思
“.” //代表任意一个字符 //grep “use.”,代表包含use1/use2之类的
“.*” //代表包含前面的字符以及后面字符//grep “use.*”,代表包含use或者use2/use1 都可以

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.3 查找条件的设置

  • 要查找的字符串以双引号括起来
  • “^…”表示以…开头;“…$”表示以…结尾
  • “^$”表示空行
  • “*” 匹配前面的字符任意次,包括0次 (贪婪模式:尽可能长的匹配 )
  • [] 方括号代表或的意思
  • 使用详解举例
grep “^l” test  // 检索文件test内以l打头的文件
grep “g$” test  // 检索文件test内以g结尾的文件
grep "liu*" test  //检索文件test内包含l/li/liu的文件
grep "l*" test    //检索文件test内包含l/文件内所有的的文件
grep “1[23]3test //检索文件test内包含123/133文件

在这里插入图片描述
在这里插入图片描述

三、Linux文件的三个特殊符号

1、管道符号“|”

管道符号“|”是指前面输出的命令作为后面的处理对象。
与cat命令结合

cat ls.txt | more //查看文件ls的结果暂时保存在管道里,用more执行管道内的结果
cat ls.txt | less //查看文件ls的结果暂时保存在管道里,用less执行管道内的结果
ls -R /etc |more //递归查看etc内的所有目录,(因目录过多)存放在管道内用more命令执行

与head、tail 命令结合

cat -n ls.txt | head  //查看ls.txt文件的内容显示的行号,由head处理
cat -n test | head -4 //查看文件test前四行并且显示序列
head -4 test | cat -n | head -2 //查看文件test前四行内的序号,显示前两个
cat test | head | tail -n +6 // 查看文件test显示6-10行
cat test | head | tail -n -5 | head -2 //查看文件test67行
head -n 3 testtail -n -5 test //只看前三行和后五行 分号“;”可以同时执行多个命令

与wc结合

ll / | wc  //查看根的所有文件的行数
ps -aux | wc -l //查看系统的进程数
cat /etc/passwd | wc -l  //查看系统有多少用户
head test | wc -l:统计文件test的行数
echo:所见即所得,后面跟着什么就打什么,后面跟着内容

在这里插入图片描述
与grep结合

grep -E “^root|bash$” /etc/passwd //这里的“|”是或的意思
egrep “^root|bash$” /etc/passwd //这里的“|”也是或的意思

在这里插入图片描述

2、重定向符号“>”

“>”:输出重定向;把前面输出的东西输入到后边的文件中,会清除文件原有内容
“>>”:追加输出重定向;把前面输出的东西追加到后边的文件尾部,不会清除文件原有内容
在这里插入图片描述
在这里插入图片描述

3、转义字符“\”

  • 在单引号内使用反斜杠,反斜杠不会被解析,保持原样输出。
  • 在双引号内使用反斜杠,主要用于美元符号($),反单引号(``),双引号(""),单引号(’’)的输出,以及转义符的解析,其中单引号的输出中,反斜杠和双引号不能同时使用。
  • 不使用单引号和双引号(如:echo \,输出为空),则反斜杠可以被看做自动忽略
  • 举例说明:
    问:用grep匹配有 的 行 / 以 的行/以 /结尾的行:
grep[$$]test
grep "\\$" test

在这里插入图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值