アットウィキロゴ

UNIX

その他のコマンド関連はコチラ

  • 環境変数TMPDIRの話

   色んな作業をすると,その過程で一時ファイルに保存を行うことがある.
   この一時ファイルが正しく保存されないと,悲しいことが起こったり,
   処理結果を用いて作業を行う際に,思ったように動作しなかったりする.

   このような場合には,一時ファイルのディレクトリを指定すればいい.
   具体的には,bash_profileやprofileやbashrcなどに記述すればいいわけだが,
   これらは開発環境によってファイルが変わる.

echo $SHELL

   とすると,開発環境のシェルの種類が判明する.
   ちなみに,/bin/shとか/bin/bashとか色々あります.


   話はそれたが,環境変数TMPDIRを宣言すればよく,

export TMPDIR=/hogehoge

   で設定できる.
   蛇足だが,windowsの場合は,環境変数でTMPをいじればいい.

   これらの設定を宣言しない場合は,普通はデフォルトが使用され,/tmpや/var/tmpなどがあてはまる.
   普通は,何も問題ないので,この辺の設定は触らなくていいはずである.


  • emacsの文字コードの話
  1. catでもlessでも見れない場合
  2. catでは見れるが,lessでは見れない場合
  3. catでもlessでも見れるが,emacsで見れない場合

   といった,大きく三つの場合に分けて考えてみる.

事象1
windows側からsshで繋いでいたりする場合,その使用端末(cygwin/MinGW/Teraterm/etc...)と,テキストの文字コードと違う場合,化ける. ちなみにテキストの文字コードは

nkf --guess hoge.text

で見られる. 文字コードを変える場合もnkfで,

nkf -w hoge.text > hogehoge.text
-s :sjis
-e :euc
-w :utf8

noyounishite おようにして,オプションをつけて変更する.

事象2
これは,計算機の文字コードとテキストやが違う可能性がある.

export

でLANGの部分を見てみて, ここのLANGの文字コードが違う場合,LANGの文字コードを変更してみる. 宣言は,

export LANG="ja_JP.utf8"

とかである.他に,

ja_JP.eucJP
ja_JP.SJIS
ja_JP.utf8

などがある.

事象3
catでもlessでも見れるのに,emacsで開くと,別の文字でエンコードされてしまうために,上手く開けない場合がある.この場合はemacsの文字コードが違う. ファイルの先頭に,

/* -*- coding: utf-8 -*- */

をつけてもいいが,ひとまず,設定ファイル“.emacs”をひらいてみて,設定を確認してみる.

(set-language-environment "Japanese")
(prefer-coding-system 'utf-8-unix)
(setq default-buffer-file-coding-system 'utf-8)
(set-buffer-file-coding-system 'utf-8)
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(set-clipboard-coding-system 'utf-8)

のようにする.

   以上UTF-8の場合を例にとって説明してみた.

  • emacsのショートカットのメモ    なんとなく,emacsのショートカットキーをメモしておく.


   ・C-aで行頭に移動してコピー
   ・C-kで1行切り取り
   ・C-yで1行貼り付け

  • jobs    バックグラウンドプロセスの終了は,まず
    jobs -pl
    
       でジョブを確認すると,
    [1]+ 27765 Stopped
    
       のような出力が得られるはずである.
       そこで,killシグナルをオプションでつけて,
    kill -9 ○○○○
    
       と入力すると強制終了できる.
       またジョブ番号を指定して,
    kill %1
    
       とすることもできる.
       %をつけないとプロセスIDでの強制終了になるので,予想外な結果になったりする.
  • ネットワーク関連の話    IPアドレスとかを調べるコマンドをメモしておく.
       まず,hostに対するIPアドレスを調べる方法は,
    host www.google.com
    www.google.com is an alias for www.l.google.com.
    www.l.google.com has address 74.125.235.146
    www.l.google.com has address 74.125.235.147
    www.l.google.com has address 74.125.235.148
    www.l.google.com has address 74.125.235.144
    www.l.google.com has address 74.125.235.145
    

       のような感じで分かる.
       次に,こうして得たIPアドレスを打ち込んで,そのネットワークの通信状況を調べるのがpingコマンドである.
    $ ping 74.125.235.146
    PING 74.125.235.146 (74.125.235.146) 56(84) bytes of data.
    64 bytes from 74.125.235.146: icmp_req=1 ttl=53 time=12.8 ms
    64 bytes from 74.125.235.146: icmp_req=2 ttl=53 time=12.5 ms
    :
    --- 74.125.235.146 ping statistics ---
    40 packets transmitted, 40 received, 0% packet loss, time 39068ms
    

       みたいな感じである.pingを打って返事が返ってこなければ,ホストが正常に動いていないなどの理由が考えられる.
       では,このgoogleのサイトにはどのようなネットワークを通して接続しているのか.
       それを調べるのが,traceroutである.
    $ tracert 74.125.235.146
    nrt19s11-in-f18.1e100.net [74.125.235.146] へのルートをトレースしています
    経由するホップ数は最大 30 です:
    1     1 ms     1 ms    14 ms  192.168.2.1
    2    27 ms     7 ms     7 ms  133.205.100.194
    3   175 ms     *        7 ms  133.205.100.222
    4    12 ms    12 ms    12 ms  133.205.93.44
    5   490 ms    12 ms    11 ms  122.133.0.86
    6    37 ms    14 ms    15 ms  122.130.0.78
    7    22 ms    12 ms    12 ms  122.130.0.117
    8    14 ms    12 ms    12 ms  122.130.0.225
    9    14 ms    12 ms    11 ms  122.134.0.73
    10    15 ms    12 ms    12 ms  210.147.255.146
    11    13 ms    12 ms    12 ms  72.14.239.48
    12    39 ms    12 ms    12 ms  209.85.241.129
    13    22 ms    12 ms    12 ms  nrt19s11-in-f18.1e100.net [74.125.235.146]
    トレースを完了しました。
    


   自分のIPアドレスは何だろう.と思うこともたびたびある.そんなときは,ifconfigコマンドである.

ifconfig

   とうつとぞろぞろと情報がでてくる.
   ちなみにwindowsの場合はipconfig である.

最終更新:2011年12月26日 23:25