IT業界の人を応援!! 資格取得ガイド
 トップページ > 備忘録 > Linux初心者用のコマンド問題1





Linux初心者用のコマンド問題1


当ページはLinux初心者用のコマンド問題と回答を紹介するページです。

先輩は現場での作業ミスが少ないのに、入社3年目までの方は多くのミスをしてしまいます。なぜ多くのミスをするのか、どうすれば作業の精度を向上する事が出来るのかの疑問を問題を通して解説致します。

結論から言うと「ミスが多いのは作業手順に問題があります!」です。
当ページで作業ミスを少なくする手順を覚えてもらえれば幸いです。


Linux初心者用コマンド問題1

Linux初心者君の上司であるガミガミ先輩に作業依頼がありました。

ガミガミ上司
「Linux初心者君、/home/oracleフォルダのabc.xtxファイルにexport HOGE2="DEF"の行を追加しといて」


Linux初心者君
「えっ。分かりました。。」


Linux初心者君
「ファイル編集にはviコマンドを使用するのだから。。」
「viコマンドでabc.txtを編集すればいいかぁ?」


ガミガミ上司
「使用するコマンドはviだけ? だからLinux初心者君はミスが多いんだよ!ミスを減らす為にviコマンドの前後で使用するコマンドがあるだろうがぁ!」
「もっと、良く考えろ!」


Linux初心者君
「viコマンド前後に必要なコマンド???」


現場ではよくある作業依頼です。
あなたならどのように作業をするか考えてください。
考え終わったら以下の回答を見てください。


Linux初心者用コマンド問題1の回答

作業1)作業する前にバックアップを取ろう

abc.txtファイルを編集する前に、バックアップを取得してください。

今回の場合は1行(export HOGE2="DEF")と短い文字列の追加だから必要ないと思われた方がいると思いますが、編集箇所が少なくても多くても作業前にバックアップを常に取るという癖をつける事は非常に重要です。


Linux初心者君
「よしバックアップを取ろう。バックアップを取るコマンドはcpコマンドでいいか。バックアップファイルは日付をつけて取ろう」
「コマンドはこれでいいかなぁ」

#cp abc.txt abc20090519.txt



Linux初心者君のミスに気が付きましたか?
このバックアップ方法は誤っています。
正しくは以下の”-p”オプションが必要です。
#cp -p abc.txt abc20090519.txt

以下で-pオプションなし、ありの違いを見てください。


[root@localhost oracle]# date
2009年 5月 19日 火曜日 10:58:52 JST
[root@localhost oracle]#
[root@localhost oracle]# cp abc.txt abc20090519-1.txt    ”-p”オプションなし
[root@localhost oracle]#
[root@localhost oracle]# cp -p abc.txt abc20090519-2.txt  ”-p”オプションあり
[root@localhost oracle]#
[root@localhost oracle]# ls -la abc*
-rw-r--r-- 1 root root 19 5月 19 06:19 abc.txt
-rw-r--r-- 1 root root 19 5月 19 10:59 abc20090519-1.txt ”-p”オプションなし
-rw-r--r-- 1 root root 19 5月 19 06:19 abc20090519-2.txt ”-p”オプションあり
[root@localhost oracle]#


上記からcpコマンドの”-p”オプションがある場合とない場合の違いが分かりますか。

そうです、cpコマンドで”-p”オプションがない場合は、cpしたタイミングのタイムスタンプ(上記例では10時59分)を持ったバックアップファイルになります。

また、cpコマンドで”-p”オプションがある場合は、元ファイル(abc.txt)のタイムスタンプ(上記例では6時19分)を持ったバックアップファイルを作成する事が出来ます。

バックアップ取得後にabc.txtファイルを修正しますので、abc.txtファイルもタイムスタンプが更新されます。つまりこんな状態になります。


cpコマンドの-pオプションなしでバックアップを取得した場合。
[root@localhost oracle]# ls -la abc*
-rw-r--r-- 1 root root 19 5月 19 10:59 abc.txt
-rw-r--r-- 1 root root 19 5月 19 10:59 abc20090519-1.txt
[root@localhost oracle]#
数日後にファイルを見た時に元ファイルがいつ作成されたか分からない。。

cpコマンドの-pオプションありでバックアップを取得した場合。
[root@localhost oracle]# ls -la abc*
-rw-r--r-- 1 root root 19 5月 19 10:59 abc.txt
-rw-r--r-- 1 root root 19 5月 19 06:19 abc20090519-2.txt
[root@localhost oracle]#
数日後にファイルを見た時に元ファイルがいつ作成されたか分かる(5月19日の6時19分のに作成されたファイルを10時59分に更新した事が分かる)。


