Linux学习笔记 --- Linux基础命令Part2

news/2024/12/21 19:21:40/

2.9 查找命令(which、find)

目标:1. 掌握使用which命令查找命令的程序文件        2. 掌握使用find命令查找指定文件

which命令

我们在前面学习的Linux命令,其实它们的本体就是一个个的二进制可执行程序

和Windows系统中的.exe文件,是一个意思

我们可以通过which命令,查看所使用的一系列命令的程序文件存放在哪里

语法:which  要查找的命令

find命令 - 按文件名查找文件 

在图形化中,我们可以方便的通过系统提供的搜索功能,搜索指定的文件。

同样,在Linux系统中,我们可以通过find命令去搜索指定的文件

语法:find 起始路径  -name "被查找文件名" 

  • -name表示以文件名的模式去查找
  • 为了确保后续演示,拥有最大的权限,可以在整个系统完成搜索
  • 我们可以切换到root用户以获得管理员权限
  • 执行命令: su - root
  • 输入密码:123456(和你普通用户的密码一样)

  •  当我们获得最大权限后,我们就可以在电脑里面进行全盘搜索了。

 

find命令 - 通配符 

根据语法:

  • 被查找文件名,支持使用通配符 * 来做模糊查询

符号* 表示通配符,即匹配任意内容(包含空),示例:

  • test*,表示匹配任何以test开头的内容
  • *test,表示匹配任何以test结尾的内容
  • *test*,表示匹配任何包含test的内容

基于通配符的含义,可以结合find命令做文件的模糊查询。

  • 查找所有以test开头的文件:find / -name “test*”

  • 查找所有以test结尾的文件:find / -name “*test”

 

  • 查找所有包含test的文件:find / -name “*test*”

 

find命令 - 按文件大小查找文件

语法:find  起始路径  -size  +或者- n[k / M / G]           n是数字,KMG是单位

  • +、- 表示大于和小于
  • n表示大小数字
  • kMG表示大小单位,k(小写字母)表示kb,M表示MB,G表示GB

示例:

  • 查找小于10KB的文件: find   /   -size   -10k
  • 查找大于100MB的文件:find   /  -size  +100M
  • 查找大于1GB的文件:find  /  -size  +1G 

  • 这些文件是虚拟文件,大小单位也是虚拟的

FinalShell快捷键:按Ctrl + C停止搜索 / 强制中断搜索

小结:

课后练习 

请使用find命令找出:名称中带有centos的文件

  • find / -name  “*centos*”

请使用find命令找出:/usr 目录内大于100M的文件

  • find /usr -size  +100M

2.10 grep、wc和管道符 

导学:1. 掌握使用grep命令过滤文件内容   2. 掌握使用wc命令统计内容数量

           3. 掌握 | 管道符的概念和应用

grep命令 

可以通过grep命令,从文件中通过关键字过滤文件行

语法:grep [-n]  "关键字" 文件路径

  • 选项-n,可选,表示在结果中显示匹配的行的行号
  • 参数,关键字,必填,表示过滤的关键字带有空格或其它特殊符号,建议使用"  "将关键字包围起来
  • 参数,文件路径,必填,表示要(被)过滤内容的文件路径可作为内容输入端口

现在,通过touch命令在HOME目录创建itheima.txt,并通过图形化页面编辑并保存如下内容:

wc命令做数量统计 

可以通过wc命令统计文件的行数、单词数量等

语法:wc  [-c -m -l -w]   文件路径

  • 选项,-c,统计bytes字节数量
  • 选项,-m,统计字符数量
  • 选项,-l,统计行数
  • 选项,-w,统计单词数量
  • 参数,文件路径,被统计的文件可作为内容输入端口

不带选项,统计文件:

  

管道符 

我们来学习一个新的特殊符号管道符:|

  • 管道符的含义是:将管道符左边命令的结果,作为右边命令的输入

如上图:

  • cat itheima.txt的输出结果(文件内容) 作为右边grep命令的输入(被过滤文件)

管道符的应用非常多

只要能产生内容输出的命令,都能跟管道符做配合。

  • ls | grep Desktop,过滤ls的结果

  • find / -name “test” | grep “/usr/lib64”,过滤结果,只找路径带有/usr/lib64的结果

  • cat itheima.txt | grep itcast | grep itheima,管道符可以嵌套使用哦

  •                cat itheima.txt的结果给 grep itcast 使用
  •                cat itheima.txt | grep itcast 的结果给 grep itheima使用

 

课后练习 

对创建的itheima.txt进行统计

请使用cat、grep、管道符、wc命令组合,进行统计:

  • 统计文件中带有itcast关键字的有几行
  • 统计文件中带有itheima关键字的结果中有多少个单词

 

