【操作系统实验】Ubuntu Linux 虚拟机文件查找相关命令

2023-10-27


whereis

  • 功能描述:寻找命令的二进制文件。
    同时也会找到其帮助文件,主要功能是寻找一个命令所在的位置。和find相比,whereis查找的速度非常快。

  • 语法:
    whereis [选项] [命令名称]

  • 选项:
    在这里插入图片描述

例1:搜索命令

whereis ls  #搜索ls命令的路径和帮助文件的路径
whereis find  #搜索find命令的路径和帮助文件的路径

例2:搜索命令的帮助文件

whereis -m ls  #搜索ls命令的帮助文件
whereis -m find  #搜索find命令的帮助文件

help

  • 功能描述:查看命令的内容和使用方法。
    whereis只查找命令文件的路径,help命令可以查看命令的内容和使用方法。help用于查看所有Shell命令。

  • 语法:
    help [选项] [命令名称]

  • 选项:
    在这里插入图片描述

例1:查看命令的帮助文件

help help  #查看help命令的帮助文件,显示该命令的内容和使用方法

例2:分别查看cd命令的格式、功能和详细帮助信息

help -s cd  #查看cd命令的格式
help -d cd  #查看cd命令的功能
help cd  #查看cd命令的帮助信息

例3:查看命令ls的帮助信息

ls --help  #查看ls命令的帮助信息,给出了用法和各个选项

说明:
使用help查看命令的帮助信息时需要区分是内部命令还是外部命令:
内部命令格式为help [命令],如前面的例1、例2;
外部命令需要使用[命令] --help格式,如例3。

man

  • 功能描述:查看命令的帮助手册。
    其内容包括命令语法、各选项的意义以及相关命令等。

  • 语法:
    man [选项] [命令名称]

  • 选项:
    在这里插入图片描述
    其中选项-s是根据章节显示帮助,常用的章节选项:
    在这里插入图片描述

例1:查看ls命令的帮助手册

man -s 1 ls  #查看ls命令的帮助手册,使用鼠标上下滑动来翻页,按q键退出返回命令界面。

按q键退出返回命令界面

说明:ls是一般使用者的命令,加-s参数时用“1”选项。如果用其它章节选项会提示错误。

find

  • 功能描述: 寻找文件或目录的位置。
    如果有大量的文件保存在许多不同的目录中,可能需要搜索它们,以便能找出某种类型的一个或者多个文件,这就需要find命令。find命令可以按照文件名、类型、所有者甚至最后更新的时间来搜索文件。

  • 语法:
    find [搜索路径] [搜寻关键字] [文件或目录]

  • 选项:
    在这里插入图片描述
    其中选项-type表示按照文件类型查找文件,参数为:
    在这里插入图片描述
    find命令还可以利用时间特征来查找文件,其参数:
    在这里插入图片描述

例1:通过文件名查找
(知道文件名,不知道目录)

find / -name http.conf -print

例2:根据部分文件名查找
(不知道该文件的全名,只知道这个文件包含几个特定的字母,这时在给字查找文件名时通配符“*”、“?” )

find . -name "*http*" -print  #在当前目录下查找带有http的文件
find ~ -name "*.doc" -print  #查找当前目录及子目录中.doc文件并显示
find /etc -name 'f????'  #查找/etc下所有以f开头后面有四个字符的文件
find . -name p1 -print  #知道具体的文件名不用加引号

知道具体的文件名不用加引号,如果使用通配符需要加引号。

例3:根据文件的特征查找
(如文件的大小、修改日期等特征)

find /etc -size -2500c -print  #知道一个文件尺寸小于为2500bytes
find . -size +1000000c -print  #在当前目录下查找文件长度大于1M字节的文件

例4:按照文件权限模式查找文件

find . -perm 777 -print  #在当前目录下查找文件权限为777的文件,即查找每个人都有可读写可执行权限的文件。

例5:忽略某个目录查找文件

find work -path "work/file" -prune -o -print  
#查找work文件夹中除了file子目录的文件,忽略file文件夹中文件

例6:按文件所有者、用户组等查找文件

find work -user me -print  #在/work下查找所有者为me的文件并输出
find /home/me/Documents -group me -print  #在指定目录下查找属于me用户组的文件

例7:按照时间查找文件