数日後に問題が起こった場合、いつファイルが編集されたのかなどタイムスタンプを追って原因分析をする事は非常に多いです。
たかが”-p”を付ける、付けないの違いですが、分析が出来た、出来ないの大きな違いとなります。


【覚えてもらいたいポイント】
cpコマンドでは常に”-p”オプションを付ける!!

作者は10年間程、-pオプションなしのcpコマンドは打っていないのではないかなぁ〜と思うほど、癖のように付けています。皆さんも癖のように付けるようになって下さい。



作業2)ファイルの編集終わり?


Linux初心者君
「バックアップも取得したし、viコマンドでファイルを編集!」

#vi abc.txt

「はい。保存して終了!」
「ガミガミ先輩、作業終わりました。」


ガミガミ上司
「ファイルを編集したら終わり? もう一つ作業が抜けてるだろうが!!」
「もっと、良く考えろ!」


Linux初心者君
「viコマンド後に必要なコマンド???」


ファイル編集後に必要な作業(コマンド)が抜けている事、分かりました?
そうです!「確認作業がない!」事が問題です。

ファイル編集を行った場合は、癖のようにdiffコマンドにて編集前と編集後のファイルの差分を確認してください。
差分結果は意図して編集した箇所のみとなっているかは必ず確認する必要があります。


[root@localhost oracle]# diff abc.txt abc20090519-2.txt diffコマンドで編集前後ファイル比較

2d1
< export HOGE2="DEF"  意図した部分のみ表示された。
[root@localhost oracle]#


中にはcatコマンドで編集ファイルの確認をすればいいんじゃないの?と思われている方がいらっしゃると思います。
[root@localhost oracle]# cat abc.txt
export HOGE1="ABCD"
export HOGE2="DEF"


[root@localhost oracle]#


上記のファイルをdiffで比較すると
[root@localhost oracle]# diff abc.txt abc20090519-2.txt
1,4c1
< export HOGE1="ABCD"
< export HOGE2="DEF"
<
<

---
> export HOGE1="ABC"
[root@localhost oracle]#


catコマンドでは気が付きにくいですが、3行目、4行目にEnterキーが入っている事に気が付きます。
また、1行目のABCをABCDと誤って修正している事に気が付く事が出来ます。

ABCDなんで誤って修正しないと思われているかも知れませんが、ミスをする時は本人の意図しない時に起こるものです。客観的に意図しない作業を行っていないか、最終確認は必ず行ってください。


【覚えてもらいたいポイント】
ファイル編集後はdiffコマンドで差分を確認する!!




以下では上記で使用したコマンドを勉強する、Linuxの基礎知識の習熟レベルを計るLPICと言う試験があります。
Linuxを勉強しようと考えている方は、LPICレベル1の勉強を始める事をお勧めします。


LPICレベル1の勉強方法
勉強方法は、上記の茶本「Linux 教科書 LPICレベル1 第3版(翔泳社)」、
問題集はクラムメディアの問題集を中心に勉強しました。


■作者が使用した参考書
Step1)LPICレベル1の全体把握、詳細把握
Linuxとは?、どうな知識が必要なの?を体系的に理解する事が可能です。
LPICレベル1を取得するには必須の教科書です!
※第3版が最新版です。気を付けてください。

【Linux 教科書 LPICレベル1 第4版(翔泳社】((LPI認定教材))


無料で勉強したい方はLPIジャパンが提供しているLinux標準教科書がお勧めです。
詳細は当ページの一番下のLinux標準教科書をご確認願います。


Step2)LPICレベル1資格の出題問題を学ぶ問題集
Step1で大まかに出題範囲を確認後は多くの問題を解きます。お薦めです。

【黒本(徹底攻略 LPI問題集 Level1/Release3 対応)】(LPI認定教材)




■作者が使用したサイト
LPIC暇問サイト
無料版と有料版がある暇問のサイト。

LPICフリーク
※LPICを目指す方ならよくご存知の定番サイトです。
  LPICの資格に限らずMCP,OracleマスターなどのIT資格情報が満載のサイトです。

Linux標準教科書
LPICを主催している特定非営利活動法人エルピーアイジャパン
は「Linux標準教科書」をインターネット上に公開しています。
Linuxとは?から始まり章末テストまでが収録された資料です。
無料ですのでまずはこちらから勉強するのも良いと思います。


■弊サイトのLPIC紹介ページ
LPICレベル1合格体験記
 ※まずはLPICレベル1を取得しよう!

LPICレベル2合格体験記
 ※レベル1を取得後は迷わずレベル2取得を目指そう!

LPICレベル3合格体験記
 ※レベル2を取得後は最高位のレベル3を取得して周りに差を付けよう!

Linux資格(LPIC)
 ※LPIC資格とはどのような資格か説明しています。


Copyright(C) IT業界の人を応援!!資格取得ガイド All Rights Reserved