Linux

今日勉強になった事二個

新しく同僚の人と仕事する機会があって、作業中、相手のつけてるオプションが勉強になった。 ひとつめ:cpコマンドのオプション cp -i で、上書き確認 cp -p でタイムスタンプ保持 普段-Rで再帰的にやるぐらいしか使わないので、 あまりcpのオプション意識し…

evalで配列出来るなと思ってたら既にbashに実装されてたんだぜ

ARRAY[0]=TEST_0 ARRAY[1]=TEST_1と言う風に代入出来るみたい。 echo ${ARRAY[1]}で、TEST_1と出てくる。 ARRAY=(TEST_0 TEST_1)とかも実現可能 うーん、しらんかった。

シェルでseqを使って1〜10までループさせる

Bash on Rails作った人を見習ってシェルスクリプト絶賛勉強中。 seqと言うコマンドがある様です。 seq 10とやると、1から10まで出力してくれる。 seq 2 10とすると2から10まで出力してくれる。 これを使うと、for文で、1〜10までのループとかが簡単に実行出…

シェルにevalがあった!

昔、シェルを覚えた経緯を詳し目に書いてみるとか 書いた事がありますが、シェルは奥が深い・・・・・・。 と言うか一度最初から勉強した方がいいのかもしれん。 bashやzshとかにもevalがあるんですね。 eval 文字列で評価してくれるみたい というわけでこんな文が…

ログイン時に「ゆっくりしていってね」と出す

こんな発言を見た 意味がわからなかったのでぐぐる。 こういうことだった。 つまり、root権限で echo ゆっくりしていってね > /etc/motdとしてログインすると こうなった。 初めて知った!

apacheのmod_rewriteでパラメータを元にrewriteする。

今日、CGIで、特定のパラメータを渡した時だけRailsに渡したいっていう要件が出てきて 書くのにちょっと迷ったのでメモ。 結論から言うとQUERY_STRINGを使う。 考えてみれば当たり前の話。 REQUEST_URIとかいくら条件に追加しても成功しないわけだ。 という…

ファイルが作成出来ない! ext3_dx_add_entry: Directory index full!

ファイルの書き込む領域が有りませんとエラーが出たので そのサーバーをみてみたところ空き領域が一杯ある。 というわけでdmesgを見たところ EXT3-fs warning (device sda3): ext3_dx_add_entry: Directory index full!というエラーメッセージが表示されてた…

ファイルの文字数を常に監視するワンライナー

ruby -e "file=ARGV[0];loop{p open(file).read.split(//).size;l=File.mtime(file);sleep 1 while l==File.mtime(file)}" filname最後のfilenameの所にファイル名を入れると文字数をカウントしてくれる。 「300文字程度の文章を送ってくれ」とかそういうニ…

多重起動を防ぐシェルスクリプト

cron等でシェルを複数回実行した時、多重起動するとまずいので、それを回避するスクリプト。 業務上必要だったので作ってみた。 #!/bin/sh SCRIPT_PID="/home/takase/work/run_script.pid" if [ -f $SCRIPT_PID ]; then PID=`cat $SCRIPT_PID ` if (ps -e | …

シェルのif文の条件式

さっきのvimと同様、自分用のシェルメモ シェルのif文で使う、if [ -e filename ]; thenとかの []はtestコマンド。 条件文に使える奴は以下の通り。 ファイル形式のテスト 式 意味 -b file file が存在し、ブロックスペシャルファイルであれば真。 -c file f…

debian系のssh脆弱性があるらしい

debian系のOpenSSH・OpenSSLで鍵ペア・ホスト鍵がセキュリティヤバスな奴らしい。 対応必要ですね。

バックアップコマンドを作ってみた

Linuxで設定ファイルを日付名つけてバックアップする事があるので、 bkコマンドを作ってみた。 bk httpd.conf と打つと httpd.conf_20080504というファイルが作られる。 スクリプトはこんな感じ。 #!/bin/bash cp $1 $1_`date +%Y%m%d`

zenpouが使ってるワンライナー12個

履歴から拾ってきたワンライナー12個をさらしてみる。 組み合わせて作業してるやつは解説が複雑なのとプロジェクト特有すぎるので除外している。 1.takaseユーザーのファイルのみ表示 ls -l | awk '$3=="takase"' 2.カレントディレクトリ以下のwgetで取得し…

Unixのチートシート

Unix Toolbox これが便利そうなのでメモ。 知らなかった事が結構書いてある。 自分に必要なのを取捨選択してチートシート作ろうかな。

DS Linuxがあるらしい

http://www.proteus.jp/MT/archives/2007/1202_1426_4162.php やばい、これは楽しそうで仕方無い。 ってブックマークしたらid:akio0911さんが先にブックマークしてた。 これってどうだったんだろう? sshに接続してDSでプログラミングとか楽しそう。 ソフト…

シェルの偉大さ

