V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
leo747604
V2EX  ›  Ubuntu

一个奇怪的 Linux 文件问题

  •  
  •   leo747604 · 170 天前 · 794 次点击
    这是一个创建于 170 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Ubuntu 目录里突然出现目录 "." 和 "..":

    (base) leo@ICELAND:~/some_dir$ ls -l -a
    total 1164
    drwxrwxr-x 3 leo leo   4096 Dec  1 07:08 .
    drwxrwxr-x 4 leo leo   4096 Dec  1 11:52 ..
    drwxrwxr-x 8 leo leo   4096 Dec  1 12:19 .git
    

    上传到 Git Server 就无法 clone / pull, 也没法 revert 有问题的那次 commit:

    error: invalid path './.git/xxx'
    error: invalid path './monitor.py'
    fatal: revert failed
    

    这两个目录还没法删除:

    rm: refusing to remove '.' or '..' directory: skipping '.'
    

    尝试用 inode 删除, 但还是一样的结果:

    find . -inum 830800 -exec rm -rf -i {} \;
    

    我尝试进入这个目录:

    cd: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory
    

    正常情况下 "." 应该是当前目录, ".." 应该是上级目录, 而且以前用

    ls -l -a
    

    也从来没出现过这两个隐藏目录 各位有碰到这样的情况吗

    puttsync0f
        1
    puttsync0f  
       170 天前   ❤️ 1
    不会玩 Linux 建议不要玩!!!
    连 . 和 .. 都搞不懂用什么 Linux ?
    还想把它们删掉,你是要笑死我吗?
    zebedy
        2
    zebedy  
       170 天前 via iPhone
    你可要笑死我了,.表示当前目录,..表示上层目录,不信你 cd ..看看能为你到哪儿
    今日看到的最好笑的事情
    leo747604
        3
    leo747604  
    OP
       170 天前
    @zebedy @puttsync0f 可能是我没描述清楚,是除了正常应该有的 . 和 .. 之外还有 . 和 .. ,这两个是不应该存在的,删也删不掉
    leo747604
        4
    leo747604  
    OP
       170 天前
    @zebedy
    @puttsync0f
    不是原有的 . 和 ..
    puttsync0f
        5
    puttsync0f  
       170 天前
    @leo747604 Linux 一切皆文件,什么时候允许重名了?我都懒得回复你
    AoEiuV020JP
        6
    AoEiuV020JP  
       170 天前
    不知道你在折腾什么,linux 对所有程序而言,点都是当前目录,点点都是上级目录,压根没有程序能创建这两个名字的文件和文件夹,也无法展示,,
    ls -l -a 本来就是会列出点和点点的,
    dnfQzjPBXtWmML
        7
    dnfQzjPBXtWmML  
       170 天前
    加了-a 就会出现这两个
    leo747604
        8
    leo747604  
    OP
       170 天前 via iPhone
    @AoEiuV020JP 我知道啊,理论上来说却是创建不了这种文件名的文件。我也没见过这种情况,不过我刚才好像看错了,多余的.是个文件
    drwxrwxr-x 3 leo leo 4096 Dec 1 07:08 .
    drwxrwxr-x 4 leo leo 4096 Dec 1 11:52 ..
    -rw-r--r-- 8 gga gga 3872 Dec 1 11:10 .
    drwxrwxr-x 4 leo leo 4096 Dec 1 11:52 .git
    leo747604
        9
    leo747604  
    OP
       170 天前 via iPhone
    @leo747604
    @dnfQzjPBXtWmML
    刚才看了下另一个目录下,是这样显示
    oamzn
        10
    oamzn  
       170 天前
    突然发现一个很奇怪的问题,赶紧上 V 站发个贴讨论下(这帖子质量肯定高)
    然后。。。就没有然后了;
    不错很好的摸鱼帖子
    leo747604
        11
    leo747604  
    OP
       170 天前 via iPhone
    @oamzn
    @dnfQzjPBXtWmML
    @AoEiuV020JP
    @puttsync0f
    @zebedy

    抱歉占用各位时间了, 找到原因了, 是 GitPython 这个包使用不当导致其创建了一个 '. '和 '.. ' 由于一开始是在 VS Code 远程连接看的, 文件列表里并没有像 ls 那样显示 '. ', 而只是一个点, 而传到 Git Server (Gogs) 之后它并不能正确处理这个点导致接下来的一系列问题
    AoEiuV020JP
        12
    AoEiuV020JP  
       170 天前
    总之就是文件全名是点后面带空格?这种我也有用,可 ls 出来也不是主贴显示的样子,
    leo747604
        13
    leo747604  
    OP
       170 天前 via iPhone
    @AoEiuV020JP 我现在也不能确定到底是怎么回事,Gogs 上还是把它识别成了目录
    [https://img.xwyue.com/i/2023/12/01/6569786b511d4.jpeg]( https://img.xwyue.com/i/2023/12/01/6569786b511d4.jpeg)
    leo747604
        14
    leo747604  
    OP
       170 天前 via iPhone
    @AoEiuV020JP 现在是 GitPython 操作过两个目录,其中一个有问题的目录删掉了,另一个目录下 .后面带空格,另一个什么问题暂时不确定
    mephisto
        15
    mephisto  
       170 天前
    @leo747604 有可能他只是看其来像点,实际是另外一个 unicode 字符,骗过了人眼,以前很多人这样弄欺诈域名的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2406 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 14:45 · PVG 22:45 · LAX 07:45 · JFK 10:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.