Linux中的文件搜索和查看

  • Linux中的文件搜索和查看
    • cat
    • head
    • tail
    • more
    • less
    • grep
    • sed
    • vim

Linux中的文件搜索和查看

cat

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

示例:

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

head

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

head head head  file           # 显示文件file的前10行

tail

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

示例:

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

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

less

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

示例:

less /var/log/shadowsocks.log

跳转顶部


grep

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

示例:

准备几个数据来做实验

[root@host-192-168-3-73 test]# ll
总用量 12
-rw-r--r--. 1 root root 17 4月  12 18:13 data
-rw-r--r--. 1 root root 42 4月  12 18:12 test
-rw-r--r--. 1 root root 40 4月  12 18:11 test1
[root@host-192-168-3-73 test]# cat data
test a 1
TEST a[root@host-192-168-3-73 test]# cat test
test TEST  1
第二行
hadoop spark
linux
[root@host-192-168-3-73 test]# cat test1
test TEST  1
第二行
test 22
TeST 11

# 在多级目录中对文本递归搜索(程序员搜代码的最爱):
$ 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

跳转顶部


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

跳转顶部


vim

我们直接那配置环境变量的文件来做参考

# 向下搜索
/ 关键字(左斜杠 + 要搜索的关键字)


# 向上搜索
? 关键字

#匹配末尾(右斜杠+大于号)
/关键字\>

/\<关键字
#匹配开头(右斜杠+小于号)

/\<关键字\> #匹配全部(匹配开头和结尾的符号加起来)


#在普通搜索前执行此命令 不区分大小写
:set ignorecase

# 恢复大小写敏感
:set noignorecase

快速搜索

# 移动到下一个匹配处
n

# 移动到上一个匹配处按【N】或【shift】+【n】
#搜索选定的关键字光标移动到关键字任意位置,按【*】

跳行

# 跳到第一行,输入:
gg# 跳到第10行,输入:
10gg
或10G# 跳到最后一行,输入:
[shift]+g
或G

跳转顶部


【Linux】Linux中的文件搜索和查看相关推荐

  1. linux查看文件位置命令bwd,linux 操作系统中find文件搜索命令的使用

    文件搜索命令是:find 命令所在路径是:/bin/find 执行权限:所有用户 语法:find [搜索范围] [匹配条件] 范例: find /etc -name init  这个是比较精准的要找文 ...

  2. linux 查看打开文件数,Linux系统中打开文件数量的查看方法

    ulimit -n 4096 也就是限制用户的最大文件打开数为4096个 在网上查了关于怎么查看文件打开数的文章大致有两种说法 /proc/sys/fs/file-nr 该文件与 file-max 相 ...

  3. linux的库文件路径,Linux下的库文件搜索路径

    对于以压缩包发布的软件,在它的目录下通常都有一个配置脚本configure,它的作用确定编译参数(比如头文件位置.连接库位置等),然后生成Makefile以编译程序.可以进入该软件的目录,执行&quo ...

  4. linux系统中的文件传输

    Linux系统中的文件传输 1 实验环境 2 scp命令 3 rsync命令 3.1 rsync和scp命令对比 3.2 rsync命令用法 4 文件的归档压缩 4.1 文件归档 4.2 文件压缩 4 ...

  5. Linux进程间通信中的文件和文件锁

    Linux进程间通信中的文件和文件锁 来源:穷佐罗的Linux书 前言 使用文件进行进程间通信应该是最先学会的一种IPC方式.任何编程语言中,文件IO都是很重要的知识,所以使用文件进行进程间通信就成了 ...

  6. linux内核中的文件描述符(四)--fd的分配--get_unused_fd

    linux内核中的文件描述符(四)--fd的分配--get_unused_fd Kernel version:2.6.14 CPU architecture:ARM920T Author:ce123( ...

  7. linux判断目录是否存在命令,linux shell 中判断文件、目录是否存在的方法

    本文主要介绍了linux shell 中判断文件.目录是否存在的方法,分享给大家 -e filename 如果 filename存在,则为真 -d filename 如果 filename为目录,则为 ...

  8. linux命令打包文件,Linux系统中打包文件的命令详解

    linux系统中遇到要打包文件的时候我们该使用什么命令呢?下面由秋天网 Qiutian.ZqNF.Com小编为大家整理了linux系统中打包文件的命令详解的相关知识,希望对大家有帮助! linux系统 ...

  9. 递归计算Linux目录中的文件

    如何递归计算Linux目录中的文件? 我找到了这个: find DIR_NAME -type f ¦ wc -l 但是当我运行它时,它返回以下错误. find:paths必须在表达式之前:| #1楼 ...

最新文章

  1. 04741计算机网络原理知识点,04741计算机网络原理知识点整理.doc
  2. AWS如何迁移实例到另一个区?
  3. linux 多个java_linux 同时出现两个java进程,新手~ 请详细说明,这个是怎么回事。 我就装了一个jdk...
  4. 微信小程序运行报错---invoke event
  5. binder-swagger-java v0.5.0,Swagger API 框架
  6. 一个古老的漏洞username map script,翻出来说说
  7. Arm 与中国联通成功部署物联网设备管理平台解决方案
  8. 洛谷P2082 区间覆盖(加强版)(珂朵莉树)
  9. HTML5网页设计基础——LOGO的制作
  10. vs2019中出现PyTorch is not linked with support for cuda devices的解决方法
  11. 微软Windows 10 MSDN官方ISO镜像正式版下载
  12. Maya_to_Unity工作流程
  13. 一个呼叫中心系统应该怎样搭建?okcc呼叫系统
  14. 卸载oracle方法
  15. 超乎想象!关于5G无人机的最强科普!
  16. java ip地址接口_java获取ip地址与网络接口的方法示例
  17. 思岚科技—SLAMTEC邀你参加美国CES展会
  18. 一个java随机数据的工具类
  19. matlab-diary函数用法之一
  20. mysql 批量更新和单条更新(循环)

热门文章

  1. Matlab读取grd文件,转nc文件存储
  2. html 下拉框a标签跳转,html下拉框跳转问题
  3. 计算机管理器为什么没有本地用户和组,windows7系统服务器管理器没有“本地用户和组”选项解决方法...
  4. ISO13485认证流程
  5. 计算机课程设计参考文献,近几年课程设计参考文献 课程设计参考文献有哪些...
  6. 变形金刚ol服务器维护,变形金刚OL5月27日停机更新延迟开服公告
  7. 每日一句:I'm afraid I have to remind you that time is up
  8. 关于易语言 无法加入dll命令 没有dll 的解决方式
  9. 超实用,精心整理了34个Python+Excel+Word+PDF自动化库!
  10. 智慧环卫管理系统解决方案(垃圾分类)