アメリエフのブログ

Amelieff Staff Blog

システム

稼働中のタスクをtopコマンドで!

サーバで動いているタスクを「top」コマンドで確認してみましょう。 コマンドはとてもシンプルです。$ top システムのCPU使用率順に、稼働中のプロセスが表示されます。図ではpsiblastとvimが一番プロセスを使用していますね。プロセスを稼働しているユーザ…

Google日本語入力なら矢印の入力が簡単

こんにちは、久保(@kubor_)です。 スマートフォンのバイブモーターが経年劣化のためか、軸ブレしており、ギュイーンギュイーン鳴ってしまうんですが、買い替えどきでしょうか。ウェイトの偏りが振動を生みます正常なバイブモーターであれば、軸がブレず、…

cpコマンドの進捗状況をチェックする

コピー中にあとどれくらいか知りたい時があるんです、 特に`cp -v`を忘れた時に有用 Xfennec/progress 調べたら、こちらのprogressを使うと簡単にできますダウンロード$ git clone https://github.com/Xfennec/progress.git Initialized empty Git repositor…

ヘビーな夏

弊社が一部講義を担当した平成27年度NGSハンズオン講習会のアンケート結果を、事務局のかたから送っていただきました。 私が担当したSh、Perl、Pythonに関しては、「易しいと思っていたらいきなり最終課題が難しくなった」というご意見が多かったです。 実は…

どの括弧が閉じているのかよく分かるVimの設定

京都支店に居た頃、鴨川でサンドウィッチを食べているところをトンビに襲われ、出血したことがある久保(kubor)です。 Vimを使っていて、コーディング中、 括弧が重なって困るなら、対応する括弧をハイライトしましょう。 もしくは対応する括弧へカーソルを…

どんな改行コードでも・後

前回に引き続き改行コードの処理の話です。 今回はPerl・Pythonのなかでどう扱うか、コード例を挙げて説明します。 perlの例 行末の「¥n」はchompで取り除くことができます。それ以外は正規表現を使うと簡単と思います。 open IN,"file.txt" or die "$!";whi…

どんな改行コードでも・前

弊社のトレーニングやNGSハンズオン講習会などでPerlやPythonに触れた方は「『¥n』で行の末尾を示す」と聞いたことがあると思います。 『¥n』はLine Feed、LFとも呼び、LinuxまたはMac OS Xで使われる改行コードです。改行コードはOSの種類やバージョン、ソ…

Pythonでgzipされたテキストファイルをcsvモジュールで読み込む

gzip圧縮されたファイルをPythonで読み込むときには、少し注意が必要です。 例として、手元に偶然あった魔法の言葉が書かれたタブ区切りテキストファイルを使用してみます。 zcat supercalifragilisticexpialidocious.txt.gzsuper cali fragilistic expia li…

シェル芸

hatです。 先日、jus & USP友の会さんのシェル芸勉強会に参加してきました。 シェル芸は、USP友の会会長上田さんのブログで次のように定義されています。 「マウスも使わず、ソースコードも残さず、GUIツールを立ち上げる間もなく、あらゆる調査・計算・テキ…

or dieよりもautodieがナウい

こんにちは、朝ごはんはパン派の久保(kubor)です。 みなさん、Perl書いてますか? 文字列処理が得意なPerlの使いドコロといえば、FASTQファイルを処理したり、TSVファイルを処理したり、とにかくファイル操作が多いです。 Perlでは、ファイルハンドルの作…

全部ぶちまける前に

五月になり、GWも終わって、世間の新歓ムードも落ち着いてきました。 自分が学生や新社会人だった頃を思い返すと、この時期はお酒を飲んでいろいろなもの(暴言や未消化の食物)を口から出していた思い出ばかりです。 そのような記憶を胆汁の味とともに苦々…

書き込み権限の無いファイルをsudoで上書き保存する

こんにちは、根は真面目な、久保(kubor)です。 みなさん、Vim使ってますか? vimでファイルを編集し終わって、よし、保存しようと思い、 :w E45: 'readonly' オプションが設定されています (! を追加で上書き) 「ああああ、sudo vimしてない」てなことが結…

