FreeBSD Daily Topics

2014年7月8日units(1)コマンド

src

units(1)コマンドの使い方

FreeBSDのユーザランドにはさまざまなコマンドがマージされています。普段は使ったことがないコマンドでも、知っておくとちょっとした時に便利なコマンドがあります。今回はそういったコマンドのひとつとして「units(1)」を紹介します。

units(1)はFreeBSD 2.1.5がリリースされる1ヶ月ほど前に当時のCURRENT(HEAD)にマージされたコマンドです。もともとNetBSDで使われていたコマンドを移植したものです。units(1)は名前の通り単位を扱うコマンドで、指定した単位の間の変換方法を教えてくれます。

日本はMKSA単位系(メートル、キログラム、秒、アンペア)を採用していますので、インターネットで公開されているデータの多くをそのまま感覚的に理解できますが、この単位系が普及していない国や地域があります。代表的なのは米国で、長さに関してはインチ、フィード、マイル、面積にエーカー、容量にオンス、パイント、クォート、ガロン、クォーター、重さにオンス、ポンドなどが使われています(MKSA単位系での表記があるものもあります⁠⁠。

units(1)コマンドを使うとこうした単位を変換するためのデータを知ることができます。たとえば50インチは何メールか調べるには、次のようにunits(1)コマンドとbc(1)コマンドを使います。

units(1)の使用例
$ units inch meter
    * 0.0254
    / 39.370079
$ bc -l
50 * 0.0254
1.2700
quit
$

50インチは1.27メートルくらいだということがわかりました。units(1)コマンドの引数にinch meterと指定すると「インチからメーターに変換する方法」を表示してくれます。インチの値に0.0254をかけるか、39.370079で割ればよいことがわかります。引数を何も指定しないと入力を求めるプロンプトが表示されます。この場合、次のように使用します。

units(1)の使用例その2
$ units
586 units, 56 prefixes
You have: inch
You want: meter
    * 0.0254
    / 39.370079
You have: ^D
$

表示されているのはFreeBSD 10.0-RELEASEのunits(1)コマンドです。586の単位が登録されていることがわかります。定義ファイルは/usr/share/misc/units.libにありますので、これを読むとどういった単位が用意されているかわかります。

プレフィックスというのはキロ(kilo⁠⁠、メガ(mega⁠⁠、テラ(tera)といった倍量単位を意味しています。次のような使い方をします。

units(1)の使用例その3
$ units mile kilo-meter
    * 1.609344
    / 0.62137119
$

この場合にはマイルをキロメートルに変換するための計算方法が表示されます。

現在はGoogleでこうした計算が可能ですので(Googleの検索フィールドやGoogle Chromeのアドレスバーに10 miles in kmのように入力すると変換後の値が表示されます。100 dollars in yenのように為替に関しても表示させることができます)あまり需要の高い機能ではありませんが、オフライン時に計算する必要があったり、変換方法そのものが知りたい場合などには便利なコマンドです。もう18年間もFreeBSDのユーザランドに存在しているコマンドです。

告知

シェルとコマンドで企業システムを高速開発する方法 ~実践的企業システム開発手法~

2014年7月11日に技術評論社会議室(東京・市ヶ谷)において「技評×オングス シェルとコマンドで企業システムを高速開発する方法 ~実践的企業システム開発手法~」を開催します。参加申し込みはこちらからどうぞ。

近年、企業の基幹システム(業務管理システム、売上管理システム、商品マスタ管理システム、販売管理システム、在庫管理システム、勘定系システム、請求システム、MDシステム、勤怠管理システム、給与系システム、データ分析システム、ログ分析システムなど)の開発手法として超高速開発手法と呼ばれる開発手法が注目されつつあります。

現在の企業活動に求められるシステムの開発時間はますます短くなっており、従来のウォーターフォール型の開発では経営の要求に応えることが難しくなりつつあります。高性能なシステムを短期間に開発できる開発手法の需要が高まってます。

今回のセミナーでは、*BSDやLinuxを企業システムのベースに採用し、シェルとコマンドを組み合わせて企業システムを開発する手法を紹介します。この手法は企業システムの開発速度がきわめて高速で、開発される成果物も高性能という特徴があります。こうした開発手法の草分け的存在がユニバーサル・シェル・プログラミング研究所さまが開発しているユニケージ開発手法です。オングスではttt開発手法と呼ばれるシェルとコマンドをベースとした開発手法を活用して企業システムを開発しています。

こうした企業システム開発の実践経験などをベースに、どのような発想で企業システムを開発するのか、シェルとコマンドをベースとしたシステム開発とはいったいどのようなものなのか、コマンドとしてはどういったものが活用できるのか、などを紹介します。

開催日時2014年7月11日(金)19:00~21:30(18:30開場)
場所技術評論社 本社5F会議室 ⁠東京都新宿区市谷左内町21-13)
参加申込http://atnd.org/events/52814
参加費2,000円

発表のあとはその場で簡単な懇親会を開く予定です。持ち込み歓迎です。

第30回 FreeBSD勉強会

2014年7月18日にKDDIウェブコミュニケーションズ会議室(麹町・東京)において「第30回 FreeBSD勉強会 Active Directoryとディスクレスクライアント」を開催します。参加申し込みはこちらからどうぞ。

企業や教育組織などにおいて使われることが多いディレクトリサービスにActive Directoryがあります。ディレクトリサービスの構築と運用、およびストレージとの関連した管理業務などはインフラ管理業務として代表的なもののひとつです。

第30回目となるFreeBSD勉強会では講師に佐藤広生先生をお招きして、FreeBSDを活用して構築・運用するActive Directoryとディスクレスクライアントについてお話いただきます。

開催日時2014年7月18日(金)19:00~21:30(18:30開場)
場所KDDIウェブコミュニケーションズ会議室 / 東京都千代田区麹町三丁目6番地 住友不動産麹町ビル3号館
参加申込http://atnd.org/events/51196
参加費2,000円

発表のあとはその場で簡単な懇親会を開きます。軽いつまみとアルコール類は用意しますが、お好きなお酒の持ち込みも大歓迎です。

第31回 FreeBSD勉強会

2014年8月14日(木)に東京、KDDIウェブコミュニケーションズさまの会議室において「第31回 FreeBSD勉強会 コンテナ技術 Jailの使い方 ~基礎から応用まで~」を開催します。参加申し込みはこちらからどうぞ。

Red HatがRed Hat Enterprise LinuxでDockerを採用するなど、費用対効果の高い仮想化技術またはセキュリティ技術としてコンテナ型/コンパートメント型の技術に注目が集まっています。こうした技術としてはFreeBSD JailやSolaris Containerなどがよく知られています。Dockerの開発もFreeBSD Jailのモデルが取り込まれています。

FreeBSDはセキュリティ強化やホスティングサービスなどの目的でインターネットが普及を始めた当初からコンテナ技術/コンパートメント技術「Jail」の開発と活用を進めてきました。最新のJailはさまざまなリソースをコンパートメント化し、リソースを制御し、ネットワークスタックの隔離を実現し、柔軟でセキュアな環境を提供します。

本勉強会ではJailの基礎を学ぶとともに、実用編・応用編としてZFSやFreeBSD Updateと組み合わせることで、最新の安全な環境を簡単に提供する方法を紹介します。Jailはセキュリティ面でもリソースの有効活用の面でも高い効果が期待できる技術ですが、使い方がわからないという声をよく聞きます。本勉強会がJail活用のきっかけになってくれればと思います。

開催日時2014年8月14日(金)19:00~21:30(18:30開場)
場所KDDIウェブコミュニケーションズ会議室 / 東京都千代田区麹町三丁目6番地 住友不動産麹町ビル3号館
参加申込http://atnd.org/events/52902
参加費2,000円

発表のあとはその場で簡単な懇親会を開きます。軽いつまみとアルコール類は用意しますが、お好きなお酒の持ち込みも大歓迎です。

おすすめ記事

記事・ニュース一覧