当前位置: 首页 > news >正文

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系统中,定位和查找文件是我们经常需要做的任务之一。本文将介绍三个常用的命令:whichwhereisfind,它们能够帮助我们快速定位或查找文件。

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∑n​ai​xi和 B ( x ) ∑ i 0 m b i x i B(x)\sum\limits_{i0}^mb_ix^i B(x)i0∑m​bi​xi…...

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在现场应用广泛,现场问题也较多,本季度通过对现场问题就行跟踪和总结,同时结合一些调研,尝试提高难点问题的解决效率,从而提高客户和现场满意度。非难点问题(历史遇到过问题&#xf…...

基于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万张。…...

网络六边形受到攻击

大家读完觉得有帮助记得关注和点赞!!! 抽象 现代智能交通系统 (ITS) 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 (…...

Cesium1.95中高性能加载1500个点

一、基本方式&#xff1a; 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

Robots.txt 文件

什么是robots.txt&#xff1f; robots.txt 是一个位于网站根目录下的文本文件&#xff08;如&#xff1a;https://example.com/robots.txt&#xff09;&#xff0c;它用于指导网络爬虫&#xff08;如搜索引擎的蜘蛛程序&#xff09;如何抓取该网站的内容。这个文件遵循 Robots…...

拉力测试cuda pytorch 把 4070显卡拉满

import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试&#xff0c;通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小&#xff0c;增大可提高计算复杂度duration: 测试持续时间&#xff08;秒&…...

自然语言处理——Transformer

自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效&#xff0c;它能挖掘数据中的时序信息以及语义信息&#xff0c;但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN&#xff0c;但是…...

Mysql8 忘记密码重置,以及问题解决

1.使用免密登录 找到配置MySQL文件&#xff0c;我的文件路径是/etc/mysql/my.cnf&#xff0c;有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...

C++课设:简易日历程序(支持传统节假日 + 二十四节气 + 个人纪念日管理)

名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《编程项目实战》 目录 一、为什么要开发一个日历程序?1. 深入理解时间算法2. 练习面向对象设计3. 学习数据结构应用二、核心算法深度解析…...

多模态图像修复系统:基于深度学习的图片修复实现

多模态图像修复系统:基于深度学习的图片修复实现 1. 系统概述 本系统使用多模态大模型(Stable Diffusion Inpainting)实现图像修复功能,结合文本描述和图片输入,对指定区域进行内容修复。系统包含完整的数据处理、模型训练、推理部署流程。 import torch import numpy …...

day36-多路IO复用

一、基本概念 &#xff08;服务器多客户端模型&#xff09; 定义&#xff1a;单线程或单进程同时监测若干个文件描述符是否可以执行IO操作的能力 作用&#xff1a;应用程序通常需要处理来自多条事件流中的事件&#xff0c;比如我现在用的电脑&#xff0c;需要同时处理键盘鼠标…...

redis和redission的区别

Redis 和 Redisson 是两个密切相关但又本质不同的技术&#xff0c;它们扮演着完全不同的角色&#xff1a; Redis: 内存数据库/数据结构存储 本质&#xff1a; 它是一个开源的、高性能的、基于内存的 键值存储数据库。它也可以将数据持久化到磁盘。 核心功能&#xff1a; 提供丰…...