或阿呆のブログ

Pythonを好んで使っているプログラマです。Ruby,Perl,PowerShell,VBAなどでもたまに書いています。おバカなことが大好きです。

Linux

Linux llコマンドが無い場合の対処

Linux基本コマンドを復習。llコマンドが見つからない。aliasでllコマンドを設定。 - oneshotlife_tomの日記 上記エントリがけっこう見られているのだが、内容が不足しているため補足。当時は、今にもまして無知だった・・・。 コマンドが見つからない $ ll l…

Python Shellのプロンプトの表示を変更する。sys.ps1,sys.ps2を変更する。

>>>デフォルトはこれ。Pythonの言語仕様として、リダイレクト演算子">>"なんかもサポートされちゃっているので、山括弧だらけで非常に醜くなることも有り得る・・・。今回ご紹介するのは、あくまでLinux環境でのお話ということを予めご了承下さい。windows版…

LinuxMint14ゲストOSとWindows7ホストOS間でコピペ(コピー&ペースト)する。

仮想マシン使っていると、ホストとゲスト間でコピペする機会があろうかと思う。見た目上、仮想マシンはホストOSの1アプリの用に見えるので、ついついCTRL+Cとかでコピペしようとしてしまうが、設定をしないと出来ない。 環境 以下を使っている。 VM Oracle V…

Haskellのインストールと実行

関数プログラミングを極めたくて、Haskellをはじめてみた。LispかHashkellか迷った。Lispのほうが言語のパワフルさは上?だと思うが、両方とも書籍を購入してみたところ、Lispのほうはかなり拒否反応が出た。とにかく、見づらく頭に入ってこない。なので、Ha…

Linuxコマンドラインで、空ファイルを生成する。中身が入っているファイルを空にする。

空ファイルの作成 $ls $touch spamham.txt $ls spamham.txt $cat spamham.txt touchコマンドで存在しないファイル名を指定すると、空ファイルが作成される。 lsコマンドでファイル一覧を表示すると、問題無くファイルが作成されていることがわかる。 catコマ…

Pythonにて文字列が空かどうかを判定する。part2

Pythonにて文字列が空かどうかを判定する文 - oneshotlife_tomの日記 In [1]: empty="" In [2]: len(empty) Out[2]: 0 これでもいけそうだな。

Linuxコマンドの結果を値として設定する。

以下はbashの例だけど、cshなんかでも同じ。 $echo `pwd` /home/tom pwdの結果をechoで出力している。``はバッククウォーテーションなんで、そこは注意。シングルクウォーテーションじゃないっすよ。

ホームディレクトリへ移動するコマンド

ホームディレクトリは頻繁に使うので、ホームディレクトリへ移動ってのは何個か書き方がある。 cd $pwd /home/tom/src $cd $pwd /home/tom 引数無しという一番タイプ数が少ないコマンド cd ~ $pwd /home/tom/src $cd ~ $pwd /home/tom ~はホームディレクトリ…

bashとPerlで標準入力から入力待ちする処理を比較

簡単なプログラムを作ろうとしているのだが、bashとPerlを組み合わせて作るのが一番手っ取り早いかなと思った。ユーザーから入力した値を使いたいのだが、bashでやるかperlでやるかで迷った。なので比較してみた。 bash サンプルコード $cat input.sh #!bin/…

LinuxMint14のデフォルトシェルbash

シェルの種類は、envコマンドにて調べられる。 シェルの種類はSHELLという変数にパスが設定されている。 $env | grep SHELL SHELL=/bin/bash LinuxMint14ではデフォルトシェルはbashだった。入門bash 第3版作者: Cameron Newham,Bill Rosenblatt,株式会社ク…

著者=ポールグレアムの書籍を検索

Net::Amazonを使って、Product Advertising API にアクセス。Amazon アソシエイト(アフィリエイト)用の情報を取得する。 - oneshotlife_tomの日記 Lispの神様ポールグレアムの著作を探してみる。ソースコードは、ちょっといじった。 my $res_rank = $ua->search…

LinuxMint14にCLISPをインストール。起動時メッセージが格好良い!!!

CLISPがインストールされているか確認 $clisp The program 'clisp' is currently not installed. You can install it by typing: sudo apt-get install clisp 入っていない。 sudo apt-get install clisp $sudo apt-get install clisp いつものようにapt-get…

Net::Amazonを使って、Product Advertising API にアクセス。Amazon アソシエイト(アフィリエイト)用の情報を取得する。

AmazonのProduct Advertising API を使ってAmazonアソシエイト(アフィリエイト)用の情報を取得しようと試行錯誤してわりとハマったのでメモ。これ系の処理って自前で作ろうとすると必ずしも簡単ではないのだが、CPANにはNet::Amazonという良いモジュールが転…

bashのtimeコマンドとPythonのtimeit 実行時間を計測したい

実行時間計測の古典的なやりかたは、処理の前後に時刻取得処理を入れて、その差分を出すことなんだけど、いちいちそんなのいれるの面倒。 bash timeコマンド bashだとtimeコマンドってのがあって、コマンドの実行時間を計測出来る。 $time sleep 10 real 0m1…

IPythonでfileをopen

Pythonのデフォルトでついて来るインタラクティブシェルを使っていて常々思ったのだが、linuxのコマンドとかも使えたら、ものすごい便利だろうなと。実際、そんな上手いこと行くわけないと思っていたら同じようなこと考える人はいるし、実際に実装しちゃう人…

