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

CentOS 7基础操作08_Linux查找目录和文件

1、which命令——查找用户所执行的命令文件存放的目录

        which命令用于查找Linux命令程序并显示所在的具体位置.其搜索范围主要由用户的环境变量PATH决定(可以执行言echo sPATH”命令查看),这个范围也是Linux操作系统在执行命令或程序时的默认搜索路径。

        which命令使用要查找的命令或程序名作为参数.默认当找到第一个目标后即不再继续查找.若希望在所有搜索路径中查找.可以添加“-a”选项。例如,执行“which ls”命令后,可以找到名为Is的、位于/usr/bin/ls的命令程序文件,具体操作如下:

[root@blab ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@blab ~]# which ls
alias ls='ls --color=auto'/usr/bin/ls

        需要注意的是,由于Shell内置的命令并没有对应的程序文件,因此使用which查找内部命令时.将找不到对应的程序。例如,查找内部命令history的位置时,会提示在搜索路径中没有这个程序文件.具体操作如下。

[root@blab ~]# which history 
/usr/bin/which: no history in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)

2、find命令——查找文件或目录

        find 命令是 Linux操作系统中功能非常强大的查找命令,可以根据目标的名称类型、大小等不同属性进行精细查找,fird命令在查找时采用递归的方式,其使用形式相当灵活,也可以相当复杂.这里只介绍最常用的几种用法。find命令的基本使用格式如下:

find    [查找范围]    [查找条件表达]

        其中,查找范围对应的是在其中查找文件或子目录的目录位置(可以有多个),而查找条件则决定了 find命令根据哪些属性、特征进行查找。较常用的几种查找条件类型如下所述。

  • 按名称查找:关键字为“-name”,根据目标文件的名称进行查找.允许使用“*”及“?”通配符。
  • 按文件大小查找:关键字为“-size”,根据目标文件的大小进行查找.一般使用“+”和“-“号设置超过或小于指定的大小作为查找条件.常用的容量单位包括kB(注意k是小写).MB、GB.
  • 按文件属主查找:关键字为“-user”,根据文件是否属于目标用户进行查找、
  • 按文件类型查找:关键字为“-type”,根据文件的类型进行查找,这里的类型指的是普通文件(f).目录(d),块设备文件(b)、字符设备文件 (c)等。块设备指的是成块读取数据的设备〈如硬盘、内存等).而字符设备指的是按单个字符读取数据的设备(如键盘、鼠标等)

        设置find命令的查找条件时,若需要使用"*"或“?”通配符,最好将文件名用双引号括起来以避免当前目录下符合条件的文件干扰查找结果。例如,以下操作将在/etc目录中递归查找名称以"resol”开头、以~.conf”结尾的文件。

[root@blab ~]# find /etc/ -name "resol*.conf"
/etc/resolv.conf

        使用"-type"查找条件可以过滤出指定类型的文件。例如,以下操作将在/boot目录中查找出所有的文件夹(对应的类型为d).而忽略其他类型的文件。

[root@blab ~]# find /boot/ -type d
/boot/
/boot/efi
/boot/efi/EFI
/boot/efi/EFI/centos
/boot/efi/EFI/centos/fw
/boot/efi/EFI/BOOT
/boot/grub2
/boot/grub2/i386-pc
/boot/grub2/locale
/boot/grub2/fonts
/boot/grub

        需要同时使用多个查找条件时,各表达式之间可以使用逻辑运算符“-a”与“-o”分别表示而且(and)或老(c)例如以下两个操作使田了两个杏坊冬件即‘招1024kB ”和“名称以vmlinuz开头”,但分别使用“-8“-0°组合两个条件,前者表示两个条件必须同时满足.后者表示只需满足其中任何一个条件即可。

