2009-01-01から1年間の記事一覧

Hack 58. HISTCONTROL を使用して全履歴に渡って重複を排除する

上で示した ignoredups は連続したコマンドがある場合にのみ重複を排除します。 全履歴に渡って重複を排除するには、以下に示すように HISTCONTROL に erasedups をセットします。 # export HISTCONTROL=erasedups # pwd # service httpd stop # history | t…

OSC 2009 北海道

http://www.ospn.jp/osc2009-do/ 今週末にあるんだな。 でも思いっきり仕事になってしまったよ。 運用管理系の話し聞きたいんだが。うーむ。LOCAL インフラ部もいってみたいんだが。 http://www.local.or.jp/?infra

Hack 57. HISTCONTROL を使用して履歴から継続的に繰り返されたエントリを排除する

次の例では、pwd が3回入力されました。 history を実行すると、pwd が全部で 3 回続いていることがわかります。 重複を排除するために、以下に示すように HISTCONTROL に ignoredups をセットします。 # pwd # pwd # pwd # history | tail -4 44 pwd 45 pw…

Hack 56. HISTFILE を使用して履歴ファイル名を変更する

デフォルトでは、履歴はファイル ~/.bash_history に保存されます。 次の行を .bash_profile に追加し、bash シェルに再ログインします。 .bash_history ファイルの代わりに .commandline_warrior ファイルに履歴コマンドを保存します。 まだこの設定を使用…

Hack 55. HISTSIZE を使用して履歴内の全行数を制御する

次の 2 行を .bash_profile に追加して、変更を確かめるために bash シェルに再ログインします。 この例では、450 コマンドだけ bash 履歴に保存されます。 # vi ~/.bash_profile HISTSIZE=450 HISTFILESIZE=450

Hack 54. 指定した単語で始まる前のコマンドを実行する

! に続けて再実行したいコマンドの開始文字をいくつか入力します。 次の例では、!ps を入力し enter を押します。 ps で始まる前のコマンドを実行し、それは‘ps aux | grep yp’です。 # !ps ps aux | grep yp root 16947 0.0 0.1 36516 1264 ? Sl 13:10 0:00…

Hack 53. 履歴から指定したコマンドを実行する

次の例のようにコマンド番号 4 を繰り返したい場合に以下に示すように !4 を実行します。 # history | more 1 service network restart 2 exit 3 id 4 cat /etc/redhat-release # !4 cat /etc/redhat-release Fedora release 9 (Sulphur)

Hack 52. 4つの異なるメソッドを使用して前のコマンドを素早く繰り返す

ときどき様々な理由から前のコマンドを繰り返したいことがあります。 次は最後に実行したコマンドを繰り返す 4 つの異なる方法です。 1. 上矢印を使用して前のコマンドを確かめて enter を押して実行する 2. コマンドラインから !! を入力して enter を押す …

電子工作

http://www.akiyan.com/blog/archives/2009/06/open-source-hardware-arduino.htmlいいなぁ。こういうの札幌であったら間違いなくいってるぅ。独学しようと思って Arduino か GAINER をとおもって GAINER を購入して眠ってる。。。 ま、この辺勉強しておくと…

Hack 51. Control+R を使用して履歴を検索する

これは履歴の特徴としてもっともよく使用するものだと強く信じています。 既にとても長いコマンドを実行しているときに、 キーワードを使用して履歴を簡単に検索して、すべてを入力せずに同じコマンドを再実行できます。 Control+R を押してキーワードを入力…

Hack 50. HISTTIMEFORMAT を使用して履歴に TIMESTAMP を表示する

典型的な場合、コマンドラインから履歴を入力する際に コマンド # やコマンドを表示します。 編集目的の場合、以下に示すようにコマンドに沿ってタイムスタンプを表示するとありがたいことがあります。 # export HISTTIMEFORMAT=’%F %T ‘ # history | more 1…

Chapter 8: コマンドライン履歴

しばしば Linux コマンドラインを使用していると、効果的に履歴を使用することで非常に生産性を向上することができます。 実際に、ここで提供した 15 の例をマスターすると、コマンドラインをよりエンジョイし楽しいことがわかるでしょう。

Hack 49. tar と同時に gzip, bzip2 を使用する

tar と同時に gzip を使用するには?tar.gz 圧縮ファイルを処理する際に、オプション z を tar コマンドに追加します。 # tar cvfz /tmp/my_home_directory.tar.gz /home/jsmith # tar xvfz /tmp/my_home_directory.tar.gz # tar tvfz /tmp/my_home_director…

Hack 48. Tar コマンドの基本

tar コマンド (tape archive) は複数のファイルをアーカイブに変換するために使用されます。 Syntax: tar [options] [tar-archive-name] [other-file-names]ホームディレクトリ下のすべてのファイルとサブディレクトリを単一のバックアップファイルを生成す…

Hack 47. zip アーカイブをチェックする

解凍せずに zip アーカイブをチェックしたいときがあります。 zip ファイルの有効性をテストするには、オプション -t を渡します。 # unzip -t var-log.zip Archive: var-log.zip testing: var/log/acpid OK testing: var/log/anaconda.log OK testing: var/…

リフォームします

