文字化けしてどうにもならないファイル名やディレクトリ名を指定する

昔使っていた、Sambaのディスクを発掘したのだが、どの文字コードでフォルダ名ができてるのかわからなくて、にっちもさっちも行かなかったので、調べたメモ。

> ls -la

drwxrwxrwx 7 nobody nogroup 4096 Mar 18 15:20 ./
drwxrwxrwx 11 root root 12288 Feb 20 14:33 ../
drwxrwxrwx 2 nobody nogroup 4096 Nov 13 17:03 ????????????????????????/
drwxrwxrwx 4 nobody nogroup 4096 Mar 18 15:13 ??????/
drwxrwxrwx 3 nobody nogroup 4096 Dec 17 15:36 ??????/

>

lsしたらこんなんなっちゃって、どれがどれやら。でも、12月に作ったディレクトリってのは覚えてる。この中になんとかして入りたい。

> cd ??????/

なんて打ったって無駄なのは、さすがに知っている。こんなときのメモ。

> ls -il

11548657 drwxrwxrwx 2 nobody nogroup 4096 Nov 13 17:03 ????????????????????????/
9849601 drwxrwxrwx 4 nobody nogroup 4096 Mar 18 15:13 ??????/
8544532 drwxrwxrwx 3 nobody nogroup 4096 Dec 17 15:36 ??????/

>

ls -iってするとi-node番号も一緒に表示してくれる。i-node番号がわかればあと一歩。

> cd $(find . -maxdepth 1 -type d -inum 8544532)

>

findでinumを指定してファイル名を取得。それをそのままcdなりrmなりに流しこめばOK。

もっとスマートなやり方もありそうだけど、応急処置として。

「文字化けしてどうにもならないファイル名やディレクトリ名を指定する」への3件のフィードバック

  1. Dim ans
    ans = MsgBox(“あなたはこのフォルダを勝手に開いたということは、死ぬ覚悟をきめてきたと思う。しかしここで言っておこう。この先何がおきても保証しません。さあ、ひらきますか?☠”, vbYesNo)
    If ans vbYes Then
    MsgBox(“質問をします。”)
    MsgBox(“あなたは人のために働くことがいいことだと思いますか?”, vbYesNo)
    If ans vbYes Then
    MsgBox(“賢明な考え方だ。いいだろう秘密のパスワードを教えてやろう”)
    MsgBox(“$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$”)
    Else
    InputBox(“あなたの本名を登録してください”)
    InputBox(“あなたの年齢を登録してください”)
    If ans > 13 Then
    InputBox(“あなたの住所を登録してください”)
    Else
    MsgBox(“なぜ嘘をかいた”)
    End If
    End If
    End If
    Else
    MsgBox(“まあ開かないほうがよかったであろう。”)

    これのおかしいとこをなおしてください

  2. 最初にansに代入したきり、ansの値が変化していません。
    想像ですけど、5行目、11行目でansに値を代入するのを忘れているのでは?

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.