菜鸟科技网

Unix打开文件命令有哪些?

cat (Concatenate)

cat 是最简单、最直接的命令,用于将文件内容连续地输出到标准输出(通常是你的终端屏幕)。

Unix打开文件命令有哪些?-图1
(图片来源网络,侵删)

基本语法:

cat [选项] 文件名...

常用选项:

  • -n: 对所有输出的行号进行编号。
  • -b: 只对非空行编号。
  • -A: 显示所有字符,包括不可见的字符(如空格显示为 ,制表符显示为 ,行尾显示为 ),这在调试时非常有用。

示例:

  • 查看一个文件的内容:

    Unix打开文件命令有哪些?-图2
    (图片来源网络,侵删)
    cat my_document.txt

    这会立即将 my_document.txt 的所有内容一次性显示在屏幕上,如果文件很大,内容会飞速滚动,你可能根本来不及看。

  • 查看文件并显示行号:

    cat -n my_document.txt
  • 同时查看多个文件:

    cat file1.txt file2.txt

    这会将 file1.txt 的内容和 file2.txt 的内容依次显示出来。

    Unix打开文件命令有哪些?-图3
    (图片来源网络,侵删)

适用场景:

  • 查看短小的文本文件。
  • 将多个文件合并成一个新文件(cat file1 file2 > newfile)。
  • 快速确认文件是否存在或内容是否为空。

less (推荐用于大文件)

less 是一个更强大的分页查看器,它不像 cat 那样一次性将所有内容输出,而是加载一页到屏幕,让你可以上下滚动浏览,这对于查看大文件至关重要。

基本语法:

less [选项] 文件名

操作方式(非常重要!): 进入 less 后,你无法使用常规的键盘命令,必须使用它自己的导航键:

  • 空格f: 向下翻一页。
  • b: 向上翻一页。
  • j 或 : 向下滚动一行。
  • k 或 : 向上滚动一行。
  • G: 跳转到文件末尾。
  • g1G: 跳转到文件开头。
  • 进入搜索模式,输入关键词后按回车,会跳转到第一个匹配项,按 n 查找下一个,N 查找上一个。
  • q: 退出 less,返回终端。

示例:

  • 查看一个大文件:
    less /var/log/syslog

    你可以随意上下滚动,而不会丢失内容。

适用场景:

  • 查看任何长文件,特别是日志文件、配置文件等。
  • 需要在文件内进行搜索时。
  • 需要前后对照查看内容时。

more

moreless 的前身,功能比 less 少,它也可以分页显示,但只能向前翻页,不能向后,它也没有 less 强大的搜索功能。

基本语法:

more [选项] 文件名

操作方式:

  • 空格f: 向下翻一页。
  • Enter: 向下滚动一行。
  • qCtrl+C: 退出 more
  • 搜索(功能较弱)。

适用场景:

  • 在非常古老的 Unix 系统上(现代系统 less 已完全取代它)。
  • 当你只需要向前浏览,不需要回溯时。

现在请直接使用 less,它比 more 更好用。


head

head 命令用于显示文件的开头部分(默认是前 10 行)。

基本语法:

head [选项] 文件名...

常用选项:

  • -n 行数: 指定要显示的行数。
    • head -n 20 my_file.txt: 显示文件前 20 行。
    • 一个常见的简写是 head -20 my_file.txt(省略了 n)。

示例:

  • 查看文件的前 10 行(默认):

    head my_document.txt
  • 查看文件的前 5 行:

    head -n 5 my_document.txt

适用场景:

  • 快速查看文件的开头,了解文件格式或内容概要。
  • 查看日志文件最新的错误信息(虽然 tail 更适合这个)。

tail

tail 命令用于显示文件的结尾部分(默认是最后 10 行),这是查看日志文件时最常用的命令之一。

基本语法:

tail [选项] 文件名...

常用选项:

  • -n 行数: 指定要显示的行数。
    • tail -n 20 my_file.txt: 显示文件最后 20 行。
    • 简写:tail -20 my_file.txt
  • -f (follow): 这是一个非常强大的选项! 它会监视文件,并实时显示文件末尾新增的内容,当你需要持续跟踪日志输出时,这个功能无价。
  • --retry: 如果文件一开始不存在,tail -f 会报错并退出,加上 --retry,它会持续尝试打开文件,直到文件出现。

示例:

  • 查看文件的最后 10 行(默认):

    tail my_log_file.log
  • 查看文件的最后 50 行:

    tail -n 50 my_log_file.log
  • 实时追踪日志文件(系统管理员必备技能):

    tail -f /var/log/nginx/access.log

    每当有新的访问日志记录时,它们会立刻显示在你的终端上,按 Ctrl+C 停止追踪。

适用场景:

  • 查看日志文件的最新记录。
  • 实时监控程序的输出。
  • 查看一个不断增长的文件。

总结与选择建议

命令 主要功能 优点 缺点 最佳使用场景
cat 一次性显示整个文件 简单、快速 文件大时内容会飞速滚过 查看短小文件、合并文件
less 分页浏览文件 功能强大、可前后翻页、可搜索、不丢失内容 需要学习基本操作 查看任何长文件(首选)
more 向前分页浏览文件 cat 好处理大文件 不能向后翻页,功能有限 几乎被 less 取代,基本不用
head 显示文件开头部分 快速、精确控制行数 只能看开头 查看文件前几行,了解格式
tail 显示文件结尾部分 快速、精确控制行数 -f 选项可实时追踪文件 查看日志最新记录、实时监控文件变化

给你的建议:

  • 日常查看文件内容: 优先使用 less,它是最通用、最安全的命令。
  • 只关心开头几行: 使用 head -n N
  • 只关心结尾几行,特别是日志: 使用 tail -n N
  • 需要实时跟踪日志: 使用 tail -f
分享:
扫描分享到社交APP
上一篇
下一篇