[root@blab ~]# find /boot/ -size +1024k -a -name "vmlinuz*"
/boot/vmlinuz-3.10.0-957.el7.x86_64
/boot/vmlinuz-0-rescue-1971b91db4664a60b0e21d5a701b32bc
[root@blab ~]# 
[root@blab ~]# find /boot/ -size +1024k -o -name "vmlinuz*"
/boot/efi/EFI/centos/MokManager.efi
/boot/efi/EFI/centos/mmx64.efi
/boot/efi/EFI/centos/shim.efi
/boot/efi/EFI/centos/shimx64-centos.efi
/boot/efi/EFI/centos/shimx64.efi
/boot/efi/EFI/BOOT/BOOTX64.EFI
/boot/grub2/fonts/unicode.pf2
/boot/System.map-3.10.0-957.el7.x86_64
/boot/vmlinuz-3.10.0-957.el7.x86_64
/boot/initramfs-0-rescue-1971b91db4664a60b0e21d5a701b32bc.img
/boot/vmlinuz-0-rescue-1971b91db4664a60b0e21d5a701b32bc
/boot/initramfs-3.10.0-957.el7.x86_64.img
[root@blab ~]# 

相关文章:

  • 电阻常见失效模式
  • C#操作MySQL从入门到精通(15)——分组数据
  • 实验3-单链表(优化版/王道版)
  • 前端面试题日常练-day63 【面试题】
  • 881. 救生艇
  • maven多模块项目搭建
  • Jenkins构建 Maven项目(微服务)并自动发布
  • Unity2D游戏制作入门 | 12(之人物受伤和死亡的逻辑动画)
  • ES6中如何使用class和extends关键字实现继承?
  • 基于SpringBoot二手图书管理系统
  • 技术前沿 |【大模型BLIP-2的多模态训练】
  • 从零开始,手把手教你文旅产业策划全攻略
  • 【Java】解决Java报错:ArrayIndexOutOfBoundsException
  • 服务器升级Nacos2.2.3报错、rocksdb报错问题处理
  • PromptPort:为大模型定制的创意AI提示词工具库
  • 《Javascript数据结构和算法》笔记-「字典和散列表」
  • 【每日笔记】【Go学习笔记】2019-01-10 codis proxy处理流程
  • 【面试系列】之二:关于js原型
  • Apache的80端口被占用以及访问时报错403
  • bearychat的java client
  • css属性的继承、初识值、计算值、当前值、应用值
  • Java多线程(4):使用线程池执行定时任务
  • Java方法详解
  • java架构面试锦集:开源框架+并发+数据结构+大企必备面试题
  • Laravel Telescope:优雅的应用调试工具
  • Linux中的硬链接与软链接
  • MySQL主从复制读写分离及奇怪的问题
  • SQLServer之索引简介
  • 百度贴吧爬虫node+vue baidu_tieba_crawler
  • 分布式事物理论与实践
  • 关于 Cirru Editor 存储格式
  • 技术发展面试
  • 容器化应用: 在阿里云搭建多节点 Openshift 集群
  • 如何用Ubuntu和Xen来设置Kubernetes?
  • 使用前端开发工具包WijmoJS - 创建自定义DropDownTree控件(包含源代码)
  • 通过npm或yarn自动生成vue组件
  • 系统认识JavaScript正则表达式
  • 一个SAP顾问在美国的这些年
  • 在Unity中实现一个简单的消息管理器
  • ​​​​​​​GitLab 之 GitLab-Runner 安装,配置与问题汇总
  • #Ubuntu(修改root信息)
  • #免费 苹果M系芯片Macbook电脑MacOS使用Bash脚本写入(读写)NTFS硬盘教程
  • #我与Java虚拟机的故事#连载08:书读百遍其义自见
  • #预处理和函数的对比以及条件编译
  • #知识分享#笔记#学习方法
  • (k8s中)docker netty OOM问题记录
  • (第8天)保姆级 PL/SQL Developer 安装与配置
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (十)c52学习之旅-定时器实验
  • (一)pytest自动化测试框架之生成测试报告(mac系统)
  • (原创)可支持最大高度的NestedScrollView
  • .equals()到底是什么意思?
  • .net core webapi Startup 注入ConfigurePrimaryHttpMessageHandler
  • .NET Core WebAPI中使用swagger版本控制,添加注释
  • .NET 中选择合适的文件打开模式(CreateNew, Create, Open, OpenOrCreate, Truncate, Append)