• ベストアンサー

シェルについて(初心者)

仕事でオペレータみたいなことやってます。 ほとんどシステムの監視みたいなことを やってるんですが、 そこでよくTeraTermを使ってます。 周りはviをこよなく愛していて 私はまだまだviをよく知りません。 (起動の仕方ぐらいはわかりますが 終わらせ方となると…。) 本とかネットとかでviはなんとか 理解できそーですが、 そこから先のシェルとかっていうのも 使って仕事ができないと困るよーな感じです。 で、シェルプログラミングでいい本とか サイトとかあれば教えてもらえませんか? よろしくお願いします。

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

  • ベストアンサー
回答No.3

Cygwinのデフォルトのシェルはbashです。 以下、参考URL。 viエディタの解説 vi エディタの使い方 http://www.menet.ed.jp/menet/system/freebsd/vi.html viとシェルスクリプトの解説 最低限 UNIX - Linux [III] 【シェルスクリプト】 http://www.ep.sci.hokudai.ac.jp/~inex/y2002/1101/1101_script.html シェルスクリプトの解説 bashで始めるシェルスクリプト基礎の基礎 <---お勧めかも http://www.atmarkit.co.jp/flinux/rensai/theory08/theory08a.html

参考URL:
http://www.atmarkit.co.jp/flinux/rensai/theory08/theory08a.html
toubousha
質問者

お礼

回答有難うございました。 参考になりました。

その他の回答 (2)

回答No.2

『入門UNIXシェルプログラミング』はいかがでしょうか? 仕事でサーバ構築・運用をしてますが、プロ(?)からもオススメできる一冊です。

参考URL:
http://www.amazon.co.jp/exec/obidos/ASIN/4797321946/250-0507813-2475463
toubousha
質問者

お礼

ご回答有難うございました。 書店でその本を見てみました。 著者はこの本について B-シェルを元に書いたと言ってましたよね? bashとは違うんですか?

noname#86752
noname#86752
回答No.1

お使いのシェルは何でしょう? シェルも一つのプログラムなので、いっぱい種類があります。カテゴリがlinuxなのでbashかな? もしそうなら入門bashという本がオーライリーから出てます。 他にもtcshとかzshとかいろいろあります。 man bashとやってじっくり読むのが一番確実です。(かなり分かりにくいですけどね)

toubousha
質問者

補足

回答有難うございます。 家で勉強している環境はWindowsで その中にCygwin入れてやってます。 だからbashになるんでしょうか?