日本語が使えるかどうか確認。文字コードって難しい。

Amazonアフィリエイトの記事自動生成ツール作りたいんだけど、Windowsで作ったときは、文字コードの変換にてこずった記憶がある。文字コードについていまいち詳しくないのだけれども、座学的なとことかを勉強して動きがわからなかった!てっことで、手を動か…

自分の環境で使っているシェルの種類を調べる。

Linuxと一言で言っても、コマンドってシェルによってけっこう違うんだよね。Linuxに限った話じゃなく、Unixから派生したマシンとかも、同様。今使っている環境がどのシェルを使っているかによって、スクリプトの書き方とかも変わってくるし、エイリアスの設…

LinuxMint14のデスクトップがすげぇ。クイック起動機能もあるんだ!

Windows使っていると、複数のタスクを立ち上げてデスクトップが埋まってしまうので、クイック起動は欠かせない。タスクバーには、いろいろなアプリのアイコンが並んでいる。デスクトップにショートカット置くのも悪くないんだけど、いちいちデスクトップを表…

LinuxMint14使ってて、CPANからモジュールインストールしようとしたらエラーが出た件。

Linuxには、CPANが標準でインストールされてたしな。 $cpan で起動したから、普通に、 cpan>install <module> ってやったら、ファイルをDLしに行ってビルドやらなんやらしはじめた。最後の最後、permission deniedが出て、ビルドに失敗していた。今の今まで、こんな</module>…

C言語のオブジェクトファイルのシンボルを覗いてみる。

Hello,World!よりも重要なこと?2 Makefile - oneshotlife_tomの日記以前、Makefileを作って簡単なプログラムを作ったけど、もう一歩レベルの高いプログラムを書きたくなった。 Makefile $cat Makefile program:main.o sayhello.o gcc -o program main.o sayh…

Hello,World!よりも重要なこと〜3 stdio.hってどこにある?

コマンドだったらwhichで探せるけど、ファイルを探す場合はどうする?となった場合の対処法。stdio.hっていうのは、悪名高きおまじない。Cの勉強が進むころに、ヘッダや標準ライブラリの概念がわかって、後から納得することが多い。実は、ヘッダのパスを検索…

Hello,World!よりも重要なこと〜2 Makefile

お勉強しているうちは、コンパイラを直に叩いてもいいんだろうけど、どうせmake使うんでしょ?!といつも思っている。だったら、最初からMakefile使ってコンパイルするべきだと思う。google:Makefile 細かなルールとかチュートリアルはぐぐってみると詳しい…

Hello,World!よりも重要なこと〜1 gccってどこにある?

コンパイラってどこにある?Linuxでは、コマンドは必ずどこかにファイルとしてある。 whichコマンドでgccのパスを調べる $which gcc /usr/bin/gcc さて、その場所まで行ってみましょうか。 $cd /usr/bin gccと付くファイルを表示してみる。 $cd /usr/bin $ll…

C言語の基本の基本〜Cソースファイルをコンパイルし、オブジェクト名を指定してオブジェクトを生成する。

Cソースファイル名の確認とCソースファイルの内容の確認 $ls hello.c $cat hello.c #include <stdio.h> int main(void) { printf("Hello,world!\n"); } hello.cをコンパイルし、hello.oという名前のオブジェクトを生成 $gcc hello.c -o hello.o $ls hello.c hello.o </stdio.h>…

aliasをbashの設定ファイルに書く。

以下のようにコマンドを打てばaliasを設定出来る。 $alias ll='ls -l' コマンドラインでaliasを設定しても、ターミナルを再起動すると設定がリセットされる。起動時に設定を読み込ませるには、bashの設定ファイルに書き込めば良い。bashの設定ファイルはホー…

typo=タイピングミスのことですよ。タイポ。

typoってなんぞや?プログラマやっているとたまに見かける。タイプミスのことです。なんとなく字面からそういう感じがする。もともとは、Typographic Errorを略したからこうなったらしい。そうすると、カタカナではタイポでいいっぽいな。コマンドラインの操…

unameでシステム情報を確認

Linuxつかっている人だと、意識的にシステム構築した人が多いと思うが、仕事でやむを得ずLinuxを使うようになった小生などは、意外とわからないことだらけだ。unameコマンドでシステム情報を出力しつつ、用語の理解をしたい。 uname -a:システム情報すべて $…

C言語の基本の基本〜Cソースファイル、オブジェクト、実行形式ファイル

コンパイラ言語であるC言語で実行形式のファイルを生成するには次のステップを踏む。 細かい話は省略する。 ソースファイルを作成する コンパイルしオブジェクトを生成する オブジェクトをリンクし実行形式ファイルを生成する で、実行形式のファイルが実行…

C言語の基本の基本〜Hello,World!を出力する。に失敗しちゃったの巻。

一番最初に「Hello,World!」を出力するプログラムを書くとき、本に書いてあるようにやれば問題無く出るんだろうけど、なんだか面白みがないのでひねくれてみた。おそらくこんなサンプルコードが書かれているに違い無い。 #include <stdio.h> int main(void) { printf(</stdio.h>…

Vimの設定ファイル.vimrcを作成する。

編集設定は、.vimrcという特殊なファイルに記録される。ファイル名の先頭に'.'(ドット)が付いているファイルは、特殊ファイルであり、lsコマンドでは通常表示されない。Windowsなどで言うと隠しファイルのような扱い。 .vimrcの作成及び設定保存の手順を以下…