【Linux】Linux中的文件搜索和查看

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 412 18:13 data
-rw-r--r--. 1 root root 42 412 18:12 test
-rw-r--r--. 1 root root 40 412 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

image-20220412101605854


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

image-20220412101917185


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

image-20220412102026608


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

image-20220412102416370


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

image-20220412102453287


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

跳转顶部


sed

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

示例:

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

image-20220412103023984

只会替换第一个符合条件的


# -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

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

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

image-20220412104521441


# 向上搜索
? 关键字

image-20220412104618394

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

image-20220412104753722

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

image-20220412104847420

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

image-20220412105108219


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

image-20220412105236913

# 恢复大小写敏感
:set noignorecase

快速搜索

# 移动到下一个匹配处
n

vim_n下一个

# 移动到上一个匹配处

按【N】或【shift】+【n】
#搜索选定的关键字

光标移动到关键字任意位置,按【*

vim_选定

跳行

# 跳到第一行,输入:
gg

# 跳到第10行,输入:
10gg
或10G

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

跳转顶部


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值