首页 > 系统相关 >Linux 文件内容查看编辑

Linux 文件内容查看编辑

时间:2024-07-31 09:55:59浏览次数:15  
标签:文件 grep 查看 显示文件 编辑 sed 内容 file Linux

 1. Linux 文件内容查看编辑要点

  • 连接文件并打印到标准输出设备 - 使用 cat
  • 显示指定文件的开头若干行 - 使用 head
  • 显示指定文件的末尾若干行,常用语实时打印日志文件内容 - 使用 tail
  • 显示文件内容,每次显示一屏 - 使用 more
  • 显示文件内容,每次显示一屏 - 使用 less
  • 自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等 - 使用 sed
  • 文本编辑器 - 使用 vi
  • 使用正则表达式搜索文本,并把匹配的行打印出来 -  使用 grep

2. 命令常见用法

2.1. cat

cat 命令用于连接文件并打印到标准输出设备上。

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

2.2. head

head 命令用于显示文件的开头内容。在默认情况下,head 命令显示文件的头部 10 行内容。

2.3. tail

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

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

2.4. more

more 命令是一个基于 vi 编辑器文本过滤器,它以全屏幕的方式按页显示文本文件的内容,支持 vi 中的关键字定位操作。more 名单中内置了若干快捷键,常用的有 H(获得帮助信息),Enter(向下翻滚一行),空格(向下滚动一屏),Q(退出命令)。

该命令一次显示一屏文本,满屏后停下来,并且在屏幕的底部出现一个提示信息,给出至今己显示的该文件的百分比:--More--(XX%)可以用下列不同的方法对提示做出回答:

  • 按 Space 键:显示文本的下一屏内容。
  • 按 Enier 键:只显示文本的下一行内容。
  • 按斜线符|:接着输入一个模式,可以在文本中寻找下一个相匹配的模式。
  • 按 H 键:显示帮助屏,该屏上有相关的帮助信息。
  • 按 B 键:显示上一屏内容。
  • 按 Q 键:退出 rnore 命令。
# 显示文件 file 的内容,但在显示之前先清屏,并且在屏幕的最下方显示完核的百分比。
more -dc file

# 显示文件 file 的内容,每 10 行显示一次,而且在显示之前先清屏。
more -c -10 file

 2.5. less

less 命令的作用与 more 十分相似,都可以用来浏览文字档案的内容,不同的是 less 命令允许用户向前或向后浏览文件,而 more 命令只能向前浏览。用 less 命令显示文件时,用 PageUp 键向上翻页,用 PageDown 键向下翻页。要退出 less 程序,应按 Q 键。 

less /var/log/shadowsocks.log

2.6. sed

 sed 是一种流编辑器,它是文本处理工具,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用 sed 命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。Sed 主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。

# 替换文本中的字符串
sed 's/book/books/' file

# -n 选项 和 p 命令 一起使用表示只打印那些发生替换的行
sed -n 's/test/TEST/p' file

# 直接编辑文件选项 -i ,会匹配 file 文件中每一行的第一个 book 替换为 books
sed -i 's/book/books/g' file

# 使用后缀 /g 标记会替换每一行中的所有匹配
sed 's/book/books/g' file

# 删除空白行
sed '/^$/d' file

# 删除文件的第2行
sed '2d' file

# 删除文件的第2行到末尾所有行
sed '2,$d' file

# 删除文件最后一行
sed '$d' file

# 删除文件中所有开头是test的行
sed '/^test/'d file

 2.7. vi

vi 命令是 UNIX 操作系统和类 UNIX 操作系统中最通用的全屏幕纯文本编辑器。Linux 中的 vi 编辑器叫 vim,它是 vi 的增强版(vi Improved),与 vi 编辑器完全兼容,而且实现了很多增强功能。

2.8. grep

 grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

# 在多级目录中对文本递归搜索(程序员搜代码的最爱):
$ grep "class" . -R -n

# 忽略匹配样式中的字符大小写
$ echo "hello world" | grep -i "HELLO"

# 匹配多个模式:
$ grep -e "class" -e "vitural" file

# 只在目录中所有的.php和.html文件中递归搜索字符"main()"
$ grep "main()" . -r --include *.{php,html}