補完機能 履歴機能 この2つが使えないシェル環境で作業を行った。 超つらい。 スペルミスは起こるし、コマンドは繰り返せない。 というわけで、シェル凄い。

coLinuxのインスコ法

http://d.hatena.ne.jp/TrinityT/20080317/1205720795 coLinuxのインストール方法が書いてあった。 coLinux良いよね。 モバイルノートはWindowsVistaの上にcoLinuxでdebianを動かしてます。 知り合いの人は、「windowsってLinuxのドライバですよね」とかいっ…

crontabのeditorをviにする

~/.zshrc(or ~/.bashrc)に export EDITOR=viを追記

サーバ管理者がサーバで作業する時に知っておいて欲しい5つの心得

id:akio0911さんと話してた時に、こういう話ってニーズがあるんだって気づいたので、 簡単にまとめて見る。 心得としてはこんな感じ。 コマンドの実行時は履歴を確認 なるべくフルパス指定で サーバのトラブル時、リソースを確認する手段(CPU,メモリ,ポート,…

UNIXを学ぶ10個の良い習慣

はてブのホットエントリ見てたら、 Learn10 good UNIX usage habitsという記事があって 以前書いたLinuxを学ぶための10個の効果的な方法と似てるなと思って見てたら知らなかったtipsが多かったのでメモ。 mkdir -p project/{lib/ext,bin,src,doc/{html,info,…

頻繁に使うシェルコマンドベスト30を集計とるワンライナー

今月Mac使い始めてコマンドの履歴から、よく使うシェルを集計取ってみた。 使ったワンライナーがこれ history-all | awk '{print $4}'| sort | uniq -c | sort -nr | head -30 上のzshrcでhistroy-allとかやってる私なのでこんなコマンドだけど バッシュの人…

調子に乗ってvimを覚えた経緯を書いてみる。

昨日書いたエントリが信じられない事に。 あれ?これ誰のブログ??? 10user以上のブクマなんて貰った事無いんですけど......。 と、びっくりしました。 という訳で調子に乗って次はvim screen使う理由とかは書いたしlinuxについても書いたつもりなので、 …

シェルを覚えた経緯を詳し目に書いてみる

perl - the best friend of find(1) 404 Blog Not Foundを見てて、シェルについて書いてみたくなりました。 丁度、Linuxを学ぶための10個の効果的な方法で言及したシェルを覚えた経緯を詳しく書いてみたかったのでだらだらと書いてみる。 前回書いた内容がこ…

Linuxを学ぶための10個の効果的な方法

id:akio0911に頼まれたので、頼まれたエントリを書いてみる。 そもそもLinuxを覚えた経緯: 前職でVB6+ORACLEをwindowsサーバで動かす仕事をやってたzenpou。 次の職場に入った 順調に思えた転職だったが。 2ヶ月ぐらい普通に仕事していました。と、次の日…

webエンジニアがトラブル対応時にサーバ管理で使うコマンド

今日id:akio0911さんと話す時、uptimeを話してたのがきっかけで作ってみました。とりあえず覚えておきたいサーバ管理とかトラブル対応時によく使うコマンドのリスト。 それぞれのコマンドの細かい意味はman参照。 コマンドの存在を知らないとヘルプすら参照…

ローカルでscreen使う理由 on rails

screenのはじめ方のブクマコメントで id:kotorikotorikoさんより「やっぱし ssh が理由なのか。」というコメント頂いていたのに気づいて doruby に Railsの開発でscreenを使う理由とか書いてみた。 コンソール以外は見なくても済む。 alt + tabで切り替える…

gmailをcuiで扱ってみたのでインスト方法

MOONGIFTさんで紹介されてたgmailreaderをインストールしてみた。 GMailをCUIで操作「Gmailreader」:オープンソースを毎日紹介 Gmailreader Home Page画面中央にあるdownloadからダウンロード 3. Download Latest release: gmailreader-0.7.tar.gz Latest re…

脆弱性の対応策

http://itpro.nikkeibp.co.jp/article/NEWS/20080212/293606/ ここにソースコードの修正内容が乗ってるみたいですね。 2.6.24.2のバージョンにすればなおるのか。。。。。。。

カーネル2.6系の脆弱性

http://vision.ameba.jp/watch.do?movie=745468 /.で紹介されてたカーネルの脆弱性です。 testユーザーでログイン後、脆弱性をつくexploitコードをコンパイル&実行後、rootユーザーになっています。 怖っ。 ちなみに検証環境はUbuntuを昨晩最新版にアップデ…

Linuxでシェルを使う時に使ってるショートカットキー一覧の説明(重要度:高の物)

上の紹介で、特に覚えておいて欲しい物をあげてみました。 ^r コマンドの履歴を検索する。 シェルで過去に実行したコマンドの履歴を検索します。 mongrel_rails cluster::start や、オプションが面倒なコマンドなんかを、昔の入力した履歴から検索してくれま…