Linux命令定位与查找:which、whereis和find的用法详解
文章目录
- Linux命令的定位与查找
- 1. 简介
- Linux路径环境变量
- 命令行和Shell
- 2. `which`命令
- which命令的作用
- 使用which命令定位可执行文件
- 多个可执行文件的定位
- which命令的选项及其使用
- 3. `whereis`命令
- whereis命令的作用
- 使用whereis命令查找二进制文件
- 查找源代码文件
- whereis命令的选项及其使用
- 4. `find`命令
- find命令的作用
- 使用find命令查找文件
- 搜索指定类型的文件
- 根据文件名或文件大小搜索文件
- find命令的选项及其使用
- 5. which、whereis和find三者的区别和联系
- 三种命令的作用和使用场景
- 命令输出的结果不同
- 三种命令的优缺点比较
- 6. 实战演练
- 7. 总结
- python精品专栏推荐
- python基础知识(0基础入门)
- python爬虫知识
Linux命令的定位与查找
1. 简介
在Linux系统中,定位和查找文件是我们经常需要做的任务之一。本文将介绍三个常用的命令:which
、whereis
和find
,它们能够帮助我们快速定位或查找文件。
Linux路径环境变量
在开始介绍这些命令之前,我们先来了解一下Linux的路径环境变量。路径环境变量是一个包含多个目录路径的字符串,每个路径之间用冒号(:)分隔。当我们在命令行输入一个指令时,系统会到这些路径中去查找可执行文件。
命令行和Shell
命令行是用户与操作系统交互的界面,通过命令行可以执行各种操作。而Shell则是命令行的解释器,负责接收、解析和执行用户输入的命令。
2. which
命令
which命令的作用
which
命令用于定位可执行文件的位置。它会搜索系统的路径环境变量中是否存在指定的可执行文件,并返回该文件所在的完整路径。
使用which命令定位可执行文件
以下是使用which命令定位可执行文件的示例:
which python
上述命令会在系统的路径环境变量中搜索python可执行文件,并返回其完整路径。
多个可执行文件的定位
如果系统中存在多个同名的可执行文件,which命令会返回第一个搜索到的文件路径。若要查找所有匹配的可执行文件路径,可以使用-a
选项。
which -a python
which命令的选项及其使用
which命令还提供了一些其他的选项,比如-s
用于静默模式,只返回退出状态;-p
用于显示所有符合条件的路径名。你可以通过以下命令获取更多信息:
man which
3. whereis
命令
whereis命令的作用
whereis命令用于查找二进制、源代码和帮助文档等文件。它会在特定的目录中进行搜索,并返回相应文件的位置。
使用whereis命令查找二进制文件
以下是使用whereis命令查找二进制文件的示例:
whereis python
上述命令会在默认的二进制文件搜索路径中查找python,并返回该文件所在的位置。
查找源代码文件
whereis命令还可以用于查找源代码文件。使用-s
选项加上src
参数即可。例如:
whereis -s src python
whereis命令的选项及其使用
whereis命令还有其他选项可供使用,如-b
用于指定搜索二进制文件的路径,-m
用于指定搜索帮助文档的路径等。你可以通过下面的命令获取更多帮助:
man whereis
4. find
命令
find命令的作用
find命令用于在指定目录下搜索文件,并返回满足条件的文件列表。
使用find命令查找文件
以下是使用find命令查找文件的示例:
find /home/user -name "*.txt"
上述命令会在/home/user
目录及其子目录中查找所有扩展名为.txt
的文件,并返回它们的完整路径。
搜索指定类型的文件
find命令支持根据文件类型来进行搜索。例如,以下命令将搜索所有的目录:
find /home/user -type d
根据文件名或文件大小搜索文件
find命令还可以根据文件名或文件大小来搜索文件。例如,通过-iname
选项可以进行不区分大小写的文件名搜索;通过-size
选项可以搜索指定大小的文件。
find命令的选项及其使用
find命令有许多选项可供选择,如-maxdepth
用于限制搜索的目录深度,-mtime
用于根据文件的修改时间进行搜索等。你可以通过以下命令获得更多信息:
man find
5. which、whereis和find三者的区别和联系
三种命令的作用和使用场景
which
命令用于定位可执行文件,适合查找系统中某个特定命令的位置。whereis
命令用于查找二进制、源代码和帮助文档等文件,可用于查找特定文件类型所在的位置。find
命令用于在指定目录下搜索文件,适用于查找满足条件的文件。
命令输出的结果不同
which
命令返回可执行文件的完整路径。whereis
命令返回文件所在的位置和相关信息。find
命令返回符合条件的文件列表。
三种命令的优缺点比较
which
命令简单易用,但只能定位可执行文件。whereis
命令功能更丰富,能够查找多种类型的文件,但搜索范围有限。find
命令灵活强大,可以根据多种条件进行搜索,但速度较慢。
6. 实战演练
我们接下来通过一个实际案例来演示如何使用which、whereis和find命令。假设我们要找到系统中安装的Java可执行文件的位置。
which java
whereis java
find / -name "java" -type f 2>/dev/null
7. 总结
在本文中,我们详细介绍了Linux命令的定位与查找。首先,我们简要介绍了Linux路径环境变量以及命令行和Shell的基本概念。
接下来,我们深入讨论了which命令。我们了解到,which命令主要用于定位可执行文件。我们学会了如何使用which命令来查找特定的可执行文件,并且还学习了处理多个可执行文件的情况。此外,我们还探讨了which命令的各种选项和使用方法。
然后,我们介绍了另一个常用的命令——whereis命令。whereis命令不仅可以用于查找二进制文件,还可以用于查找源代码文件。通过学习whereis命令的使用方法,我们可以更加灵活地进行文件查找工作。
接着,我们详细了解了find命令。find命令是一个非常强大的文件搜索工具,它可以根据多种条件来查找文件。我们学会了使用find命令来搜索指定类型的文件,以及根据文件名和文件大小来搜索文件。此外,我们还探究了find命令的各种选项和使用技巧。
在接下来的部分,我们比较了which、whereis和find这三个命令的区别和联系。我们明确了它们的作用和使用场景,并且注意到它们输出的结果可能不同。同时,我们也对这三个命令的优缺点进行了综合比较。
最后,我们通过实战演练进一步加深了对这些命令的理解。通过实际操作,我们更加熟悉了这些命令的使用方法,并且掌握了它们在实际工作中的应用技巧。
综上所述,Linux命令的定位与查找是我们日常工作中必备的技能。掌握which、whereis和find这三个命令,可以帮助我们更加高效地进行文件搜索和定位工作。不论是初学者还是有经验的用户,都可以通过本文所介绍的知识来提升自己的技能水平。祝大家在Linux命令的使用中取得更好的成果!
python精品专栏推荐
python基础知识(0基础入门)
【python基础知识】0.print()函数
【python基础知识】1.数据类型、数据应用、数据转换
【python基础知识】2.if条件判断与条件嵌套
【python基础知识】3.input()函数
【python基础知识】4.列表和字典
【python基础知识】5.for循环和while循环
【python基础知识】6.布尔值和四种语句(break、continue、pass、else)
【python基础知识】7.实操-用Python实现“文字PK”小游戏(一)
【python基础知识】7.实操-用Python实现“文字PK”小游戏(二)
【python基础知识】8.编程思维:如何解决问题-思维篇
【python基础知识】9.函数的定义和调用
【python基础知识】10.用函数编写程序 - 实操篇
【python基础知识】10.用Python实现石头剪刀布小游戏-函数实操篇
【python基础知识】11.如何debug -常见报错原因及排查思路 - 思维篇
【python基础知识】12.类与对象(一)
【python基础知识】12.类与对象(二)
【python基础知识】13.类与对象(三)
【python基础知识】13.类与对象(四)
【python基础知识】14.图书管理系统的搭建(类与对象实操)
【python基础知识】15.编码基础知识
【python基础知识】16.文件读写基础及操作
【python基础知识】16.“古诗默写题”的python实现(文件读写和编码-实操篇)
【python基础知识】17.模块的概念以及如何引入
【python基础知识】18.实操-使用python自动群发邮件
【python基础知识】19.产品思维以及流程图的使用 - 思维篇
【python基础知识】20.“午饭吃什么”的python实现(产品思维-实操篇)
【python基础知识】21.高效偷懒的正确打开方式-毕业篇
【python文件处理】CSV文件的读取、处理、写入
【python文件处理】Excel自动处理(使用 openpyxl)
【python文件处理】-excel格式处理
python爬虫知识
【python爬虫】1.爬虫基础知识
【python爬虫】2.网页基础知识
【python爬虫】3.爬虫初体验(BeautifulSoup解析)
【python爬虫】4.爬虫实操(菜品爬取)
【python爬虫】5.爬虫实操(歌词爬取)
【python爬虫】6.爬虫实操(带参数请求数据)
【python爬虫】7.爬到的数据存到哪里?
【python爬虫】8.温故而知新
【python爬虫】9.带着小饼干登录(cookies)
【python爬虫】10.指挥浏览器自动工作(selenium)
【python爬虫】11.让爬虫按时向你汇报
【python爬虫】12.建立你的爬虫大军
【python爬虫】13.吃什么不会胖(爬虫实操练习)
【python爬虫】14.Scrapy框架讲解
【python爬虫】15.Scrapy框架实战(热门职位爬取)
【python爬虫】16.爬虫知识点总结复习
相关文章:
Linux命令定位与查找:which、whereis和find的用法详解
文章目录 Linux命令的定位与查找1. 简介Linux路径环境变量命令行和Shell 2. which命令which命令的作用使用which命令定位可执行文件多个可执行文件的定位which命令的选项及其使用 3. whereis命令whereis命令的作用使用whereis命令查找二进制文件查找源代码文件whereis命令的选项…...
LeetCode 面试题 17.10. Find Majority Element LCCI【摩尔投票法】简单
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章…...
多校联测11 模板题
题目大意 给你四个整数 n , m , s e e d , w n,m,seed,w n,m,seed,w,其中 n , m n,m n,m为两个多项式 A ( x ) ∑ i 0 n a i x i A(x)\sum\limits_{i0}^na_ix^i A(x)i0∑naixi和 B ( x ) ∑ i 0 m b i x i B(x)\sum\limits_{i0}^mb_ix^i B(x)i0∑mbixi…...