関連するQ&A

  • シェルの習得方法について

     システムの運用を行うことになり、Bシェルで作られたスクリプトの編集、追加を行うことになりました。  以前、コマンドラインでシェルを叩いたり、作られたスクリプトの値を変更する程度の作業は行っていました。  しかし今回は要求に合わせて設計(記述する内容)、作成、テストまでを行うことになり、経験の無い私はシェルの勉強をはじめました。  シェルを習得するために入門UNIXシェルプログラミングを読み、基本的な書き方や、シェル変数、リダイレクションについて大まかな概略は理解できたのですが、読んだだけで友人にはスクリプトの例を見たり、自分でスクリプトを作っていくことを進められましたが、何から手をつけ、どのように習得していけばよいか判らない状況です。 是非、習得方法をご存知の方が居られましたら、アドバイスお願いします

  • Linux、unix、シェルスクリプトの基礎知識、コマンドについて

    会社でteratermを使ってコマンドベースの仕事をする機会があるため、コマンドやシェルスクリプトについて理解したいと考えています。 そこで疑問がわいてきたため、何点か質問があります。 1)teratermでtelnetで接続してコマンドを打つときはunixのコマンドですか?linuxのコマンドですか? 2)unixとlinuxで簡単なコマンドレベルでの差は無いものと考えて大丈夫でしょうか? 3)勉強するならunix、linuxどっちがお勧めですか? (今のところ参考書として、独習linuxか独習unixを買って勉強しようと思っています。他にお勧めの参考書があれば教えてください。) 4)シェルスクリプトを家でも作成してみたいのですが、ubuntuをインストールして端末上で操作し、作成して試すことはできるのでしょうか? (お勧めの参考書があれば教えてください。) 長くなってしまいましたが、よろしくお願いします。

  • クオータの設定とシェル編集について

    よろしくお願いします。 ●クオータ設定   MacOSXserver(FreeBSD) ー ADサーバ   の環境で、共有フォルダをMac側に   設定しています。アクセスするユーザは   ADのユーザです。   この時、ADユーザ数が5ユーザとして   1ユーザに対して4Gのディスククオータを   設定するスクリプトを作成しました。   が、上手く行きません。   【plファイル】 #!/usr/bin/perl open(IN,"/Users/admin/Desktop/userlist.txt"); @USER=<IN>; foreach (@USER) { system("edquota -p ppp -u $_ "); }   【ユーザリストファイル】 ppp 11111 22222 33333 44444   pppユーザを基準ユーザとして4G設定   しています。それを他のユーザに反映   させるスクリプト・・・のハズなのですが・・ どこがおかしいのでしょうか? ●シェル編集   シェルの編集の仕方について教えて下さい。   さっぱり分からないのですが、   0)シェルって何ですか?   1)編集する事でどのようなメリットが     あるのでしょうか?   2)bash, csh, sh, zsh・・の違い   3)viで編集すると仮定して、     > vi ・・・     何と入力すれば良いのでしょうか?     つまり「シェル」ってどこに     あるのですか? よろしくお願いいたします。

    • ベストアンサー
    • Perl
  • ディレクトリ監視シェルスクリプト

    お世話になっております。 現在、特定のディレクトリを監視するという仕事をしております。 そこで、監視を人ではなく、シェル(ツール)化しようと考えております。そこでご相談があります。 以下の手順ができるようなシェルを作成しようと考えております。 ---------------------------------------------------------------- 例) /home配下にディレクトリまたはファイルが追加された場合。 以下の対話処理が走り、yを押すとhoge-serverのサービスが 再起動され、n(y以外)を押すと何もしない。 ↓ echo"/home配下にhogeディレクトリが作成されました。" echo"サービスを再起動しますか?(y/n)" read lm if [ $lm -eq y ]; then /sbin/service hoge-service restart ---------------------------------------------------------------- 肝心の/home配下の監視という部分がよくわかりませんでした。 どなたかわかる方がいたら教えて下さい。 宜しくお願いします。

  • サーバーの監視オペレーターは底辺職ですか?

    サーバーの監視オペレーターは底辺職ですか? サーバーの監視オペレーター(システム運用オペレーター?)は底辺職ですか? よく仕事内容は手順書に書かれてる通り作業して終わり。 障害が発生したら担当SEに連絡するのみ。 スキルは身につかない等聞きますが・・。 新卒でこの職種に就いたらお先真っ暗になる可能性は高いですか?

  • リモートシェルで起動したプロセスのデバッグ

    現在VC.NET2003で開発を行っております。 Service For UnixをWindows2000にインストールし、 リモートシェルコマンドを使用できるようにしました。 そして、あるプログラム(起動元)から、リモートシェルを用いて 別のプログラム(こちらもVC.NET2003で開発)を起動しています。 起動元と起動先のプログラムは、ソケット通信を行っていますが、 通信処理にバグがあるようで、デバッグが必要な状況です。 (どこかでメモリが壊れている) 起動元のデバッグは行えるのですが、起動先のプログラムは どのようにデバッグを行えば良いのでしょうか。 現状は、ログを仕込んで調査しています。 非効率なので、もっと効率的な方法があれば、アドバイスお願いします。 読んでいただいて、ありがとうございました。

  • phpのおすすめ本教えてください(全くの初心者向け)

    こんにちは。 仕事でphpのプログラミングを覚える必要がありまして、参考になる本を探しています。 htmlなどは理解できるものの、当方プログラムは全くの未経験でしてどこから手をつけていいのやらといった状態です。 また、仕事使うとはいっても自分でばりばりコードを書くわけではなく、仕事の関係上多少は理解しておく必要があるという程度でして、おすすめのマニュアル本などありましたら紹介していただけると幸いです。

    • ベストアンサー
    • PHP
  • Bシェルの.profileについて

    Solaris9を使っています。 シェルはデフォルトのBシェルを使っているのですが、 ユーザー環境定義ファイルのドットファイルを /etc/.profile のように作って環境定義 PATH=$PATH:/usr/local/bin export PATH のように書き再起動してみても、全く反映されません。 手元にある本をみると .profileはユーザー設定ファイル、 としかかかれていず、ユーザー事の設定にできるのかな?とも思うのですが、それ以上の情報が見つかりません・・・ ネットの情報を見てもbashやtcshの説明は多いのですが・・・ できれば自分のIDでログインしたときだけにその設定で起動するようにしたいのです。 つまりはユーザー設定ファイルがうまく有効になるようにしたいです。 よろしくお願いいたします

  • シェルの実行履歴

    はじめまして。 会社にてBTSの管理をすることになったのですが、 システムが落ちた際に自動で起動するシェルが動いていない様で困っています。 仕組みとしては checkシェルが1分ごとに動き監視→落ちていると判断すると、restartシェルが動く という感じです。 ですが朝来ると落ちていることがたまにあり、 たぶんどこかのシェルが正しく動いてないんじゃないか?と思っています。 そこでまず、 checkシェルが正しく動いているのか? を調べようと思いシェルの実行履歴とか見れないのかな? と思い探していたのですが、うまく見つからず困っています。 一応checkシェルも記載いたします。 個人的に怪しいなと思っている箇所は、[怪しい] と記載されている辺りです。 これを作成した人が何も情報を残さずにやめてしまって、どういう根拠で条件を設定しているのか不明なんです。 ---------------------------------------------- #!/bin/sh tomcat_home=/usr/local/scarab-1.0-b20/tomcat chk_log=$tomcat_home/logs/catalina.out while true do btspid=`ps ax | grep "\[java\]" | awk '{print $1}'` [怪しい] isAlive=`tail -n 261 $chk_log | grep OutOfMemoryError | wc -l` if [ $isAlive -lt 3 ]; then echo "scarab is still alive, error count = $isAlive : pid = $btspid" else echo "scarab is dead... errot count = $isAlive ; pid = $btspid" ~/restart.sh # break fi sleep 60 done ------------------------------------

  • シェルとカーネルの概念とプログラムの処理の流れ

    興味本位で「プログラミング」について、調べ学んでる内にひとつの壁にぶつかりましたので質問させていただきます。 質問内容は「シェルとカーネル。そしてアプリケーション」になります。 素人ながら現在持っている論理を下記に列挙します。誤認識などあれば指摘いただければ幸いであります。 狭義での論争は、避けたいので、広義として理解頂ければと思います。(狭義や曖昧な点においてもある程度学習済み) 1. プログラミング言語には、低級・高級言語があり、ハードよりのC言語(影響下のC++, Objective-C)で作られたプログラムの実行速度は速い。 2. プログラム処理系には、インタプリタ・コンパイラがあり、一般ユーザーが使用するアプリケーションのほとんど(.exeなど)がコンパイラアプリケーション。 3. JavaなどVM環境下動作するアプリケーションは、中間言語で実行される。 4. OSには中核であるカーネルがあり、カーネルは人工言語(コンピューター言語)を機械語に訳し、各リソース(CPU・RAMなど)に処理を実行させる。 5. カーネルはシェルに覆われており、実際のユーザー側の処理のリクエストは、シェルを介して行われる。 6. シェルには大別して、CLI(CUI)とGUIがあり、CLIシェルはプロンプトが表示されるコマンドラインインタプリタ。 7. GUIシェルは、OSがオペレーションの意から、OSの各種機能(Windows System, エクスプローラー等)。※ 私は理解を容易する為にOSそのものをシェルと捉えてます。 長くなりましたが、上記を踏まえた上での質問が下記になります。 Q. iTunes, Word, などの各種アプリケーションの各種操作(処理、実行)というのは、コンピューター言語でシェルを介し機械語でカーネルまで橋渡しされるのでしょうか? なぜこのような質問になるかといいますと... プログラミング言語は機械語にコンパイルして、はじめてコンピューターに理解してもらえる事は百も承知です。 プログラミング言語で制作されたアプリケーションの処理や実行は当然、コンパイル済みの機械語で行うものと認識しております。(ここでは中間言語は除く) ここで冒頭に述べた壁に当たりました。洒落ではなく、私の中で「殻」もとい「壁化」してしまったシェルの存在です。 現在、持ち合わせてる論理から考察すると、機械語で実行された処理をシェルを介す意味がどこにあるのか?それとも介さずカーネルにそのまま引き渡してるのか? 私が間違っており、そもそも制作されたアプリケーションの処理や実行は、コンピューター言語であり、それをシェルを介しカーネルという流れがあるのならば、コンパイラの存在意義が分かりません。 本来はもっと自分が思ってる事を言語化出来ればいいのですが、これが現時点で精一杯です。