Linux(ubuntu)

Linuxについてのメモ。

特にubuntuに特化していると思います。(使ってるので…)

vim

プラグインの参考サイト
http://tech.kayac.com/archive/vim-3-plugin.html

コマンド

使えそうなものをちょいとメモ

sshfs

サーバー上の領域を自分の端末にマウントする。
これによって、ローカルではできない大規模なデータの取り扱いなども可能となる。
sshfs (サーバー上のディレクトリ) (ローカルでのマウント先のディレクトリ)
例)
sshfs hiroyoshi@cs611.ac.jp:/ ~/CS611
上記のようにすることで、サーバーcs611上のアカウントhiroyoshiのディレクトリを、ローカルのCS611というディレクトリにマウントする。
アンマウントは、
fusermount -u ~/CS611
とする。

(2009/11/26追記)
学外から学内の計算サーバーに接続しようとする場合、直接計算サーバーにはアクセスすることができない。
アクセスするには、WEBサーバーに一旦入った後さらに計算サーバーに入る必要がある。

具体的には、計算サーバーcs622サーバーとWEBサーバーcs611とすると
ssh hiroyoshi@cs611.ac.jp
で、cs611サーバーに接続後
ssh hiroyoshi@cs622.ac.jp
とする。

これは、sshfsでも同様である。
つまり、cs622のディレクトリを直接マウントすることはできない。よって、上記と同様に以下のようにする。

  • まず、WEBサーバーに接続
ssh hiroyoshi@cs611.ac.jp
  • WEBサーバー上で、適当なディレクトリを作る(マウント用、中身は空のままで)
mkdir HOGE
  • WEBサーバー上から計算サーバーのディレクトリをHOGEにマウント
sshfs hiroyoshi@cs622.ac.jp: ~/HOGE
  • 自分のローカルPCに戻り、WEBサーバーのディレクトリをマウント
sshfs hiroyoshi@cs611.ac.jp: ~/HOGE

アンマウントする場合には、ローカルPCとWEBサーバー上の両方をアンマウントする。
コマンドは上記のものと同じ。(sudoはいらない)


fuse

今回、上記の2段階のマウントを設定したが、このfuseの設定が必要だった。
(以下は正確な記述ではありません。僕個人の感覚に乗っ取った解釈が含まれます。詳しくは他のページを参照)

fuseとは、サーバー上のファイルシステムの1つのことのようで、cdromやhdaとそう変わらない印象を受けた。
これには他のファイルと同様に、実行権限が付与されていて、そのままではroot以外には実行・読み書きができない。
そこですべきことは、2つある。

1、サーバー上のアカウントのグループに「fuse」を追加する
2、fuseの実行権限を変更する

これらを行うことで、root以外の一般のユーザーもsshfsをサーバー上で使用することができるようになる
実際には以下のように行う。

  • 何もしないままsshfsを使おうとすると、「modprobe fuse」を試せ、と言われるので実行する
まず、rootになって
su -
(パスワード入力)
modprobe fuse
  • もう一度sshfsをしようとすると、「Permission denied」などが出る(この辺は曖昧…)
具体的には、/dev/group/のfuseに自分の名前を追加する
vi /dev/group
で、編集する
fuse:100:x:hirosyohi
のようにする
  • 最後に、fuseの実行権限を変更する
  • 他のユーザーの読み書きを許可する
chmod o+rw /etc/fuse
以上でsshfsが実行可能になる

ソースファイルからコメントのみ削除する

以下のコマンドには条件があります。
・コメントの行がコメントのみで構成されていること
これは、行単位で処理を行うためであり、以上にあてはまらないファイルである場合にはソースの一部が消えてしまう危険性がある

grep -v "//" (元ファイル) >> out1.txt | grep -v "*" out1.txt >> (変更後ファイル名) ; rm out1.txt

grepのオプション「-v」でパターンに一致しない行を表示し、それをファイルとして出力するだけの単純なもの。
もっと他にないかな・・・。
パターンを変えたりすればjava以外のソースにも使えそうだし。

javacのコンパイル前に文字コードエンコーディング

cuiでjavaをコンパイル・実行する場合に役に立つオプションがあった。

javaのソース中に日本語、つまりASCII文字を使っている場合には普通に
javac ????.java
とすると、めちゃくちゃ怒られる。

そこで次のオプションを使う。
-encoding ???
???には「EUC-JP」か「UTF-8」を入れる。

これでコンパイル前にエンコーディングしてくれる。
コメントで日本語があっても問題なくコンパイルできる。

ubuntuのIPアドレスを固定する方法




#bf
名前:
コメント:

Today's Access -
Yesterday's Access -
最終更新:2011年04月26日 00:06
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。