Pythonの19のおきて

温泉街などに行くと「長生きの心得 10訓」や「夫婦円満の秘訣 20条」などを湯飲みやペナントに書いたものが売られているのを目にすることがあります。 箇条書きなので一見説得力がありますが、良く読むとそれほど実のあることを言っていなかったりして、その…

CentOSの2TBの壁

こんにちは。Kitanoです。 突然ですが、皆さんは「CentOSにおける2TBの壁」というものをご存知でしょうか? これは、サーバ構築時やfdiskコマンドによるパーティション作成の際に、2TB以上のパーティションの作成ができないという問題を示した言葉です。 つ…

ログの残し方

ソフトウェアによっては、実行時に非常に詳細なログをずらーっと出力してくれます。 なぜか解析がうまくいかないときなど、解析時の実行内容を確認するため、このログを後から見返すと役に立つことも度々あります。 しかし、ログを流しっぱなしにしては、後…

grepのこんなオプション

grepでは検索にヒットした行の前後の行を併せて表示することができます。 このようなファイルがあった場合に Humpty Dumpty sat on a wall, Humpty Dumpty had a great fall. All the King's horses, And all the King's men Couldn't put Humpty together a…

大事なことなので

10年以上Linuxで仕事していますが、いまだに知らないコマンドが たくさんあります。 最近 yes というコマンドを知りました。 指定した文字列をひたすら出力し続けるコマンドです。 実行例です。 $ yes SPAM! SPAM! SPAM! SPAM! SPAM! SPAM! : 止めるにはCtr…

数値をカンマで3ケタ区切りにする

先日、数年ぶりに同い年の従兄弟に会いました。彼は正規表現の研究をしています。具体的にどんな研究をしているのか想像できないのですが、日頃からお世話になっている技術なので、お礼を言っておきました。 ということで、正規表現を使って、数値を3ケタの…

ファイルの大きさを知りたい

あるディレクトリに含まれているファイルのサイズを知りたい場合に、「du」というコマンドを使います。 $ du このコマンドを実行するとカレントディレクトリ以下の全ディレクトリのファイルのサイズを再帰的に、つまり一番深い階層のディレクトリまで全部表…

維持してコピー

Linux上でファイルをコピーする際に、「cp」というコマンドを使用します。 $ cp hoge.txt ../ このコマンドでは hoge.txt を一つ上の階層のディレクトリにコピーしていますね。またディレクトリをコピーする際は、以下のオプションを付けます。 $ cp -r hoge…

ディレクトリ内のファイル数を知りたい

ディレクトリ内のファイル数をカウントしたいことがありますが、大量のファイルが存在する場合、一つ一つ数えるのはとても面倒です。 そんなときは以下のコマンドを試してください。 $ find ./ -type f | wc -l 25 カレントディレクトリ以下に存在するファイ…

どこにあるの?

Linux上でファイルを検索する場合は以下のコマンドを使用します。 $ find /home -name hoge.txt このコマンドでは、/home ディレクトリ以下で hoge.txt を検索します。ファイル名の一部しかわかっていない時は、以下のようにワイルドカードを使用できます。 …

ファイルの更新日時を詳細に確認する

Linux上でファイルの一覧を取得する際のコマンドである、「ls」にはいろんなオプションがあります。 例えば、以下のオプションでは、日付や権限も分かるリスト形式でファイルの一覧を取得できます。 $ ls -l ところで、通常の「ls -l」では更新時間の最小単…

再帰的

recursive:再帰的なという英語があります。 再帰というのは説明が難しいのですが、wikipediaによると「あるものについて記述する際に、記述しているものそれ自身への参照が、その記述中にあらわれることをいう」のだそうです。 わかりませんね。 「Aについ…

最新のファイルを知りたい時

Linuxのコマンドで $ ls -l というのがあります。このコマンドを実行すると、ファイルとディレクトリの一覧をアルファベット順で取得できます。ですがファイルの更新日時順に並べたい時も結構あります。そんな時には以下のオプションを使ってみましょう! $ …

