You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用ls命令在当前目录查找特定文件(含localhost文件名示例)

使用ls命令查找当前目录中包含特定关键词的文件(以"localhost"为例)

嘿,这个需求超常见!用ls配合shell通配符就能轻松搞定,下面给你拆解几种实用的方法:

1. 基础匹配:查找所有包含"localhost"的条目(文件+目录)

shell里的*通配符可以匹配任意长度的任意字符(包括空字符),所以直接用这个命令就能列出当前目录中文件名包含"localhost"的所有内容:

ls *localhost*

比如你的目录里有localhost.conf、my-localhost-log.txt、localhost_backup和localhost_dir/,这个命令会把它们全部列出来。

2. 只匹配文件(排除目录)

如果你只想找文件,不想把目录也列出来,可以用两种方式:

  • 方式一:借助ls -p和grep
    ls -p会给目录名末尾加上/标记,我们用grep -v /排除掉带/的条目,剩下的就是纯文件:
    ls -p *localhost* | grep -v /
    
  • 方式二:用ls -l过滤文件类型
    ls -l的输出开头第一个字符代表文件类型(-是普通文件,d是目录),所以用grep ^-过滤出开头为-的行:
    ls -l *localhost* | grep ^-
    

3. 忽略大小写进行匹配

如果你的系统默认区分大小写(比如大多数Linux发行版),但你想匹配像LocalHost.txt或者LOCALHOST.conf这类文件,可以先开启shell的不区分大小写通配功能,再执行查找:

# 开启不区分大小写通配
shopt -s nocaseglob
# 执行查找
ls *localhost*
# 用完可以关闭这个设置(可选)
shopt -u nocaseglob

内容的提问来源于stack exchange,提问作者user1934643

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:22:54