find /home/me/Documents/work -mtime -5 print
#查找更改时间在5日内的work目录下的文件

例8:按照文件类型查找

find /home/me/Documents -type d print
#查找目标目录下所有的目录文件并显示

locate

  • 功能描述:寻找文件或目录。
    locate 用于在档案系统内通过搜寻数据库查找指定档案,相对find命令查找速度快。

  • 语法:
    locate [选项] [搜索关键字]

例1:查找包含‘x’的文件

locate x|more

例2:查找指定目录下“t”开头的文件

locate /file1/t  
或
locate /file1/t*

相关命令:查询命令的功能和可执行路径

whatis ls  #查询ls命令的功能
which ls  #查询ls命令的可执行路径

grep

  • 功能描述:使用正则表达式查找文件内容。

  • 语法:
    grep [选项] 匹配字符串文件列表

  • 选项:
    在这里插入图片描述
    正则表达式的参数有:
    在这里插入图片描述

例1:搜索文件包含‘s’的内容

grep -n "s" 1.txt  #搜索文件1.txt中包含s的行,并显示行号

例2:搜索文件的内容

grep -n '-' a  #搜索文件a中,包含“-”的行,并显示行号
grep -vn '-'a  #搜索文件a中,不包含“-”的行,并显示行号
grep -n '*' a  #搜索文件a中,不包含“*”的行,并显示行号

例3:搜索有连续两个o字符“oo”的字串

这时候就得要使用到限定范围的字符 {} 了。 但因为 { } 的符号在 shell 是有特殊意义的,因此, 我们必须要使用字符“ \ ”来让他失去特殊意义才行。

grep -n 'o\{2\}' p  #在p文件中搜索有连续两个o字符“oo”的字串

x\{m\} 重复字x字符m次,
eg:‘c\{5\}匹配包含等于5个c的行

例4:在多个文件中搜索包含“li”的行

grep -n 'li' c a  #搜索当前目录下文件a和c中包含‘li’的行
grep 'any' *  #搜索当前目录下的所有文件中包含‘any’的行

例5:搜索有a/b/c/d的行

grep -n '[a-d]' tmp

例6:搜索指定前后内容的行

grep -n "[^a]ail" /etc/passwd  #第一个字母不是a,后面有ail的内容
grep -n "[^a]*lse" /etc/passwd  #第一个字母不是a,且以lse结尾的内容

wc

  • 功能描述:统计指定文件中的字节数、字数、行数,并将统计结果显示输出。字符数包括空格,和回车键。

  • 语法:
    wc [选项] 文件列表

  • 选项:
    在这里插入图片描述

例1:统计行数、字节数、字数

wc -lcw 1.txt  #统计1.txt 文件的行数、字节数、字数

例2:统计文件的字数等信息

wc –c test1  #统计文件test1字节数
wc –w test1  #统计文件test1字数
wc –l test1  #统计文件test1行数
wc –L test1  #统计文件test1最长行长度

管道

  • 管道(Pipeline):一个由标准输入输出链接起来的进程集合,是一个连接两个进程的连接器。

  • 管道的命令操作符是:“|”,它将操作符左侧命令的输出信息(stdout)作为操作符右侧命令的输入信息(stdin)。

管道使用时需要注意以下几点:
1)管道是单向的,一端只能输入,另一端只能用于输出,遵循“先进先出”原则。
2)管道命令只处理前一个命令的正确输出,如果输出的是错误信息,则不处理。
3)管道操作符右侧命令,必须能够接收标准输入流命令。
管道分为普通管道和命名管道两种。这里所讲的管道是普通管道。

例1:查找文件内容并显示、统计

cat a1.txt|grep "a"  #查找文件a1.txt中包含a的字符串并显示
cat a1.txt|grep "a"|wc -l  #查找文件a1.txt中包含a的字符串并统计行数,随后显示统计结果

例2:查找文件内容进行统计后显示

cat 1.txt|grep “s”|wc –l  #统计文件1.txt中包含s的字符串行数,并显示
cat 1.txt|grep “s”|wc –w  #统计文件1.txt中包含s的字符串字数,并显示
cat 1.txt|grep “s”|wc –c  #统计文件1.txt中包含s的字符串字节数,并显示

例3:查找命令的输出