Pythonでグラフを書こう その3

Pythonでグラフを書こう、の第3回です。 前回の記事では、matplotlibを使用して円グラフを描いてみました。今回はそのプログラムのソースを見ていきたいと思います。 前回の記事でダウンロードした pie_chart.py をテキストエディタなどで開くと以下のよう…

Pythonでグラフを書こう その2

Pythonでグラフを書こう、の第2回です。 前回の記事では、グラフの描画パッケージであるmatplotlibのインストールを行いました。今回は、簡単なグラフを書いてみたいと思います。 matplotlibのウェブサイトには豊富なexampleが表示されていまして、任意のグ…

楽しくコマンドを覚える・7

「nice」コマンドは、プロセスの優先順位を設定するコマンドです。 プロセスの優先度(ナイス値)を-20〜19の整数で決めます。-20が最優先で、数が大きくなるほど(19に近くなるほど)優先度が低くなります。 複数のジョブのうち特に急ぎのものがある場合、よ…

楽しくコマンドを覚える・6

楽しくコマンドを覚える・1 楽しくコマンドを覚える・2 楽しくコマンドを覚える・3 楽しくコマンドを覚える・4 楽しくコマンドを覚える・5 突然ですが、選択の積み重ねこそが人生なのではないでしょうか。 かつ丼が好きだけどカレーライスも好きだ! で…

Pythonでグラフを書こう その1

バイオインフォマティクスの分野に限らず、様々な数値データをグラフで可視化したいという要望はよくあります。手作業でよければエクセル等の表計算ソフトを利用する事もできますが、グラフの描画を自動化したい場合はどうすればいいのでしょうか。 そこで、…

楽しくコマンドを覚える・5

楽しくコマンドを覚える・1 楽しくコマンドを覚える・2 楽しくコマンドを覚える・3 楽しくコマンドを覚える・4 suは別のユーザになるコマンドです。 $ su 別のユーザ のように実行します。 そのユーザのパスワードを聞かれますので入力してください。 パ…

楽しくコマンドを覚える・4

Linuxコマンドの機能を楽しく覚えるシリーズです。 今回は「ssh」コマンドです。これは、リモートマシンへのログインやコマンド実行をするためのコマンドです。クライアントとリモートマシンの通信データが暗号化されるので、インターネット経由でも比較的安…

楽しくコマンドを覚える・3

ファイルの各行を並び替えるにはsortコマンドを使います。 sortコマンドにはオプションがたくさんあります。 例えば、-nで数値としてソートしたり、-rで逆順にしたり、 -kで並び替えに使う列を指定したりできます。 また、大きいファイルをソートして途中で…

楽しくコマンドを覚える・2

hatさんの「wc」コマンドに引き続き、「chown」コマンドの覚え方です。 「chown」はファイルやディレクトリの所有者を変更するLinuxコマンドです。次のように使います。 $ chown user:group FILE これで、FILEの所有者と所属グループが変更されます。 chown…

遺伝的アルゴリズム

「遺伝的アルゴリズム(以後GA)」とは、生物の進化を模倣した最適化アルゴリズムです。 「無数のルートの中から近道を探す」というような問題のように、複数の選択肢の中から最適なもの(解)を選択したいときがあります。そんなときは、最適化アルゴリズム…

楽しくコマンドを覚える・1

「wc」はファイルの行数、単語数、バイト数を表示するコマンドです。 次のように使います。 $ wc FILE 12 27 176 FILE 実行してはみたものの、どれが行数でどれが単語数かわからなく なることはありませんか?ありますね! あるいは、3つ目の数字が何を示す…

相対パスと西瓜わり

夏の風物詩の一つと言えば「西瓜わり」ですが、 西瓜に向かっている人に、どのような指示を出しますか? 「(そこから)まっすぐ前」「ちょっと右」のように 今いる場所からどちらに向かえばいいかを伝えると思います。 「北緯36度東経140度に移動してくださ…

熱中症

