Ubuntu 20.04部分隐藏文件/文件夹可访问但无法查看及自动补全问题排查
看起来你遇到了挺闹心的问题——明明能手动输入路径访问~/.aws、~/.zshrc这类隐藏文件/文件夹,但不管是文件管理器还是终端都看不到它们,自动补全也完全失效,而且还只针对部分点开头的项目对吧?结合你提到的之前处理显卡驱动、从USB启动修复磁盘、解密home分区的经历,咱们一步步来排查可能的原因:
先检查文件权限是否错乱
解密home分区后很容易出现权限重置的情况,导致系统没法正常识别这些文件。先在终端里用命令查看目标文件/文件夹的权限:ls -ld ~/.aws ~/.zshrc正常情况下,输出内容里的所有者和所属组应该是你当前的用户名(比如
youruser youruser)。如果显示的是root或者其他陌生用户,就手动修正权限:# 修复文件夹权限 chown -R $USER:$USER ~/.aws chmod -R 700 ~/.aws # 修复文件权限 chown $USER:$USER ~/.zshrc chmod 600 ~/.zshrc改完后关闭终端重新打开,再试试自动补全和文件管理器查看。
排查终端的自动补全配置
既然~/.zshrc本身都没法自动补全,大概率是zsh的补全功能出了问题。先检查你的zsh配置文件有没有被误改:cat ~/.zshrc看看里面有没有注释掉补全相关的行(比如
autoload -Uz compinit && compinit),如果有的话把注释去掉。要是不确定,也可以手动重新初始化补全:autoload -Uz compinit && compinit执行完后重启终端,测试自动补全是否恢复。如果是用bash的话,就检查
~/.bashrc里有没有source /etc/bash_completion这类加载补全的配置。确认文件管理器的隐藏文件显示规则
虽然你说手动能导航到,但还是快速确认下Nautilus的设置:打开文件管理器,按Ctrl+H切换隐藏文件显示状态,或者点击右上角菜单里的「显示隐藏文件」选项,看看这些文件会不会出现。另外,也可以检查下有没有被意外加入隐藏列表:打开~/.config/nautilus/preferences文件,看看有没有类似hidden-files-visible=false的错误配置,有的话改成true。检查文件的扩展属性
解密后的文件可能带有特殊的扩展属性,导致系统不把它们当成普通文件处理。用这个命令查看:lsattr ~/.aws ~/.zshrc如果输出里看到
i(不可修改)或者a(只可追加)这类属性,就用chattr命令移除:chattr -i ~/.aws ~/.zshrc之后再查看是否能正常显示。
重新检测文件系统元数据
虽然你用Live USB修复过,但有时候fsck可能没检测到深层的元数据问题。建议再次用Live USB启动,先卸载你的主分区(比如/dev/sda3,要根据自己的实际分区路径调整),然后运行强制修复命令:sudo umount /dev/sda3 sudo fsck -fy /dev/sda3修复完成后重启系统,看看问题是否解决。
先从权限和终端补全配置开始排查,这两个是最常见的原因,尤其是你之前操作过解密分区,权限错乱的概率很高。如果这些步骤都试过还是不行,可以再检查下系统的用户配置文件有没有损坏~
备注:内容来源于stack exchange,提问作者Eak'Lon




