Linuxについてのメモ。
特にubuntuに特化していると思います。(使ってるので…)
vim
コマンド
使えそうなものをちょいとメモ
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のディレクトリを直接マウントすることはできない。よって、上記と同様に以下のようにする。
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