基本コマンドの便利オプション

;; ファイルのサイズがより分かりやすく表示される $ ls -lh /home/hoge ;; 行数を表示してくれる $ cat -n sample.txtさんざん使うコマンドなのに、こんな便利なオプションの存在を知らなかった。 日経Linuxサマサマです。 manを読む習慣をつけなくちゃな〜…

viでディレクトリを指定する

例えば/home/hoge/html/なんてディレクトリがあったとして、 $ vi /home/hoge/htmlとすると、htmlディレクトリ以下のファイル一覧がviで表示される。 で、編集したいファイル名にカーソルを移動してEnterすると、そのファイルがviで表示される。 多分常識機…

fgetsで標準入力を受け取る

C

ヤボ用でしばらく更新出来なかったので、今日からまた再開(´・ω・`) Cの標準ライブラリにあるgets()は、入力文字数のチェックをしないのであまり推奨されないらしい。 実際コンパイラ(gcc)も警告を出す。 そこで、同じ標準ライブラリのfgets()を使うのが良い…

iptablesの基本メモ

;; 現状のルールを表示 # iptables -L ;; 例として、80番ポートへのアクセスを拒否 # iptables -A INPUT -p tcp --dport 80 -j DROP ;; 変更したルールを保存 # iptables-save [-A] 指定したチェーンの末尾にルールを追加する。 [-I] 番号を指定してチェーン…

PEAR関連コマンドメモ

PHP

;; PACKAGE_NAMEをインストール # pear install -a PACKAGE_NAME ;; PACKAGE_NAMEをアップグレード # pear upgrade -a PACKAGE_NAME ;; インストール済みパッケージの一覧 # pear list ;; アップグレードはあるかな?? # pear list-upgradesパッケージの一覧…

chkconfigコマンドメモ

;; サービスを自動起動 # chkconfig SERVICE_NAME on ;; サービスの自動起動を解除 # chkconfig SERVICE_NAME off ;; ランレベルを指定して設定 # chkconfig --level [0-5] SERVICE_NAME {on|off}Fedora10はデフォルトで、SSHが自動起動&iptablesで許可にな…

.htaccessによるアクセス制限

;; 書式に気をつけないとInternal Server Errorが待ってる Order deny,allow Deny from allこれをアクセスされたくないディレクトリ直下に置けば、HTTP経由ではアクセス不可になる。 文脈は覚えても、細かい書式をすぐ忘れるのでメモ。 HTTPプロトコルを理解…

Zend Framework1.8がリリース

PHP

フレームワークとしては使ってない(興味は津々)けど、各コンポーネントをつまみ食いしてるZend Frameworkの1.8がリリースされたみたい。Zend Framework 1.8個人的には、CurlとかCodeGeneratorが気になるところ。 PEARみたいに、1ヶ所にまとめてパスを通して…

PHP経由での「SET NAMES」はよろしくない

散々言及されてるみたいだけど、PHPでmysql_query('SET NAMES sjis')とか発行すると、SQLインジェクション脆弱(ぜいじゃく)性を作り込む危険性があるらしい。コンソールからの利用は問題無し。 幸いにも未だ使った事は無いので、今後そういうケースに遭遇し…

CentOSに7z形式のアーカイバをインストール

以前Ubuntuにインストールしたp7zip。 9.04にアップグレードしたので、もう一度apt-getで入れ直す。 ついでにFedora10にも入れてみた。 # yum install p7zipFedoraにはあった(*'-')b こうなると、CentOSにも無いか??と探してしまうのが人の常。 centos.orgで…

カレントディレクトリのパスを取得

PHP

これでOK。 取得出来るディレクトリの最後に「/(スラッシュ)」は付かないので注意。 CodeIgniterに甘えないスキルも身につけようと、今時スクラッチで問い合わせフォームを作成中。 勉強になるけど、拡張性とか汎用性とか考慮しだすと、いつまで経っても完…

duコマンドでファイル・ディレクトリの容量を調べる

特定のファイルやディレクトリのサイズを知りたい時にはコレ。 書式は、 $ du -options [ファイル名またはディレクトリ名]引数に何も指定しなければ、カレントディレクトリが対象になる。 便利なオプションは以下のとおり。 [-s] -> 指定ディレクトリ以下の…

Fedora10でemacs23を動かす

…つもりだったけど、ウマく行かない。 .emacsの構文でエラーが出てるので、--debug-initすると「alist」って知らねーよ!!と言っている。 なかなか解決に至らないので、暇を見て調べつつ当面ノートPCでの開発はgEditで。 Eclipseでも良いけど、スペック的にち…

Fedora10でphpMyAdminを動かす

開発環境構築メモ。 本家サイトで最新版をダウンロードして、DocRoot下に解凍・設置。 その後、config.inc.phpを作成すればOK。 ;; /var/www/html/pmaにしてみた $ cd /var/www/pma ;; 設定ファイルを流用 $ cp config.sample.inc.php config.inc.php ;; 適…

祝!!Ubuntu9.04リリース

Ubuntuに関わる全ての開発者の方に感謝と敬意を込めて、ただ今ext4でモリモリインストール中。 そして、このブログは衝動買いした(!)ノートPCに突っ込んだFedora10から書いてる。 我ながらミーハー具合にちょっと呆れ気味(・x・ ).o0○

USBメモリのマウント

USBメモリを差す(当たり前) dmesgでSCSI deviceの認識状況を調べる root神でmountコマンドを実行 のはずなんだけど…。 ウマくいかない(ノ_・。) そもそもdmesgを見ても、認識している形跡が無い。 何が原因かなぁ…。他のUSBストレージで試してみようかな?? 取り…

IPアドレスを牽くならhostコマンド

$ host hatena.ne.jp ;; 実行結果 hatena.ne.jp has address 59.106.108.86 hatena.ne.jp mail is handled by 10 mail2.hatena.ne.jp.今まで、nslookupとかdigとかを利用していたけど、単純にIPアドレス牽くだけならこれが一番見やすい感じ。 もっとコマンド…

switch文での比較時の注意点

PHP

注意: switch/case が行うのは、緩やかな比較であることに注意しましょう。 公式マニュアルより。 厳密に比較したい場合はif 〜 elseif 〜 elseを使え、という事かな?? いや、そもそもswitch文で厳密な比較をしようとする処理自体がダメダメ?? どちらにせよ…

コマンドを複数実行する

パイプを使う方法以外にも色々あるらしい。 と言っても、パイプすら使いこなせてないけど…。 一応メモ ;; 単純に順次実行する場合 $ command1;command2 ;; command1が正常終了したらcommand2を実行 $ command1 && command2 ;; command1が正常終了でなければc…

ポインタ変数を利用する[その2]

C

先日のエントリにもう少し追記。 int num = 10; int *p; p = #の場合、 ;; ポインタのフォーマット指定子 printf("%p", p); ;; ポインタをインクリメント p++; ;; ポインタが指す値をインクリメント (*p)++;ポインタをインクリメント/デクリメントする場…

ctype_digit()関数の覚え書き

PHP

bool ctype_digit (string $text)与えられた文字列 text のすべての文字が数字であるかどうかを調べます。 最近知った便利な関数。 引数すべてが10進数字ならTRUE、じゃなきゃFALSEを返してくれる。 早速ゴリゴリ使おうと思ったら、マニュアルに注意書き。 P…

ポインタ変数を利用する

C

基本から体系的に学ぼうと熟読している書籍が、遂に「ポインタ」の章に突入!! ここはメモ魔になってとにかく記録。 さらには、とにかくサンプル動かして、練習問題やら自分でそれを発展させてみたりやら、手を動かす!! ;; ポインタ変数を宣言するには、変数…

historyコマンドをちゃんと使う

以前実行したコマンドを探すのに、ひたすらカーソルキーを連打…。 さすがにこれじゃイカンと反省し、今日からはhistoryコマンドをバンバン使っていきたいと思います。 ;; n回前までの履歴を見る $ history n ;; n番目のコマンドを実行 $ !n ;; 1つ前のコマン…

各サービスのランレベルを調べる

;; たったこれだけなのにすぐ忘れる # chkconfig --list SERVICE_NAMEで、システム自体はどのランレベルで動いているのかは、/etc/inittabの ;; この場合、システムのランレベルは「3」 id:3:initdefault:で確認出来る。 ついでにランレベル。 0 : シャット…

配列に文字列を代入する

C

C言語では、文字列を格納出来る変数(所謂string型)が存在しない。 らしいので、文字列は文字型であるcharの配列として実現するそうだ。 で、配列に文字列を代入するには、strcpy()という関数を使うんだそうな。 #include <stdio.h> #include <string.h> /*コレいつも忘れる*/ in</string.h></stdio.h>…

gccで数学関数を利用したい

C言語で、引数の平方根を返すsqrt()関数を使おうと思ってヘッダファイルをインクルード。 #include <math.h>ところが、コンパイルするとエラーになる��(_□_;)ii ;; エラーメッセージはこんな感じ In function main: 〜 undefined reference to 'sqrt'調べてみると</math.h>…

Linuxでgetche()を使いたい

C言語の学習教材として利用している「独習C」。 分かりやすくてよいのだけれど、サンプルで使われているgetche()関数というのが、Linux(gcc)には用意されていないらしい(ノ_・。) 取り敢えず、以下のサイトにある「gconio.h」というヘッダファイルを/usr/includ…

CLIでのPHPオプション

特定のメールアドレスに来たメールをパイプで渡して、解析した内容をDBに放り込むスクリプトを書いた。 テストでメール送信してみると、DB登録処理まで行われているにも関わらず、Mailer-daemonさんから配達失敗の通知が届く。 標準出力にレスポンスヘッダが…

地図情報を扱えるgeometry型

MySQLにGoogleMapの地図情報なんかを保存する時、今まではfloat型のカラム2つ用意して経度・緯度をそれぞれ格納、とかしてた。 けど、この型を使えばまとめて保存出来るみたい。 ポイントは、 INSERT時は「GeomFromText」関数で座標データを変換してやる事 S…

ClamAVでエラー(その2)

CentOS5.3をまるっと入れたのはいいけど、今度はamavisd-newから抗議文が寄せられた^^ (!!)WARN: all primary virus scanners failed, considering backups: 9 Time(s) (!!)ClamAV-clamd av-scanner FAILED: CODE(0x9efa5e8) Too many retries to talk to /v…