暑い夏が続きますが、皆様いかがお過ごしでしょうか。 こう暑い日が続くと心配になるのは熱中症ですね。 人はもちろんペットなども熱中症には要注意です。そして、それ以外にも熱に弱いものがあります。そう、パソコンやサーバーです。 冷房の効いた涼しい部…

いろいろな「さよなら」

hatです。 久しぶりにftpをコマンドラインから使う機会があり 終了コマンドがわからなくて調べたら「bye」でした。 「bye」はかっこいいなあと思いまして、 他のコマンドやプログラミング言語についても 終了コマンドを整理してみました。 exit派 ・Windows…

scp stalled

サーバー間で、データをやり取りするときによく使用するコマンドにscpがあります。 便利なコマンドなので、私も良く利用するのですが、コピーしている途中で転送速度が急激に低下し stalled という表記と共に、コピーがストップすることがあります。 原因と…

shufコマンド

「入力行をランダムに並び替えて出力する」 shufというコマンドがあることを知りました。 早速試してみました。 こんなファイルを作りました。 $ more urashima.txt むかしむかし うらしまは たすけたかめに つれられて りゅうぐうじょうへ きてみれば えに…

改行コードを確認

Linuxで作業をしていると、ファイルの改行コードやタブがどこに含まれているかを確認したい時があります。 そのような時に、私は od -c コマンドをよく使います。 例えば、以下のようなファイル hoge があったとしましょう。 $ less hoge hoge moge moge piy…

比較演算子の比較

ShellスクリプトとPerlスクリプトを書く機会が同じくらいあるので、 しばしば文法が混乱します。 面倒くさいのが、Shellでやろうと思って書きかけた処理を 途中で「やっぱりPerlにしよう」とPerlに書き直すときで、 変数が最初に出てきたときから頭に「$」が…

MacBookにUbuntu

自宅のMacBookにUbuntuを入れてみました。 既存のOSXを再インストールする必要もなく、あっけないくらい簡単でした。 手こずったのは最初家のWifiを認識しなかったことくらいですが、有線LANにつないでapt-getでアップデートしたらつながるようになりました…

余裕が大事

linuxには、処理中の一時ファイルを出力する/tmpや/var/tmpというディレクトリがあります。 巨大ファイルのソートなど、一時ファイルを大量に出力する処理では、/tmpディレクトリの空き容量が足りないと処理が止まります。 そんな時の解決策をまとめてみまし…

あとはまかせた!

突然ですが、あなたはSEです。次のような時、どうしますか? ・A、Bというプログラムがある。 ・Aは3時間、Bは6時間かかる。 ・Bは、Aが完全に終わらないと開始できない。 ・明日の昼までにBを終わらせる必要がある。 ・Aは現在実行中で、あと2時間はかかる…

なにもしない

私はずっと、緩い言語の極致であるPerlを使ってきたので、 同じ感覚でPythonを使っているとインデントや型などが適当で、 「ちゃんとしろ」と怒られることが多いです。 私がPythonでおもしろいと思ったのは、 「なにもしない」というpassという命令文がある…

64bit マシンでの Python upgrade

皆様こんにちは。 今回はCentOSの64bit版でPythonをupgradeする方法をご紹介いたします。 現行のPythonには大きく分けて 2.x と 3.x の二つのバージョンがあります。当然3.xの方が新しいのですが、2.xへの後方互換性に乏しい面があり、当面は2.xが主流です。…

Python を使ってみよう

皆様、こんにちは。 前回に引き続きPythonについて記事を書かせていただきます。 実は、日本ではPythonの知名度はあまり高くありません。 我々の業界でもPerlやRubyの方がよく使われているように感じます。 実際に、前の記事で紹介したPyConでもwebサービス…

PyCon JP 2012 に行ってきました

Pythonというプログラミング言語があります。 海外では人気がある言語でして、読みやすさとモジュールの豊富さで日本でもじわじわと人気が出てきている言語です。 つい先日、Pythonのコンファレンス PyConJP 2012 が東京で開催されました。日本中のPython使…