2.11 echo、tail和重定向符

目标:1. 掌握使用echo命令输出内容    2. 掌握反引号的使用

           3. 掌握tail命令跟踪文件更改       4. 掌握重定向符号的使用

echo命令

可以使用echo命令在命令行内输出指定内容

语法:echo "输出的内容"

  • 无需选项,只有一个参数,表示要输出的内容,复杂内容可以用"  "包围

演示:

  • 在终端上显示:Hello Linux
  • 带有空格或\等特殊符号,建议使用双引号包围
  • 因为不包围的话,空格后很容易被识别为参数2,尽管echo不受影响,但是要养              成习惯哦

反引号` 

看一下如下命令:echo pwd

  • 本意是想,输出当前的工作路径,但是pwd被作为普通字符输出了。 
  • 我们可以通过将命令用反引号(通常也称之为飘号)`将其包围
  • 被`飘号包围的内容,将会被作为命令去执行,而不是作为普通的字符

 

重定向符 

我们再来学习两个特殊符号,重定向符:>和>>

  • >将左侧命令的结果覆盖写入到符号右侧指定的文件中
  • >>将左侧命令的结果追加写入到符号右侧指定的文件中

演示:

tail命令 

使用tail命令,可以查看文件尾部内容,跟踪文件的最新更改

语法:tail  [-f -num]  Linux路径参数 

  • 参数,Linux路径,表示被跟踪的文件路径
  • 选项,-f,表示持续跟踪尾部更改
  • 选项, -num,表示,查看尾部多少行,不填默认查看10行

 

 

 

 


http://www.ppmy.cn/news/86012.html

相关文章

谈谈linux网络编程中的应用层协议定制、Json序列化与反序列化那些事

linux【网络编程】之协议定制、序列化与反序列化 一、序列化与反序列化二、应用层协议如何定制三、网络通信中数据流动的本质四、网络版计算器编写4.1 业务流程4.2 核心代码 一、序列化与反序列化 由于socket api的接口,在读写数据的时候是以字符串的方式发送接收的…

happens-before的定义

JSR-133使用happens-before的概念来指定两个操作之间的执行顺序。由于这两个操作可以在一个线程之内,也可以是在不同线程之间。因此,JMM可以通过happens-before关系向程序员提供跨线程的内存可见性保证(如果A线程的写操作a与B线程的读操作b之…

【SpringBoot】过滤器,监听器,拦截器介绍

文章目录 一、简介1、过滤器2、拦截器3、监听器 二、如何创建1、过滤器2、监听器3、拦截器 三、总结 一、简介 通过两幅图我们可以理解拦截器和过滤器的特点 1、过滤器 过滤器是在请求进入tomcat容器后,但请求进入servlet之前进行预处理的。请求结束返回也是&…

Jupyter notebook 和 Jupyter lab 的区别

Jupyter Notebook和JupyterLab都是用于交互式计算和数据科学的开源工具 它们都是基于Jupyter项目构建的,提供了一种以笔记本形式创建、运行和共享代码、文本和可视化结果的方式。然而,Jupyter Notebook和JupyterLab在用户界面、功能和扩展性方面存在一些…

深入理解hashmap底层实现原理

目录 总体介绍 HashMap元素的存储 在hashmap中添加元素 HashMap的扩容机制 HashMap的线程安全性 1.添加和删除元素时存在不安全性 2.进行扩容操作时存在不安全性 3.哈希冲突存在不安全性 4.线程之间的不可见性导致安全问题 总体介绍 HashMap是我们用于元素映射使用频率最…

android 12.0launcher3中workspace app列表页不显示某个app图标

1.概述 在12.0的开发中,Launcher3 workspace的app列表页 会负责加载系统中app的所有图标 但针对某个不需要显示在桌面的app图标需要过滤掉 所以需要在加载和更新的时候过滤 需要更改两处地方,一处是 加在列表时 一处是安装卸载app 更新app列表时 2.launcher3中workspace ap…

BERT论文核心点记录

BERT适合分类任务(整段分类后者词分类),对生成任务不友好 使用BERT的方法:只需要在预训练好的BERT基础上新增一个输出层,然后用标记好的数据进行有监督微调 Bidirectional Encoder双向Encoder实质上就是指Transforme…

VMware ESXi 6.5 U3 Final - ESXi 6 系列最终版下载

VMware ESXi 6.5 U3 Final - ESXi 6 系列最终版下载 VMware ESXi 6 Standard 请访问原文链接:https://sysin.org/blog/vmware-esxi-6/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org VersionRelease NameRelease …