linux 查找当前文件夹下有没有指定文件名的文件-模糊查询

在 Linux 中查找当前文件夹下是否存在指定文件名的文件,可以通过以下方法实现:


方法 1:使用 ls 命令

ls 指定文件名 2>/dev/null
  • 作用:列出当前目录下匹配的文件名。
  • 说明
    • 如果文件存在,会直接输出文件名。
    • 如果文件不存在,不会有任何输出。
    • 2>/dev/null 用于隐藏错误信息(如权限不足等)。

示例

ls myfile.txt 2>/dev/null

方法 2:使用 test 命令(条件判断)


if [ -f "指定文件名" ]; then
    echo "文件存在"
else
    echo "文件不存在"
fi
  • 作用:通过条件语句直接判断文件是否存在。
  • 说明
    • -f 参数检查是否存在且为普通文件(非目录)。
    • 如果需要检查目录,替换为 -d 参数。

示例

if [ -f "myfile.txt" ]; then
    echo "myfile.txt 存在"
else
    echo "myfile.txt 不存在"
fi

方法 3:使用 find 命令(递归搜索)

find . -maxdepth 1 -name "指定文件名"
  • 作用:在当前目录(不递归子目录)中搜索文件。
  • 说明
    • . 表示当前目录。
    • -maxdepth 1 限制搜索深度为当前目录。
    • -name 参数支持通配符(如 *.txt)。

示例

find . -maxdepth 1 -name "myfile.txt"

方法 4:使用 grep 过滤 ls 输出

ls | grep -x "指定文件名"
  • 作用:通过管道符 | 过滤 ls 的输出。
  • 说明
    • grep -x 确保完全匹配文件名(避免部分匹配)。

示例

ls | grep -x "myfile.txt"

总结

  • 简单检查存在性:推荐方法 2(条件判断)。
  • 需要列出文件:推荐方法 1 或 4。
  • 需要递归搜索:使用方法 3。

根据实际需求选择合适的方法即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值