Linux下查看文件常用命令—cat,more,less,head,tail,od,file

时间:2022-11-27 16:20:29

【cat】
功能:1)显示整个文件。如: catfilename2 cat file1 file2 > file
参数详解:
-n或-number:由1开始对所有输出的行数编号,如:cat -n filename
-b或-number-nonblank:和-n相似,只不过对于空白行不编号
-s或-squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行
-v或-show-nonprinting
范例:
cat -n file1 > file2:把file1的档案内容加上行号后输入file2这个档案里
cat -b file1 file2 >> file3:把file1和file2的档案内容加上行号(空白行不加)后将内容附加到file3里
cat /dev/null > /etc/test.txt:清空/etc/test.txt档案内容
cat > filename:创建新文件

【more】
功能:以百分比的形式查看日志,类似cat,不过会以一页一页的显示方便使用者逐页阅读,按空白键(space)就往下一页显示,按b键(back)就会往回一页显示,而且还有搜寻字符串的功能(与vi相似),使用中的说明文件,请按h。退出按q。
参数详解:
-d:提示使用者,在画面下方显示[Press space to continue, ‘q’ to quit.],如果如果使用者按错键,则会显示 [Press ‘h’ for instructions.] 而不是 ‘哔’ 声 。
-s:当遇到有连续两行以上的空白行,就代换成一行的空白行。
+num:从第num行开始显示
范例:
more -s file:逐页显示file之档案内容,如有连续两行以上空白行则以一行空白行显示。
more +20 file:从第20行开始显示file之档案内容。
【less】
功能:less命令可以对文件或其他输出进行分页显示,与more命令相似。退出按q。
参数详解:
-a:在当前屏幕显示最后
-c:从顶部(从上到下)刷新屏幕,并显示文件内容。而不是通过底部滚动完成刷新;
-f:强制打开文件,二进制文件显示时,不提示警告;
-i:搜索时忽略大小写;除非搜索串中包含大写字母;
-I:搜索时忽略大小写,除非搜索串中包含小写字母;
-m:显示当前读取文件的百分比
-M:显示当前读取文件的百分比、行号及总行数;
-N:在每行前输出行号
-p pattern:搜索日志文件中含有pattern的所有日志内容;
-s:把连续多个空白行作为一个空白行显示
-Q:在终端下不响铃
扩展:
U:向上
J:向下
g:跳到第一行
G:跳到最后一行
/pattern:搜索pattern
q:退出less
!command:调用SHELL,可以运行命令;比如!ls 显示当前列当前目录下的所有文件;
【head】
功能:从文本文件的头部开始查看,head命令用于查看一个文本文件的开头部分。
参数详解:
-n 制定您想要显示文本多少行
-n number 这个参数选项必须是十进制的整数,它将决定在文件中的位置,以字节单位。
-c number 这个参数选项必须是十进制的整数,它将决定在文件中的位置,以字节为单位。
范例:
head file.txt 显示file.txt的前十行内容;
head -n 20 file.txt 显示file.txt的前二十行内容;
【tail】
功能:用于显示文本文件的末尾几行。
参数详解:
-b Number :从Number变量表示的512自己块位置开始读取制定文件。
-c Number :从Number变量表示的字节位置开始读取指定文件。
-f :tail -f 命令可用于监视另一个进程正在写入的文件的增长。
-k Number :从Number变量表示的1KB块位置开始读取制定文件。
-m Number :从Number变量表示的多字节字符位置开始读取指定文件。使用该标志提供在单字节和双字节字符代码集环境中的一致结果。
-n Number :从首行或末行位置来读取指定文件,位置由 Number 变量的符号(+ 或 - 或无)表示,并通过行号 Number 进行位移。
范例:
tail file.txt :显示文件file.txt的后十行内容。
tail -n 20 file.txt :显示文件file.txt的后二十行内容。
tail -f file.txt :显示文件file.txt的后十行内容并在文件内容增加后,自动显示新增的文件内容。
tail -n 50 -f file.txt :显示文件file.txt的后50行内容并在文件内容增加后,自动显示新增内容。
od [-A 地址进制] [-t 显示格式] 文件
选项介绍:
-A 地址进制: 按指定的进制显示地址信息;
-t 显示格式: 指定数据的显示格式;

-A指定地址进制包括:
o 八进制(系统默认值)
d 十进制
x 十六进制
n 不打印位移值

-t指定数据的显示格式,主要参数有:
c ASCII字符或反斜杠序列(如\n)
d 有符号十进制数
f 浮点数
o 八进制(系统默认值)
u 无符号十进制数
x 十六进制数

执行范例:

od -A x -t x filename (地址为16进制,数据为16进制)

01 $ cat text

02 hello world

03 od command

04 $ od -A o text #地址显示为八进制,第一列为地址

05 0000000 062550 066154 020157 067567 066162 005144 062157 061440

06 0000020 066557 060555 062156 000012

07 0000027

08 $ od -A d text #地址显示为十进制

09 0000000 062550 066154 020157 067567 066162 005144 062157 061440

10 0000016 066557 060555 062156 000012

11 0000023

12 $ od -A x text #地址显示为十六进制

13 000000 062550 066154 020157 067567 066162 005144 062157 061440

14 000010 066557 060555 062156 000012

15 000017

16 $ od -t c text

17 0000000 h e l l o w o r l d \n o d c

18 0000020 o m m a n d \n

19 0000027
file 命令的简单用法就是:
file 文件名,例如:
file data.txt
data.txt: ASCII text

就告诉我们,data.txt 是一个text (即txt) 类型的文件。
txt 文件所采用的编码是ascii编码体系。
所以 text 是文件类型;ASCII是编码体系。

又如:

file my.pdf
my.pdf: PDF document, version 1.5
“PDF document“ 告诉我们 , my.pdf 是pdf类型的文件。
版本执行的标准是:1.5

像ascii , version 1.5 这些都是与文件类型密切相关的信息。
如果需要更详细的信息,可以加参数:
如:file -i data.txt