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

Ubuntu16下执行strings+grep命令无输出,求原因及解决方法

问题分析与解决方案

可能原因

  • 文件路径错误或包安装不完整:你命令里的路径包含h1234567,这明显是Anaconda包版本号的占位符(正常应为一串实际哈希值),大概率该文件不存在,或是libstdcxx-ng包安装过程中出现损坏。
  • 库文件被strip处理:部分发布的库文件会经过strip操作,移除字符串、符号表等调试信息,导致strings命令无法提取到内容。
  • 权限不足:如果当前用户对目标文件没有读取权限,strings也不会输出任何结果。

解决步骤

  1. 验证文件与权限
    先确认文件是否存在且可读取:

    ls -l /media/zhanggy/anaconda3/pkgs/libstdcxx-ng-11.2.0-h1234567_1/lib/libstdc++.so.6.0.29
    

    如果提示“没有那个文件或目录”,去/media/zhanggy/anaconda3/pkgs/libstdcxx-ng-11.2.0-目录下查看实际的哈希后缀(比如类似h9272792_1的字符串),替换到原路径中。

  2. 检查文件是否被strip
    用file命令查看文件状态:

    file /media/zhanggy/anaconda3/pkgs/libstdcxx-ng-11.2.0-hxxx_1/lib/libstdc++.so.6.0.29
    

    如果输出包含stripped字样,说明该库已被移除字符串信息,需要获取未strip的版本。

  3. 重新安装Anaconda包
    卸载并重新安装libstdcxx-ng包,确保文件完整:

    conda remove libstdcxx-ng
    conda install -c conda-forge libstdcxx-ng=11.2.0
    

    安装完成后,用conda list libstdcxx-ng查看新的安装路径,再执行strings命令尝试提取内容。

  4. 替代方案:查看系统自带库
    如果只是需要获取GLIBCXX版本信息,可直接检查Ubuntu系统自带的libstdc++库:

    strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 17:22:07