Linuxのhostsファイルを置き換える

こんにちは、松沢英俊です。

僕はIT関連の仕事もしているのですが現在取り扱っているシステムのhostsファイルを変更する必要がでてきて、僕が対応せざるを得なくなってしまいました。下請け業者との契約期間が終了してしまっていたからです。

僕がLinuxを最後につかったのは分子生物学の研究をしていた時だったので、操作をすっかり忘れてしまっていました。それでちょっと調べて、僕の検証環境で試してみました(日常的にLinux使用しているSEさんにとっては初歩の初歩です)。今回はそれをメモとしてのこのブログに残しておきたいと思います。ちなみに僕は「新Linux/UNIX入門」を参考にしたのですが大変わかりやすいです。

新Linux/UNIX入門 第3版 (林晴比古実用マスターシリーズ)

大まかな流れは次のようになります。

1.現在のファイルの名前を変更
2.新しいファイルをLinxuサーバーにアップロード
3.アップロードしたファイルの移動
4.現在のファイルと新しいファイルを比較し、想定通りの箇所のみが変更されていることを確認
5.古いファイルを削除

今回は例として、testというファイルを置き換えてみます。

【test(変更前のファイル)】
test0
test1
test2
test33
test4

【test(変更後のファイル)】
test1
test2
test3
test4
test5

■1.現在のファイルの名前を変更
同じ名前のファイルを同じディレクトリに置くことはできないので、事前に現在のファイルの名前を変更しておきます。ファイル名の変更はmvコマンドを使います。

———-ファイル名の変更————-
[root@web01 matsuzawa]# ls
test
[root@web01 matsuzawa]# mv test test_old
[root@web01 matsuzawa]# ls
test_old

■2.新しいファイルをLinxuサーバーにアップロード
作業用PCのデスクトップに置いていた作成済のファイルをTeratermでアップロードします。

SSHSCP

SSHSCP2

ちゃんとアップロードされていることを確認します。
[root@web01 ~]# ls
Desktop     matsuzawa    test

■3.アップロードしたファイルの移動
[root@web01 ~]# mv test matsuzawa/test
[root@web01 ~]# cd matsuzawa/
[root@web01 matsuzawa]# ls
test    test_old

■4.現在のファイルと新しいファイルを比較し、想定通りの箇所のみが変更されていることを確認
ファイルの内容の比較にはdiffコマンドを使います。
[root@web01 matsuzawa]# diff test_old test
1d0
< test0
4c3
< test33
– – –
> test3
5a5
> test5

——————————
ちょっとわかりにくいので、上記の結果の意味を説明します。

1d0  ← test_oldの1行目とtestの0行目を比較(dは削除の意味)
< test0

上記はtest_oldファイルの1行目のtest0がtestファイルでは削除されているということを意味しす。

4c3  ← test_oldの4行目とtestの3行目を比較(cは変更の意味)
< test33
– – –
> test3

上記はtest_oldファイルの4行目のtest33がtestファイルの3行目ではtest3になっていることを示しています。

5a5  ← test_oldフの5行目とtestの5行目を比較(aは追加の意味)
> test5

上記はtest_oldファイルの4行目のtest33がtestファイルの3行目ではtest3になっていることを示しています。
——————————

■5.古いファイルの削除
[root@web01 matsuzawa]# ls
test  test_old
[root@web01 matsuzawa]# rm test_old
rm: remove 通常ファイル `test_old’? y
[root@web01 matsuzawa]# ls
test

これで、ファイルの置き換えは完了です。

  • このエントリーをはてなブックマークに追加

コメントをどうぞ

メールアドレスが公開されることはありません。