ラベル linux の投稿を表示しています。 すべての投稿を表示
ラベル linux の投稿を表示しています。 すべての投稿を表示

2012年1月25日水曜日

>/dev/null 2>&1になんか納得いかないあなたへ

>/dev/null 2>&1とは?
>/dev/null 2>&1は、コマンドの結果を表示させないときに使う定石です。
 軽く解説すると、
コマンドが正常に処理されて、標準出力に結果が表示されるはずのときも、
コマンドが失敗して、標準エラー出力に結果が表示されるはずのときも、
どっちもひっくるめて、/dev/nullにリダイレクトして、
表示させずにおきましょうってことですね。

え?でもこれって、
command 2>&1 >/dev/null
のがしっくりこない( ・`д・´)??

その気持はわかります。
では、正しい場合と間違いやすい間違いの場合を、
細かく見て行きましょう。
初期状態として
最初はこういう状態です。
標準出力をファイルにかえる。
先に標準出力をファイルに変更します。
command 1>/dev/null
ということですね。
標準出力はファイルを指すようになります。
標準出力はファイルを指すようになります。
いつもどおりの結果です。
標準エラー出力を標準出力が指している先にかえる。
つぎに2>&1の部分です。
「標準出力はどこを指してるんだろう?」と、
標準エラー出力は標準出力がさしてる先を見に行きます。
標準出力と標準エラー出力はファイルを指すようになる。
その結果、標準出力と標準エラー出力は、
同じところ(/dev/null)を指すようになります。
command 2>&1 >/dev/nullの場合(間違い)
先に標準エラー出力は、「標準出力がどこをさしてるんだろう?」
と見に行きます。
先に標準エラー出力は画面を指す。
標準エラー出力は、今標準出力が指している画面を指すようになります。
次に標準出力はファイルを見に行く
標準出力はファイル(/dev/null)をみにいきます。
標準出力は/dev/null、標準エラー出力は画面
先に標準エラー出力は画面を指すようになっていたので、
画面を指し、
標準出力はファイルを指すようになります。
この場合は、エラーが出た場合は画面に出力され、
( ̄ー ̄)ちーーーん
となります。

さて、2>&1の&の部分ですが、
これはC言語のポインタを考えると理解しやすいです。
1を変数と見立てると、2という変数に1のポインタの値を代入していますね。

2012年1月1日日曜日

あけましておめでとう!〜心機一転、fedoraを新しく〜

心機一転、OSを新しく
年も明けたということで、以前からアップグレードを怠けていたfedoraを新しくしました。
ご存知のとおり半年に一回くらいのペースでバージョンが上がっていくLinuxです。

USBからインストール
fedoraは簡単にUSBからインストールできるので、
以前と同様にUSBからインストールしました。
やり方は簡単!
(1)LiveUSB Creatorを使って、USBから起動できるfedoraを作成
(2)USBからfedoraを起動
(3)fedoraをインストールするアイコンがあるので、それを押下
(4)手順に従って、fedoraをインストール。

LiveUSB Creatorを使って、USBから起動できるfedoraを作成
とりあえず、LiveUSB Creatorをどっかのパソにインストールします。

そのあと、fedoraのisoをダウンロードします。
isoは「http://fedoraproject.org/」からダウンロード。

LiveUSB Creatorを起動して、「USE Existing Live CD」にダウンロードしたisoを指定します。
あとは、「CREATE Live USB」ボタンを押せばOK。

※isoをダウンロードしなくても、LiveUSB Creatorで、
作成するOSを指定するだけで作成できる機能があるっぽいので、最初それでやっていたのですが、
やたらと時間がかかった(1時間かかって10%完了)ので、途中でisoをダウンロードする方法に切り替えました。

USBからfedoraを起動
あとは簡単。
USBを差して、パソを起動するだけ。

※注意するのはUSBから起動できるようにBIOSで設定しなければならないこと。
またUSBから起動できないパソもあるので注意です。
そのへんはBIOS画面でちょっといじくって設定しました。

fedoraをインストールするアイコンがあるので、それを押下
USBからfedoraが起動できると、
パソにfedoraをインストールしてない状態でも、ふつうにfedoraがつかえます。

さて、パソにインストールするためには、
fedora16の場合、
まず左上の『Activities』を押下します。

でっかいアイコンが左端にいくつかならんできるので、
その一番下のHDDにチェックが入ったようなアイコンを押下します。

それで、fedora16のインストール画面が開きます。

手順に従って、fedoraをインストール。
あとはふつうに手順にしたがって、fedoraをインストールしていけばいいだけです。

思うこと
お手軽にできるので、USBからfedoraを起動して、
そこからfedoraをインストールしました。

じつはUSBからfedoraを起動した時点で、
パソに入ってるファイルとか見れるんですよね。
やはりちゃんとセキュリティ考えるならHDDにパスワード設定とか必要と実感。

たとえばこのUSBを他人のパソにつないで、電源いれて、
BIOSでUSB起動をできるように設定したら、
USBから起動したOSで、パソの中のファイル見れます。

いくらインストールしてるwindowsとかにパスワード設定してても、
そのwindowsが起動する前なので無効ですしね。