Linux SSH连接远程服务器(免密登录、scp和sftp传输文件)
1 SSH简介 SSH(Secure Shell,安全外壳)是一种网络安全协议,通过加密和认证机制实现安全的访问和文件传输等业务。传统远程登录和文件传输方式,例如Telnet、FTP,使用明文传输数据,存在很多的安全…...

从0开始python学习-30.selenium frame子页面切换
目录 1. frame切换逻辑 2. 多层子页面情况进行切换 3. 多个子页面相互切换 1. frame切换逻辑 1.1. 子页面的类型一般分为两种 frame标签 iframe标签 1.2. 子页面里面的元素和主页面的元素是相互独立 子页面元素需要进去切换才能操作 如果已经进入子页面,那么…...

asp.net core 远程调试
大概说下过程: 1、站点发布使用Debug模式 2、拷贝到远程服务器,以及iis创建站点。 3、本地的VS2022的安装目录:C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE下找Remote Debugger 你的服务器是64位就拷贝x64的目…...
Java spring boot 一次调用多个请求
Java Spring Boot是一种基于Java编程语言的开发框架,它提供了一种快速构建高效、可伸缩和易于维护的企业级应用程序的方式。在实际的应用开发中,我们常常需要调用多个独立的请求来完成某个业务功能。然而,传统的同步方式一次只能调用一个请求…...
DRM全解析 —— CRTC详解(4)
接前一篇文章:DRM全解析 —— CRTC详解(3) 本文继续对DRM中CRTC的核心结构struct drm_crtc的成员进行释义。 3. drm_crtc结构释义 (21)struct drm_object_properties properties /** properties: property tracking …...
六个为Rust构建的IDE
Rust语言的学习曲线适中,介于高级语言和低级语言之间。这门语言既能编写系统软件,将嵌入式设备编译为x86 ARM,也可以用于前端技术,这要归功于WebAssembly。 在日渐成熟的发展中,Rust开始拥有更好的工具来提高效率。最…...
25 Python的collections模块
概述 在上一节,我们介绍了Python的sqlite3模块,包括:sqlite3模块中一些常用的函数和类。在这一节,我们将介绍Python的collections模块。collections模块是Python中的内置模块,它实现了特殊的容器数据类型,提…...
JEPG Encoder IP verilog设计及实现
总体介绍: 采用通用的常规 Verilog 代码编写,可用于任何 FPGA。 该内核不依赖任何专有 IP 内核,而是用 Verilog 编写了实现 JPEG 编码器所需的所有功能,代码完全独立。 编码器内核的输入是一条 24 位数据总线,红色像素、绿色像素和蓝色像素各有 8 位。 信号 "data_i…...

yolov5 web端部署进行图片和视频检测
目录 1、思路 2、代码结构 3、代码运行 4、api接口代码 5、web ui界面 6、参考资料 7、代码分享 1、思路 通过搭建flask微型服务器后端,以后通过vue搭建网页前端。flask是第一个第三方库。与其他模块一样,安装时可以直接使用python的pip命令实现…...

嵌入式养成计划-34--函数库
七十二、 函数库 1. 库的概念 库是一个二进制可执行文件,与二进制可执行程序比较,库是不能单独运行的。 库中存放的是功能函数,没有主函数(main函数) 库需要被载入到内存中使用 标准的基础库中存放了很多已经写好的…...

PM864AK01-eA 3BSE018161R2 工业人工智能供应链先驱
PM864AK01-eA 3BSE018161R2 工业人工智能供应链先驱 吞吐量和Macnica Networks的战略合作伙伴关系将使Macnica Networks的客户能够加速和量化智能工厂计划的投资回报(ROI)。高管、经理和运营负责人可以使用Macnica Networks领先的制造场所数据收集平台和ThroughPut基于约束理论…...

参与现场问题解决总结(Kafka、Hbase)
一. 背景 Kafka和Hbase在现场应用广泛,现场问题也较多,本季度通过对现场问题就行跟踪和总结,同时结合一些调研,尝试提高难点问题的解决效率,从而提高客户和现场满意度。非难点问题(历史遇到过问题…...

基于PSD-ML算法的语音增强算法matlab仿真
目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 1.加窗处理: 2.分帧处理: 3.功率谱密度估计: 4.滤波处理: 5.逆变换处理: 6.合并处理: 5.算法完整程序工程 1.算法…...

【1++的Linux】之文件(一)
👍作者主页:进击的1 🤩 专栏链接:【1的Linux】 文章目录 一,初识文件二,文件接口 一,初识文件 文件就是文件内容属性。因此对文件的操作无非就是对文件内容的操作和对文件属性的操作。 我们访问…...

Kafka 高可用
正文 一、高可用的由来 1.1 为何需要Replication 在Kafka在0.8以前的版本中,是没有Replication的,一旦某一个Broker宕机,则其上所有的Partition数据都不可被消费,这与Kafka数据持久性及Delivery Guarantee的设计目标相悖。同时Pr…...

关于分布式操作系统
关于分布式操作系统,如果你不太理解的话,可以把它看成是传统操作系统延展。二者的区别在于,传统的操作系统都是单机系统,只能在一台计算机上运行,而分布式操作系统是多机系统,每台计算机都是系统中的一个计…...
Pytorch使用DataLoader, num_workers!=0时的内存泄露
描述一下背景,和遇到的问题: 我在做一个超大数据集的多分类,设备Ubuntu 22.04i9 13900KNvidia 409064GB RAM,第一次的训练的训练集有700万张,训练成功。后面收集到更多数据集,数据增强后达到了1000万张。…...

深度学习在微纳光子学中的应用
深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...
零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?
一、核心优势:专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发,是一款收费低廉但功能全面的Windows NAS工具,主打“无学习成本部署” 。与其他NAS软件相比,其优势在于: 无需硬件改造:将任意W…...

Linux 文件类型,目录与路径,文件与目录管理
文件类型 后面的字符表示文件类型标志 普通文件:-(纯文本文件,二进制文件,数据格式文件) 如文本文件、图片、程序文件等。 目录文件:d(directory) 用来存放其他文件或子目录。 设备…...

Zustand 状态管理库:极简而强大的解决方案
Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...
Frozen-Flask :将 Flask 应用“冻结”为静态文件
Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是:将一个 Flask Web 应用生成成纯静态 HTML 文件,从而可以部署到静态网站托管服务上,如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...
Qt Http Server模块功能及架构
Qt Http Server 是 Qt 6.0 中引入的一个新模块,它提供了一个轻量级的 HTTP 服务器实现,主要用于构建基于 HTTP 的应用程序和服务。 功能介绍: 主要功能 HTTP服务器功能: 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...
Rust 异步编程
Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...
Element Plus 表单(el-form)中关于正整数输入的校验规则
目录 1 单个正整数输入1.1 模板1.2 校验规则 2 两个正整数输入(联动)2.1 模板2.2 校验规则2.3 CSS 1 单个正整数输入 1.1 模板 <el-formref"formRef":model"formData":rules"formRules"label-width"150px"…...

无人机侦测与反制技术的进展与应用
国家电网无人机侦测与反制技术的进展与应用 引言 随着无人机(无人驾驶飞行器,UAV)技术的快速发展,其在商业、娱乐和军事领域的广泛应用带来了新的安全挑战。特别是对于关键基础设施如电力系统,无人机的“黑飞”&…...