# 在搜索结果中排除所有README文件
$ grep "main()" . -r --exclude "README"

# 在搜索结果中排除filelist文件列表里的文件
$ grep "main()" . -r --exclude-from filelist

标签:文件,grep,查看,显示文件,编辑,sed,内容,file,Linux
From: https://blog.csdn.net/L08130421/article/details/140798103

相关文章

  • 查看 Linux 命令帮助信息
    1.查看Linux命令帮助信息的要点查看Shell内部命令的帮助信息-使用 help查看命令的简要说明-使用 whatis查看命令的详细说明-使用 info查看命令的位置-使用 which定位指令的二进制程序、源代码文件和man手册页等相关文件的路径-使用 whereis查看命令的帮......
  • 我无法在 Debian Linux 中从命令行安装 Pyinstaller
    我想在我的Debian机器上安装Pyinstaller,所以我运行了以下命令:sudopip3installpyinstaller这返回了以下错误:error:externally-managed-environment×Thisenvironmentisexternallymanaged╰─>ToinstallPythonpackagessystem-wide,tryaptinstall......
  • 安防视频监控EasyCVR视频汇聚平台无法编辑设备通道信息的原因排查及解决
    安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台基于云边端一体化架构,兼容性强、支持多协议接入,包括国标GB/T28181协议、部标JT808、GA/T1400协议、RTMP、RTSP/Onvif协议、海康Ehome、海康SDK、大华SDK、华为SDK、宇视SDK、乐橙SDK、萤石云SDK等。视频汇聚EasyCVR视频......
  • 使用finallshell连接linux
    用户可以去FinalShell的官网上下载,只需点击下载地址,即可轻松下载安装包。傻瓜式安装点击到底。使用双击打开页面,新建连接右击连接,新建》ssh 连接,双击新建的连接,如下界面即连接成功。新建文件夹,右键新建文件夹。新建文件,在文件夹右键新建文件。命令在命令区域正......
  • linux安装.net6运行环境
    添加Microsoft包存储库。安装.NET之前,请运行以下命令,将Microsoft包签名密钥添加到受信任密钥列表,并添加Microsoft包存储库。打开终端并运行以下命令:sudorpm-Uvhhttps://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm安装SDK 如......
  • linux 命令
    查看开放端口:ss-tuln开放端口:sudofirewall-cmd--permanent--add-port=22/tcp#开放TCP协议的22端口(SSH)重新加载防火墙规则:sudofirewall-cmd--reload查看防火墙规则:sudofirewall-cmd--list-alluname:显示系统信息。uname-a:显示所有系统信息。 lsb_release:显示Linu......
  • Rocky Linux - RabbitMQ
    RabbitMQ1MQ的基本概念RabbitMQ是一个开源的消息代理和队列服务器,它使用Erlang语言编写并运行在多种操作系统上,如Linux、Windows等。RabbitMQ可以接收、存储和转发消息(也称为“事件”)到连接的客户端。它适用于多种场景,包括异步通信、流量削峰、应用解耦等。1.1同步和异......
  • Linux应用编程——TCP实现文件传输
    1、常用编程接口1.1socket函数创建一个套接字intsocket(intdomain,inttype,intprotocol);入参:domain:协议族,如AF_INET表示IPv4。type:套接字类型,如SOCK_STREAM表示TCP套接字。protocol:协议,一般为0。返回值:成功时返回新创建的套接字的文件描述符,失败时返回-1。......
  • Linux基本功能
    Linux操作系统,作为开源社区的明星之一,以其稳定性、安全性和灵活性在全球范围内得到广泛应用。1.多用户和多任务支持Linux是一个真正的多用户系统,允许多个用户同时登录并在同一时间内运行多个程序。每个用户拥有自己的账户和权限,这使得Linux在服务器环境中尤为受欢迎。通......
  • 【调试笔记-20240730-Linux-OpenWrt 23.05 安装 Docker 配置 bitnami/Wordpress-with-
    调试笔记-系列文章目录调试笔记-20240730-Linux-OpenWrt23.05安装Docker配置bitnami/Wordpress-with-NGINX实现微信用户在线注册登录文章目录调试笔记-系列文章目录调试笔记-20240730-Linux-OpenWrt23.05安装Docker配置bitnami/Wordpress-with-NGINX实现......