你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

简单介绍一下Linux文本查看的命令

[复制链接]
gaosmile 发布时间:2021-1-25 10:21
Linux常用命令中,除了cat还有很多其他用于文本查看的命令。本文将简单介绍一下这些文本查看的命令。
全文本显示--cat
cat可能是常用的一个文本查看命令了,使用方法也很简单:
cat file  #全文本显示在终端, G* q) I% |" b1 [
cat -n file #显示全文本,并显示行号
" u# L1 [0 j7 b; o1 V1 p/ |
另外,cat也可用作合并文件:
cat file1 file2 >file3" r! ]$ K1 N  v
该命令将file1 file2的内容合并写到file3中。
倒序显示全文本--tac
tac是cat倒过来的写法,tac以行为单位,倒序显示全文本内容。
tac file2 o( O" P2 C2 O" d/ \* z
分页显示文本--more
cat将整个文本内容输出到终端。那么也就带来一个问题,如果文本内容较多,前面的内容查看将十分不便。而more命令可以分页显示。
3 R1 \2 F6 O$ \9 i- V: u9 r1.显示内容
more file2 ~# x, d9 H- O3 x4 g! i9 |
之后,就可以使用按键来查看文本。常用按键如下:
回车    #向下n行,默认为1行
7 a! S" C* y5 k1 T空格    #向下滚动一屏' C8 F% o7 \7 M" Q. G- ^
b      #向上滚动一屏
/ P" O( Q7 P  Q* g3 q- ?& r# F=      #输出当前行号, f2 O' N, E7 }" L- H" [
:f     #输出当前文件名和当前行号7 d2 _- S0 E0 ?5 ~0 v  C3 \9 c
q      #退出! H; W: K( O0 y0 |
2.从指定行开始显示
more +10 file
% Y( e7 I5 r/ Y3 o
该命令从第10行开始显示file的内容。
3.从匹配的字符串行开始显示
more +/string file
2 x: V/ A0 g& Y! @- M
该命令从有string的行的前两行开始file的内容。
任意浏览搜索文本--less
less命令的基本功能和more没有太大差别,但是less命令可以向前浏览文件,而more只能向后浏览文件,同时less还拥有更多的搜索功能。
, o+ U3 ?( l7 M8 s, v常见使用方法:
less file     #浏览file  s  S5 [6 R7 p1 \
less -N file  #浏览file,并且显示每行的行号% n5 x8 S# n7 G& q
less -m file  #浏览file,并显示百分比$ r) ^# ]2 U" ?' x; s
常用按键如下:
f        #向前滚动一屏0 o; z7 a, H. P  o) F
b        #向后滚动一屏
7 [( Q! B7 w+ b8 x4 E% V回车或j   #向前移动一行
$ {- ^# w6 n& S8 Q1 pk        #向后移动一行; i' D7 W6 }  o( I, [
G        #移动到最后一行
9 }( Q; a. j8 b1 x+ {g        #移动到第一行6 z1 E1 H3 E8 R: M& J
/string  #向下搜索string,n查看下一个,N查看上一个结果
& \0 e+ z' c, q9 q' c/ f?string #向上搜索string,n查看下一个,N查看上一个结果
" B, n# C8 l+ i+ k1 [q    #退出
2 l# c  A  H- h/ T
相比more命令,less命令能够搜索匹配需要的字符串。: q/ e. h+ L% T& R6 z
另外,less还能在多个文件间切换浏览:
less file1 file2 file3
1 j6 r, e' I2 _( k" m( }: u:n     #切换到下一个文件5 L% j5 U2 }& L+ s* M) T  \. l6 W( R
:p     #切换到上一个文件/ D  H) L4 [" k, v. D+ P
:x     #切换到第一个文件! t5 r- {' i- ?+ Z" l+ N
:d     #从当前列表移除文件
3 [4 n0 S1 n- @2 ^9 \0 P
显示文本头部内容--head
head命令的作用就像它的名字一样,用于显示文件的开头部分文本。
- W6 B+ |7 k8 \常见用法如下:
head -n 100 file #显示file的前100行
$ G7 V; V( ]; N/ K5 T+ Ohead -n -100 file #显示file的除最后100行以外的内容。  ; e" G( D: l& X  ~0 ^8 g7 _2 n4 s
显示文本尾部内容--tail
和head命令类似,只不过tail命令用于读取文本尾部部分内容:
tail -100 file  #显示file最后100行内容+ X4 v3 w1 q. ]
tail -n +100 file  #从第100行开始显示file内容   + R' Q3 |6 H! t7 f) z. l  ~
tail还有一个比较实用的用法,用于实时文本更新内容。比如说,有一个日志文件正在写,并且实时在更新,就可以用命令:
tail -f logFile2 `6 ?7 s# s- W8 @, r
对于更新的日志内容,会实时打印到终端上,方面查看实时日志。
指定顺序显示文本--sort
sort可用于对文本进行排序并显示,默认为字典升序。1 O( k' [# v9 \3 h
例如有一段文本test.txt内容如下:
vim
5 }* o5 `( Y& v- ~count( t8 y: W0 o: R! O
fail7 ]: y' ], l! u& d# I
help' [: B+ Q/ t" H$ c5 r1 T4 B
help2 W- _" t3 }, c& `
dead
3 w; S" @% a5 Oapple. f  V# f3 T! k* \, b$ a* g
1.升序显示文本
, k3 p' ^3 W6 e使用命令:
sort test.txt+ V0 J" g# A' n* q0 u: E
apple& q/ |" K" F  z% g9 f
count4 [9 ?8 \# F" A( q$ g" g/ g
dead
) X& T% @7 `3 s  n6 d6 V: Afail
! G! v# l0 U+ g2 _- l3 `# v+ nhelp
! I3 m: @6 N7 q7 S3 ^7 {; H  Yhelp
- R& x, U7 o0 \4 {vim
0 z6 L2 ?: C7 R- k- U
文本内容将以升序显示。
8 J5 L4 R3 o$ c8 {: S2.降序显示3 d  F# c( E; W
相关参数-r:
sort -r test.txt
. _( {" A. n& ?% E- Ovim
' E# U2 {. L3 Q' G9 s# x& l  qhelp
8 W4 a7 W2 g( g3 nhelp* j7 p; I: H) q6 m" e9 H! l
fail+ ~7 N" q% d5 x5 ~6 \
dead
, b3 k2 g6 P3 S5 y5 {1 B' W' pcount" u) s3 x9 d, Q/ i6 Q1 k3 @
apple2 N1 H7 t, M% C4 N, l" M0 _3 c
3.去掉重复的行5 x4 k( C% k1 g- r
我们可以观察到,前面的help有两行,如果我们不想看到重复的行呢?可以使用参数-u,例如:
sort -u test.txt' x% g4 B9 |5 D4 `' p
apple( W: v, B' U& W  n- T+ L3 e; i
count
1 a  E/ F0 v# n4 A( d* u( l, {dead0 q+ N- J3 A% \9 D  Q
fail
; t+ b7 f% \$ M% T, `help9 k9 S' l  p7 b5 l( E7 B9 s
vim5 s4 c$ e  X  ]' I
可以看到help行不再重复显示。
4.按照数字排序
1 z& Y' A$ `8 a- Q( D如果按照字典排序,10将会在2的前面,因此我们需要按照数字大小排序:
sort -n file3 V0 n- {# }! Y) y
由于本文篇幅有限,不在本文展开介绍,后续将单独介绍sort命令的妙用。
过滤显示文本--sed
sed是一个流编辑器,功能非常强大,但本文只介绍文本查看相关功能。
" x8 y' O1 [' h! s& B: V1.显示匹配关键字行
- q  M" d6 f$ N6 \) z有时候查看日志,可能只需要查看包含某些关键字的日志行:
sed -n "/string/p" logFile6 ]; ?! [' J" |2 |) [
上面的命令表示打印包含string的行。
2.打印指定行
sed -n "1,5p" logFile #打印第1到5行
! h0 E  @/ {" J6 v* n8 W' ysed -n '3,5{=;p}' logFile #打印3到5行,并且打印行号
; D8 Z( e4 c! c% O+ o% Ased -n "10p" logFIle  #打印第10行
去重显示文本--uniq
常见用法如下:
uniq file  #去除重复的行% h) i/ _9 }5 h6 K8 d1 ], h
uniq -c file #去除重复的行,并显示重复次数/ e; ~' C( u+ F1 Q- D
uniq -d file #只显示重复的行
, Z/ \; U) a, d9 J9 N7 t0 t. ^7 ^% ~uniq -u file #只显示出现一次的行
4 |$ @+ t0 l# p0 c: a( [  Buniq -i file #忽略大小写,去除重复的行; i/ a0 c! K  r6 b
uniqe -w 10 file #认为前10个字符相同,即为重复$ M+ A% b& K+ d& p( y
文本编辑查看--vi
查看文件也很简单:
vi file
- ]( l7 [/ C$ D9 G% b0 o
而从vi发展出来的被誉为编辑器之神的vim有着更加强大的功能,这里不作展开。
玩游戏练习Vim  :https://vim-adventures.com/
总结
文本查看命令较多,可根据使用场景不同选择使用不同的命令。有些命令的用法较多,本文仅介绍经典用法,更多用法可使用man命令查看。很多命令可以结合其他命令使用,例如ps -elf|more,分页显示进程信息等等,更多用法可自行探索。

. m1 w$ Y& n7 [# s1 Y0 O" v, u
赞 收藏 评论0 发布时间:2021-1-25 10:21

举报

0个回答

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版