• ベストアンサー

サーバ構築の空ファイル作成

CentOSを使用しています。 サーバ構築のコマンドに関する質問なのですが、「空ファイルを作成せよ」という問いに対し、回答はどうなるのでしょう? $ vi foo で良いのか、 $ touch foo で良いのか、迷っています。 是非教えて頂きたいと思っております。宜しくお願いします。 *駄足 システム開発を自己流で勉強しているのですが、参考書を読んでもイマイチLinuxという実態が分からないので戸惑っております。今までOSはWindowsを使用していたのでそれ以外は殆んど使えません。 CentOSを導入するソフトは有るのですが、どうも身の回りの人に聞くと初心者がLinuxを導入すると必ず失敗する(→データすべてがなくなり初期化を行わければならない)と言われ戸惑っています。 失敗をすれば上達をすると皆さん言いますが、今このPCを初期化しなければならないと思うとどうも行動に移せません…。 導入の話は別として、 先ずどうやってLinuxの勉強をすればいいか、良い勉強方法が有りましたら教えて頂ければ幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
  • maku_x
  • ベストアンサー率44% (164/371)
回答No.2

普通は、 > $ touch foo ですよね。 ※ echo -n "" > foo と言う方法もありますが。 Linuxの勉強方法ですが、特にコレと言った方法は無いのですが、とりあえず「日本のLinux情報」辺りを読んでみる、とか。 http://www.linux.or.jp/toc_general.html 「Linux Tips Index」から情報を得る、とか。 http://www.atmarkit.co.jp/flinux/rensai/linuxtips/tipsindex.html

susser-tod
質問者

お礼

tk_uc様が回答して頂いたのと照らし合わせてみて、 echo -n "" > foo、若しくは echo -n '' > foo でも可能な様ですね。 (しかし同じechoコマンドでも「""」と「''」とで異なるのですが、そこが少々気になります…。) echoコマンドについてはまだ深く学んでいないので(文字列や変数を表示する、程度でしか認識しておりません;)、今回はtouchで行ってみたいと思います。 更にLinuxの勉強…参考urlまで教えて頂き感謝です。 今日はこれからテストなので今すぐ読解するのは難しいですが、終わり次第手をつけ、より深くLinuxについて勉強したいと思います。 maku_x様、回答有難うございます。

その他の回答 (4)

回答No.5

mktemp でどうでしょう.確実に存在しないファイルを作ってくれます.

susser-tod
質問者

お礼

mktempは思いつきませんでした…単純にviかtouchかなぁと思っていたので…。 有難うございます。今後の参考にさせて頂きます。

  • Lean
  • ベストアンサー率72% (435/603)
回答No.4

No.3です。 こめんなさい。 >$ cat /dev/null foo は $ cat /dev/null > foo です。 リダイレクションが抜けてました。

susser-tod
質問者

お礼

遅くなってしまい申し訳ありません。 回答ありがとうございました。その上、フォーテーションの謎まで解けてすっきりしました。

  • Lean
  • ベストアンサー率72% (435/603)
回答No.3

>サーバ構築のコマンドに関する質問なのですが、「空ファイルを作成せよ」という問いに対し、回答はどうなるのでしょう? 別に空ファイルが作成出来れば、どんな方法でも構わないと思いますが。 個人的には、 $ touch foo $ cp /dev/null foo $ cat /dev/null foo とか。 >(しかし同じechoコマンドでも「""」と「''」とで異なるのですが、そこが少々気になります…。) 違いは↓のような感じ。 ○シェル変数の設定 $ TEST="test" ○シングルクォーテーションの場合 $ echo '$TEST' $TEST →シングルクォーテーションではさんだ部分にシェル変数と一致するものがあっても展開しない ○ダブルクォーテーションの場合 $ echo "$TEST" test →シングルクォーテーションではさんだ部分にシェル変数と一致するものがあったら展開する($TEST→test) VMware Server(無償)みたいな仮想PCを実現するソフトウェアをインストールして、その仮想PC上にCentOSなりをインストールして使用してみたらどうでしょうか? どうしても動作速度は遅くなりますが、Windowsの方には影響ないですので、データが全てなくなるとかないです。 ○VMware Server  http://www.vmware.com/ja/products/server/

  • tk_uc
  • ベストアンサー率68% (33/48)
回答No.1

私は通常touchを使用しますが、指定したファイルが元々存在する場合、期待した動作と異なる可能性があります。 指定したファイルが元々存在し、かつ中身がある場合は、 echo -n '' > foo とかで良いかもしれませんね。

susser-tod
質問者

お礼

echo -n '' > foo (若しくは、echo -n "" > foo) が一般的なようですね。 出題問題には、正確には「空のファイルfooを/home/guest/work内に作成する」と有りました。 workディレクトリは当方が作成しましたので、ディレクトリ内にはファイルは空の状態なので、touchで大丈夫の様です。 早速のご回答有難うございました。

関連するQ&A