親と同居してましたが、やっとこさリフォームすることになりました。 来週から工事開始です。 まだ始まってないけど、振り返ると業者選定から打合せまで 昨年の12月くらいからやってたのね。。。 半年がかりだわ。 おかげさまで良い業者さん(まだこれから…

Hack 46. Zip ファイルのパスワード保護

オプション -P を zip コマンドに渡して、zip ファイルにパスワードを設定します。 # zip -P mysecurepwd var-log-protected.zip /var/log/*バックグランドジョブ用のシェルスクリプト内でコマンドを使用してる場合は、上記のオプションは十分です。 しかし…

Hack 45. zip コマンドを使用した高度な圧縮

zip コマンドには 10 の圧縮レベルが提供されています。 o Level 0 は最も低いレベルで、何の圧縮もせずにファイルをまとめるだけです。 o Level 1 は少しだけ圧縮しますが、とても速いです。 o Level 6 はデフォルトの圧縮レベルです。 o Level 9 は最大圧…

Hack 44. Zip コマンドの基本

複数のファイルを zip するには syntax: zip {.zip file-name} {file-names}# zip var-log-files.zip /var/log/* adding: var/log/acpid (deflated 81%) adding: var/log/anaconda.log (deflated 79%) adding: var/log/anaconda.syslog (deflated 73%) addin…

Chapter 7: Archive and Compression

Hack 43. PS1 変数内でシェルスクリプトを使用する

PS1 変数内でシェルスクリプトを実行することもできます。 以下の例では、~/bin/totalfilesize.sh は現在ディレクトリのトータルのファイルサイズを計算しますが、 PS1 変数内で実行されます。 ramesh@dev-db ~> cat ~/bin/totalfilesize.sh for filesize in…

Hack 42. PS1 変数内に bash シェル関数を使用する

以下で示すように PS1 で bash シェル関数を実行することもできます。 ramesh@dev-db ~> function httpdcount { > ps aux | grep httpd | grep -v grep | wc -l > } ramesh@dev-db ~> export PS1="\u@\h [`httpdcount`]> " ramesh@dev-db [12]> [Note: これ…

Hack 41. PS1 変数で指定可能なコードを使用して独自のプロンプトを作成する

次のコードを使用して、独自の PS1 Linux プロンプトを作成します。 機能的かつ好みに合わせることができます。 o \a ASCII のベル文字 (07) o \d “Weekday Month Date”形式の日付 (ex.“Tue May 26″) o \D{format} - format は strftime(3) に渡され、その結…

Hack 40. tput を使用してプロンプト色を変更する

以下に示すように tput を使用して PS1 プロンプト色を変更することもできます: $ export PS1="\[$(tput bold)$(tput setb 4)$(tput setaf 7)\]\u@\h:\w $ \[$(tput sgr0)\]“tput で指定可能な色: o tput setab [1-7] - ANSI エスケープを使用して背景色をセ…

Hack 39. プロンプトで複数の色を表示する

同じプロンプトで複数の色を表示することも可能です。 ~/.bash_profile に次の関数を追加します。 function prompt { local BLUE="\[\033[0;34m\]" local DARK_BLUE="\[\033[1;34m\]” local RED=”\[\033[0;31m\]” local DARK_RED=”\[\033[1;31m\]” local NO_…

Hack 38. プロンプトの背景色を変更する

以下に示すように PS1 プロンプトで \e[{code}m を指定して背景色を変更します。 $ export PS1="\e[47m\u@\h \w> \e[m " [Note: これは背景がライトグレーになります]背景と前景のコンビネーション $ export PS1="\e[0;34m\e[47m\u@\h \w> \e[m " [Note: こ…

Hack 37. プロンプトの前景色を変更する

ユーザ名、ホスト、カレントディレクトリ情報を青色のプロンプトで表示します。 $ export PS1="\e[0;34m\u@\h \w> \e[m " [Note: これは明るい青色のプロンプトです] $ export PS1="\e[1;34m\u@\h \w> \e[m " [Note: これは暗い青色のプロンプトです]o \e[ -…

Hack 36. プロンプトにコマンド出力を表示する

プロンプトに Linux コマンドの出力を表示することができます。 次の例は、|(パイプ)で区切られた3つのアイテムをコマンドプロンプトに表示します: o \!: コマンドの history の番号 o \h: ホスト名 o $kernel_version: $kernel_version 変数から uname -…

Hack 35. プロンプトで現在時刻を表示する

PS1 環境変数内で直接 Linux コマンドを実行できます。 $(linux_command) という形式を使用します。 次のサンプルでは、コマンド $(date) はプロンプト内に現在時刻を表示するために実行されます。 ramesh@dev-db ~> export PS1="\u@\h [\$(date +%k:%m:%S)]…

Hack 34. プロンプトにユーザ名、ホスト名、ディレクトリのベース名を表示する

このサンプルの PS1 はプロンプトで次の3つの情報を表示します: o \u – ユーザ名 o \h – ホスト名 o \W – 現在の作業ディレクトリのベース名 -bash-3.2$ export PS1="\u@\h \W> " ramesh@dev-db ~> cd /etc/mail ramesh@dev-db mail>