常用命令 ---tail-cat

常用命令 ---tail-cat

常用选项

tail
tail 和 cat 是 Linux 和类 Unix 系统中两个常用的文本处理命令,分别用于查看文件的末尾内容和显示整个文件内容。以下是它们的一些常用选项:

tail 常用选项:

1. -n number 或 -number:
   显示文件末尾的指定行数。例如,tail -n 10 filename 显示文件末尾的10行。

2. -f 或 --follow[={name|descriptor}]:
   实时跟踪文件的尾部内容,随着文件增长不断输出新的内容。常用于监控日志文件,如 tail -f logfile.log。

3. -c bytes 或 --bytes=bytes:
   显示文件末尾指定的字节数。

4. -F:
   类似于 -f,但能检测文件名改变的情况(比如通过程序重命名日志文件时)。

5. -q:
   静默模式,不打印文件名前缀。

6. -v 或 --verbose:
   在输出时附加文件名。




cat
cat 常用选项:

1. -n 或 --number:
   对输出的每一行进行编号。

2. -b 或 --number-nonblank:
   对输出的非空行进行编号。

3. -s 或 --squeeze-blank:
   连续的空白行合并为一行。

4. -E 或 --show-ends:
   在每一行结尾显示 $ 符号。

5. -A 或 --show-all:
   等同于 -vT,即显示制表符为 ^I,并在行尾显示 $。

6. -e 或 --show-ends:
   同 -A 选项,但在较老的系统中可能只显示行尾 $ 符号。

7. -t 或 --show-tabs:
   显示制表符为 ^I。

8. -T 或 --show-tabs=LIST:
   与 -t 类似,但允许指定字符替代制表符。

9. file1 file2 ...:
   可以连续指定多个文件,cat 命令会依次显示这些文件的内容。

例如:

- 显示整个文件内容:cat filename
- 显示并编号文件内容:cat -n filename
- 连接多个文件并输出:cat file1.txt file2.txt > combined.txt

tail

tail命令用于输入文件中的尾部内容。tail命令默认在屏幕上显示指定文件的末尾10行。如果给定的文件不止一个,则在显示的每个文件前面加一个文件名标题。如果没有指定文件或者文件名为“-”,则读取标准输入。

注意:如果表示字节或行数的N值之前有一个”+”号,则从文件开头的第N项开始显示,而不是显示文件的最后N项。N值后面可以有后缀:b表示512,k表示1024,m表示1 048576(1M)。

语法
tail(选项)(参数)




选项
--retry:即是在tail命令启动时,文件不可访问或者文件稍后变得不可访问,都始终尝试打开文件。使用此选项时需要与选项“——follow=name”连用;
-c<N>或——bytes=<N>:输出文件尾部的N(N为整数)个字节内容;
-f<name/descriptor>或;--follow<nameldescript>:显示文件最新追加的内容。“name”表示以文件名的方式监视文件的变化。“-f”与“-fdescriptor”等效;
-F:与选项“-follow=name”和“--retry"连用时功能相同;
-n<N>或——line=<N>:输出文件的尾部N(N位数字)行内容。
--pid=<进程号>:与“-f”选项连用,当指定的进程号的进程终止后,自动退出tail命令;
-q或——quiet或——silent:当有多个文件参数时,不输出各个文件名;
-s<秒数>或——sleep-interal=<秒数>:与“-f”选项连用,指定监视文件变化时间隔的秒数;
-v或——verbose:当有多个文件参数时,总是输出各个文件名;
--help:显示指令的帮助信息;
--version:显示指令的版本信息。




参数
文件列表:指定要显示尾部内容的文件列表。

实例
tail file (显示文件file的最后10行)
tail +20 file (显示文件file的内容,从第20行至文件末尾)
tail -c 10 file (显示文件file的最后10个字符)



cat

cat命令连接文件并打印到标准输出设备上,cat经常用来显示文件的内容,类似于下的type命令。

注意:当文件较大时,文本在屏幕上迅速闪过(滚屏),用户往往看不清所显示的内容。因此,一般用more等命令分屏显示。为了控制滚屏,可以按Ctrl+S键,停止滚屏;按Ctrl+Q键可以恢复滚屏。按Ctrl+C(中断)键可以终止该命令的执行,并且返回Shell提示符状态。

语法
cat(选项)(参数)



选项
-n或-number:有1开始对所有输出的行数编号;
-b或--number-nonblank:和-n相似,只不过对于空白行不编号;
-s或--squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行;
-A:显示不可打印字符,行尾显示“$”;
-e:等价于"-vE"选项;
-t:等价于"-vT"选项;



参数
文件列表:指定要连接的文件列表。





实例
设ml和m2是当前目录下的两个文件

cat m1 (在屏幕上显示文件ml的内容)
cat m1 m2 (同时显示文件ml和m2的内容)
cat m1 m2 > file (将文件ml和m2合并后放入文件file中)


区别

tail 和 cat 都是 Linux/Unix 系统中的命令行工具,用于查看文本文件内容,但它们的主要功能和使用场景有所差异:

cat(concatenate)命令:
- 主要用于查看文件内容,特别是较小的文本文件。
- 可以连接多个文件并打印到标准输出(屏幕)或重定向到另一个文件。
- 示例用法:
  - 查看文件内容:cat filename
  - 连接并显示多个文件:cat file1.txt file2.txt
  - 创建新文件或追加内容到文件:cat > newfile.txt(之后输入内容并按 Ctrl+D 结束)或 cat file1.txt >> file2.txt







tail 命令:
- 主要用于查看文件末尾的部分内容,而不一定是整个文件。
- 提供了 -n 参数来指定显示文件末尾的行数,例如 tail -n 10 filename 会显示文件末尾的10行。
- 特别强大的功能是 -f 或 --follow 选项,可以实时追踪并显示文件新增内容,非常适合监视日志文件:tail -f logfile.log
- 示例用法:
  - 查看文件末尾10行:tail -n 10 filename
  - 实时追踪文件新增内容:tail -f logfile
  
  
  
  
  
  
  
  

总结:
- cat 用于显示整个文件或连接多个文件内容,而 tail 专门用于查看文件末尾部分内容,并支持实时追踪文件变化。
- 在处理大型日志文件或只需要关注最新数据的情况下,tail 更为高效和适用。而在需要查看文件全貌或合并文件时,cat 是首选工具。
posted @ 2024-03-22 21:02  三思博客  阅读(101)  评论(0编辑  收藏  举报