```bash
ls -l|grep '^d'  #通过管道过滤ls -l输出内容,只显示以d开头的行




---



本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【操作系统实验】Ubuntu Linux 虚拟机文件查找相关命令 的相关文章

  • 为什么 call_usermodehelper 大多数时候都会失败?

    从内核模块中 我尝试使用 call usermodehelper 函数来执行可执行文件 sha1 该可执行文件将文件作为参数并将文件的 SHA1 哈希和写入另一个文件 名为输出 可执行文件完美运行 int result 1 name hom
  • 亚马逊 Linux - 安装 openjdk-debuginfo?

    我试图使用jstack在 ec2 实例上amazon linux 所以我安装了openjdk devel包裹 sudo yum install java 1 7 0 openjdk devel x86 64 但是 jstack 引发了异常j
  • 从哪里获取 iostream.h

    我正在尝试在 Linux 中做一些事情 但它抱怨找不到 iostream h 我需要安装什么才能获取此文件 这个标准头的正确名称是iostream没有扩展名 如果您的编译器仍然找不到它 请尝试以下操作 find usr include na
  • 由于 abi::cxx11 符号导致的链接问题?

    我们最近收到一份报告 因为GCC 5 1 libstdc 和双 ABI http gcc gnu org onlinedocs libstdc manual using dual abi html 它似乎Clang 不知道 GCC 内联名称
  • 如何指定配置脚本的包含目录

    我的工作场所有一个 Linux 系统 其中包含相当旧的软件包 并且没有 root 访问权限 我正在从源代码编译我需要的包 prefix somewhere in homedir 我的问题是我只是不知道如何说服配置在特定目录中查找头文件 源码
  • 如何使用 VSCode 调试 Linux 核心转储?

    我故意从我使用 VSCode 编写的 C 应用程序生成核心转储 我不知道如何调试核心转储 有没有人愿意分享这方面的经验 更新 我相信我现在已经可以使用了 我为核心文件创建了第二个调试配置 我需要添加指向生成的转储文件的 coreDumpPa
  • Java时区混乱

    我正在运行 Tomcat 应用程序 并且需要显示一些时间值 不幸的是 时间快到了 还有一个小时的休息时间 我调查了一下 发现我的默认时区被设置为 sun util calendar ZoneInfo id GMT 08 00 offset
  • 如何在 bash_profile 文件中添加导出语句?

    我正在尝试了解是否必须添加导出语句来在 bash profile 文件中设置变量 我该怎么做呢 例如 如果我必须添加 export AX name 那么我应该将其简单地写在文件末尾还是我还需要编写其他内容 简单写一下export AS na
  • 如何使用永远和启动脚本在 ubuntu 上修复“错误:MONGO_URL 必须在环境中设置”?

    我刚刚在 EC2 ubuntu 服务器上部署了一个 Meteor js 应用程序 我安装了forever https npmjs org package forever并将以下启动脚本添加到 etc init meteor conf sta
  • 命名互斥体的 Mono 替代方案

    在 Windows NET 上 命名的互斥体可用于同步多个进程 不幸的是 Mono 在 Linux 上不太支持这一点 他们的发行说明 http www mono project com Release Notes Mono 2 8 Shar
  • C++ Linux GCC 应用程序中的 GUID

    我有很多服务器运行这个 Linux 应用程序 我希望他们能够生成一个碰撞概率较低的 GUID 我确信我可以从 dev urandom 中提取 128 个字节 这可能没问题 但是有没有一种简单易用的方法来生成与 Win32 更等效的 GUID
  • 如何将命令输出作为多个参数传递给另一个命令

    我想将命令的每个输出作为多个参数传递给第二个命令 例如 grep pattern input returns file1 file2 file3 我想复制这些输出 例如 cp file1 file1 bac cp file2 file2 b
  • 安装 JDK 时出错:keytool 命令需要已安装的 proc fs (/proc)。 Linux 的 Windows 子系统

    我尝试在 Linux 的 Windows 子系统 Ubuntu 14 04 上安装 Oracle JDK 1 7 但出现以下错误 the keytool command requires a mounted proc fs proc Jav
  • grep 彩色线条

    我编写了一个简单的 PHP shell 脚本 它解析文件并输出某些元素 它产生大量的输出 采用不同的 bash 颜色 绿色表示正常 黄色表示警告 红色表示错误等 在开发过程中我想过滤掉一些行 例如 所有包含红色文本的行 我可以使用grep
  • 在 Linux 服务器上创建和编辑 MS-Word 文档?

    希望开发处理文档的服务器端应用程序 源文档大多是MS Word 2003 2007 即MS版本的Docx 希望服务器应用程序能够在linux或windows上运行 想知道在linux下读写MS Word文件最好的工具或库是什么 兼容性是最重
  • Linux 上的“软/硬 nofile”是什么意思

    当我尝试在RedHat EL5上安装软件时 我得到了错误 软 硬nofile的期望值是4096 而默认值是1024 我设法增加了这个数字 但我不知道参数是什么 他们指的是软链接和硬链接吗 我改变的方法是 a 修改 etc security
  • 在 Windows / Linux 中创建 Mac 包

    我自己努力制作一个 r 包 我按照 stackoverflow 中上一个问题的说明进行操作如何为外行开发软件包 http cran r project org bin windows Rtools 以下是我根据上一个问题采取的步骤 在新的
  • PHP mail() 函数不发送邮件

    我有一个小问题 我正在使用一个工作脚本 在我的测试帐户 共享服务器上工作 使用 mail 函数通过 PHP 发送邮件 我刚刚得到了一个专用服务器 但我还无法让该功能发挥作用 在过去的 10 个小时左右的时间里 我阅读了有关 BIND 用于
  • 删除 Python 中某些操作的 root 权限

    在我的 Python 脚本中 我执行了一些需要 root 权限的操作 我还创建并写入文件 我不想由 root 独占所有 而是由运行我的脚本的用户独占所有 通常 我使用以下命令运行脚本sudo 有办法做到上述吗 您可以使用以下方式在 uid
  • 使用 hcitool 扫描低功耗蓝牙?

    当我运行此命令时 BLE 设备扫描仅持续 5 秒 sudo timeout 5s hcitool i hci0 lescan 输出显示在终端屏幕中 但是 当我将输出重定向到文件以保存广告设备的地址时 每次运行该命令时 我都会发现该文件是空的

随机推荐

  • 大事件项目

    目录 1 0 资源地址 1 项目前期的准备工作 1 1 初始化项目结构 1 2 使用GitHub管理大事件的项目 1 3 安装VSCode的Live Server插件辅助开发 2 登录注册 2 1 绘制login页面的基本结构 2 2 实现
  • 【前端】使用ffmpeg+vue3实现简单的视频编辑器

    使用ffmpeg vue3实现简单的视频编辑器 主要依赖 ffmpeg ffmpeg vue 实现功能 视频转码 添加文字水印 添加图片水印 处理进度条和用时 文件编码信息 生成序列帧 界面效果 ffmpeg演示 渲染成品 fmpeg渲染成
  • linux命令之split

    splilt命令的目的是将文件按照一定的规则切分 实战 我现在有一份文件觉得太大 想要切分 split 1000000 a1 kongke company 1000000是按照每100w行去切分 a1 是后缀只有一个 文件名称默认就是xaa
  • MySQL的count(*) ,count(1),count(id)的区别

    数据库查询相信很多人都不陌生 所有经常有人调侃程序员就是CRUD专员 这所谓的CRUD指的就是数据库的增删改查 在数据库的增删改查操作中 使用最频繁的就是查询操作 而在所有查询操作中 统计数量操作更是经常被用到 关于数据库中行数统计 无论是
  • 【Spring】Spring事务

    Spring事务 文章目录 Spring事务 0 事物的概念 1 Spring事务的配置方式 1 1编程式事务管理 1 2声明式事务管理 2 Spring事务的传播机制 3 事物的隔离级别 4 只读 5 事务超时 6 回滚规则 7 Spri
  • 【JVM篇】垃圾回收算法

    目录 1 前言 2 标记 清除算法 3 标记 整理算法 4 标记 复制算法 5 总结 1 前言 说起垃圾回收 Garbage Collection 本文简称GC 相信同时对C 和Java有了解的小伙伴都知道 C 在new完对象后 是需要手动
  • Centos7 宝塔升级swoole版本

    安装swoole 1 首先进入指定目录后下载指定swoole版本 cd usr local src wget https github com swoole swoole src archive v4 5 2 tar gz 2 下载下来后
  • linux c++ 第三章

    1 整型 int short long long long char unsigned int unsigned short 2 最值 include
  • 工作量证明如何拦截97.42%异常机器流量?

    近期休闲小游戏 羊了个羊 火爆朋友圈 这款第二关难度系数极高且带有省份和个人排名的小程序游戏甚至在最高峰时段热度指数超过了和平精英和英雄联盟 但不管是MOBA手游英雄联盟还是休闲小游戏羊了个羊 在繁荣的背后游戏外挂脚本屡见不鲜 羊了个羊游戏
  • selenium入门教程

    目录 1 安装selenium 2 安装浏览器驱动 3 添加浏览器扩展selenium ide 录制操作流程 4 导出python文件 调整脚本 运行脚本 1 安装selenium 使用python自带的包管理器pip工具就可以下载sele
  • 剑指Offer第21题(包含min函数的栈)

    本博客旨在个人总结回顾 题目描述 定义栈的数据结构 请在改类型中实现一个能够得到栈的最小元素的min函数 在改栈中 调用min push及pop的时间复杂度都是O 1 解题思路 当题目思路不清晰时可使用画图或表格来模拟步骤 并慢慢发现其中的
  • 单片机不支持printf 浮点类型的解决办法

    在一些单片机中因为资源受限官方提供的SDK中通常不提供浮点类型数据的打印 如需浮点打印功能可以参考如下做法 前提条件 1 串口通信正常 2 printf 函数已经移植完成 操作方法 1 添加以下函数到工程 以下函数的作用为将一个float类
  • 实现一台电脑登录多个微信账号/一个微信账号在多台电脑登录

    一 一台电脑登录多个微信账号 在电脑桌面建立一个txt文档文件 输入内容 echo off start d C Program Files Tencent WeChat WeChat exe start d C Program Files
  • 鸿星尔克的对话

    夏季 炎热 每一次水灾都是见证人心 见证中国 奇迹的时候 太多太多感触东西 生在这样国度 倍感荣幸 鸿星尔克 火 天上掉下来的馅饼被一个真诚企业接住 应该值得庆幸 但是不是所有人都能接着住的 理性消费 为消费者 不要因为我们 给同行造成困扰
  • pytorch+transformer:简单的时序信号监测

    这里是厂妹 今天整个小课题试试看 上次那个机械臂因为专利问题暂时下架 等专利出来了再发布 话不多说 这次就直接开始吧 1 概述与思路详解 这又是放在一个硬件上面搭配的算法 放在可变换姿态的硬件上 判断当前倾角姿态和硬件姿态的关系 可能融合一
  • 2022年度编程语言排行榜来啦,它凭什么能超过C语言,排名第一?

    IEEE Spectrum 发布了 2023 年度编程语言排行榜 其中 Python 在总榜单以及其他几个分榜单中依然牢牢占据第一名的位置 另外值得关注的是微软 C 语言 它的排行从 2022 年的第 23 名跃升至了今年的第 6 名 称得
  • proxmox-(一)维护小工具

    一常用维护工具 1 1 任务卡主了 后台强制关机 找到对应虚机锁文件 直接删除该锁文件 然后后台执行命令 关机 比如 101虚机 前台执行的关机task 一直在运行 root procompute01 ps ef grep task roo
  • Java 数据结构与算法 栈和队列

    在生活中 我们常常遇到这样的情景 1 某人在学校发书的时候 如果要拿出最上面的书来看 那么直接拿出来就可以了 但是如果想要拿出中间某个位置的书来看 必须要挪开它上面压的书 才能看到这本书 这个时候 就是只能最上面的先拿出来 最下面的后拿出来
  • Numpy 的文件存储.npy和.npz 区别

    Numpy能读写磁盘上的文本数据和二进制数据 提供了多种存取数组内容的文件操作函数 保存数组数据的文件可以是二进制格式或者文本格式 1 将数组以二进制格式保存到磁盘 npy格式 np load 和 np save 是读写磁盘数组数据的两个主
  • 【操作系统实验】Ubuntu Linux 虚拟机文件查找相关命令

    文章目录 whereis help man find locate grep wc 管道 whereis 功能描述 寻找命令的二进制文件 同时也会找到其帮助文件 主要功能是寻找一个命令所在的位置 和find相比 whereis查找的速度非常