which && alias && grep

154 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第27天,点击查看活动详情


which指令

Linux的每个指令起始都存储在文件中,每条指令本质都是计算机语言编写出来的可执行程序.我们可以通过which指令查看特定指令的文件的路径

语法: which 指令

功能: 查找某一指令的文件所在路径

image-20220301192815160

同样which指令也有其的文件路径, 可以which which查看


当我们执行某一指令时, 实际是调用可执行程序, 因此我们可以通过其文件路径进行调用该指令

image-20220301193107511


alias指令

语法: alias 给指令起的别名 = '指令名称'

功能:用于给指令取别名

image-20220301193555125

注意:起别名的指令,只在本次登陆有效,如果一旦退出用户登陆,就会失效

这也很好的说明了, ls -l == ll ll是ls-l的别名


grep指令

grep指令类似关键词搜索 (行过滤器)

语法: grep 选项 搜寻字符串 文件

功能: 在文件中搜索字符串,将找到的行打印出来

image-20220301194734697

字符串也可以使用单引号‘’括起来,

常用选项:

-r: 递归搜索子目录

image-20220415145353116

-H : 如果找到了,就把文件名字打印出来

image-20220415145654586

-n:打印结果显示行号

image-20220415145452954

-w :全文匹配

image-20220415145609515

-i :忽略大小写的不同,所以大小写视为相同

image-20220301195057325

-n :顺便输出行号

image-20220301195156023

-v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行

image-20220301195238987


grep和正则表达式:

grep指令支持正则表达式

image-20220313145908026


可以和其它命令搭配使用

image-20220404214656056


grep和find的区别

find add -name *

  • add就是我们要找文件的地方
  • -name就是我们要找文件的方式,-name指的是以名字来查查找文件,其它的还有-type(文件类型),-size(文件大小)
  • * 里面的内容是==通配符==

grep * add

  • *是我们要查找的字符串,这里是==正则表达式==
  • add是要查找的范围,可以是一个文件,或者是一个目录,如果是目录就要写成add/ 或者加-r选项