Sambaサーバで文字化けしたファイルを操作する


目次

  1. Sambaサーバでの日本語ファイル名
  2. jls - ディレクトリの内容を日本語で表示
  3. jmv - ファイル・ディレクトリの移動や名前変更
  4. jcd - 作業用ディレクトリの変更

  1. Sambaサーバでの日本語ファイル名
  2. sambaサーバにコンソールやTelnetからログインすると、日本語名のファイルやディレクトリが文字化けしています。
    そのままではファイル操作やディレクトリの移動が行えず、メンテナンスがしにくいので日本語名のファイルやディレクトリを操作できるよう、いくつかコマンドを作りました。

  3. jls
  4. 名前:jls - ディレクトリの内容を日本語で表示
    形式:jls ...
    スクリプト
    
    #!/bin/sh
    ls $1 $2 | nkf
    		

    使用例
    
    toshi@samba:~/j-file$ jls -i
    4702213 test1.txt
    4227112 新規テキスト ドキュメント.txt
    4227116 日本語.txt
    toshi@samba:~/j-file$
    		

  5. jmv
  6. 名前:jmv - ファイル・ディレクトリの移動や名前変更
    形式:jmv ... filename ... directory
    スクリプト
    
    #!/bin/sh
    find -inum $1 -exec mv '{}' $2 \;
    		

    使用方法
    まず"jls -i"としてファイルのi-node番号を調べます。
    次に"jmv [i-node番号] 新ファイル名"とします。
    
    toshi@samba:~/j-file$ jls -i
    4702213 test1.txt
    4227112 新規テキスト ドキュメント.txt
    4227116 日本語.txt
    toshi@samba:~/j-file$ jmv 4227116 nihongo.txt
    toshi@samba:~/j-file$ jls -i
    4227116 nihongo.txt
    4702213 test1.txt
    4227112 新規テキスト ドキュメント.txt
    toshi@samba:~/j-file$
    		

  7. jcd
  8. 名前:jcd - 作業用ディレクトリの変更
    形式:jcd directory
    スクリプト
    
    #!/bin/sh
    echo '#!/bin/sh' > ./jcd.tmp
    find -inum $1 -exec echo cd '{}' >> ./jcd.tmp \;
    chmod 755 ./jcd.tmp
    source jcd.tmp
    		

    使用方法
    まず"jls -i"としてディレクトリのi-node番号を調べます。
    次に". jcd [i-node番号]"とします。("."と"jcd"の間にスペースを空ける)
    
    toshi@samba:~/j-file$ jls -i
    4227295 jcd.tmp
    4309031 新しいフォルダ
    4309030 日本語フォルダ
    toshi@samba:~/j-file$ . jcd 4309031
    toshi@samba:~/j-file/V帰tH     ←文字化けしている
       _$ pwd | nkf  ←カレントディレクトリを日本語で表示
    /home/toshi/j-file/新しいフォルダ
    		

    上記のスクリプトは、スクリプト内で移動前ディレクトリに"jcd.tmp"というファイルを作成します。
    気になるようでしたら作業終了後に削除してください。

御意見御感想等ありましたらtoshi's BBSまでどうぞ。

TOP


最終更新日: 2009 Jan 16