“応用力”をつけるためのLinux再入門Linuxを勉強してみたいけど、どこから手を付けてよいか分からない、何だかよく分からないまま使っている......そんな方々のための連載です。Tweet“応用力”をつけるためのLinux再入門(40):シェルスクリプトに挑戦しよう(20)オプションの処理[その2]——長いオプション前回に引き続き、今回のテーマも「オプション」です。今回は「getopt」などを使わずに処理します。シェルスクリプトでオプションを扱いたい場合、どのような点に注意するかも併せて考えていきましょう。)“応用力”をつけるためのLinux再入門(39):シェルスクリプトに挑戦しよう(19)オプションの処理[その1]今回のテーマは「オプション」です。外部コマンド「getopt」を使った処理を試してみましょう。シェルスクリプトでオプションを扱いたい場合に、どのような点に注意するか考えてみましょう。今回で「配列」は最終回となります。今回のテーマは、bashのバージョン4以降から使用できるようになった「連想配列」です。)“応用力”をつけるためのLinux再入門(37):シェルスクリプトに挑戦しよう(17)配列[応用編]前回に引き続き、今回のテーマも「配列」です。配列の削除とコピー、添字に変数を使う方法について取り上げます。)“応用力”をつけるためのLinux再入門(36):シェルスクリプトに挑戦しよう(16)配列[基本編]bashでは「配列」を扱うことができます。配列とは、1つの名前の変数で複数の値を管理できるようにしたものです。これまで、引数を参照するとき(本連載第25回)や、入力を受け取る際(本連載第30回)に使用していました。今回は、この配列にスポットを当てて、使い方や注意事項を確認します。今回は、繰り返し処理を中断する際に使用する「break」と「continue」を解説します。)“応用力”をつけるためのLinux再入門(34):シェルスクリプトに挑戦しよう(14)制御構文[その6]——while/untilによる繰り返し処理シェルスクリプトでは、条件が成り立っている間の繰り返し処理には「while文」を、条件が成り立っていない間の繰り返し処理には「until文」を使用します。今回は、while/untilによる繰り返し処理を解説します。)“応用力”をつけるためのLinux再入門(33):シェルスクリプトに挑戦しよう(13)制御構文[その5]——forによる繰り返し処理(3)今回も「for文」を解説します。for文では、「算術演算子」を使うことで、回数を指定して繰り返し実行することもできます。)“応用力”をつけるためのLinux再入門(32):シェルスクリプトに挑戦しよう(12)制御構文[その4]——forによる繰り返し処理(2)前回に続き「for文」を解説します。今回は、if文と組み合わせてファイルをバックアップするスクリプトを作成します。)“応用力”をつけるためのLinux再入門(31):シェルスクリプトに挑戦しよう(11)制御構文[その3]——forによる繰り返し処理(1)繰り返し処理では、「for文」または「while文」を使用します。今回は、「for」による繰り返し処理を解説します。for文では、“カレントディレクトリのファイルを順次処理する”のようにリストを基に繰り返す処理や、“1から10まで”のように回数を基にした繰り返し処理を行います。)“応用力”をつけるためのLinux再入門(30):シェルスクリプトに挑戦しよう(10)「read」コマンドでキーボードからの入力を受け取る今回は、シェルスクリプトの中でキー入力を受け取る際に使用する「read」コマンドを取り上げます。前回に続いて、文字列のパターンで分岐する「case」を使い、キー入力に応じて処理内容を変える方法を紹介します。後半では、readコマンドのその他のオプションについて解説します。今回は、文字列のパターンで分岐する「case」を解説します。〜......」で書くこともできますが、文字列のパターンで分岐する場合は「case」が便利です。)“応用力”をつけるためのLinux再入門(28):シェルスクリプトに挑戦しよう(8)条件の書き方シェルスクリプトの中では、さまざまな条件を指定して使います。今回は、if文での書き方を中心に「条件」の書き方を解説します。スクリプトで問題になりやすい「変数の引用符」についても取り上げます。条件によって処理内容を変えたり、繰り返しなどを行ったりする際の書き方を「制御構文」と呼びます。代表的な制御構文としては、if文、case文、for文、while文があります。今回取り上げるのは、条件によって処理を分岐させる「if」です。)“応用力”をつけるためのLinux再入門(26):シェルスクリプトに挑戦しよう(6)スクリプトで引数を使用する[その2]シェルスクリプトでは、単にコマンドを実行するだけではなく、条件によって処理を変えたり、繰り返し処理を行ったり、また、通常のコマンドのように引数を受け取って、引数に応じた処理を行ったりすることができます。前回に続き、今回もシェルスクリプトで「引数」を扱う方法を解説します。)“応用力”をつけるためのLinux再入門(25):シェルスクリプトに挑戦しよう(5)スクリプトで引数を使用する[その1]シェルスクリプトでは、単にコマンドを実行するだけではなく、条件によって処理を変えたり、繰り返し処理を行ったり、また、通常のコマンドのように引数を受け取って、引数に応じた処理を行ったりすることができます。今回は、シェルスクリプトで「引数」を扱う方法を解説します。簡単なスクリプトを加工しながら試してみましょう。)“応用力”をつけるためのLinux再入門(24):シェルスクリプトに挑戦しよう(4)変数の定義と参照シェルスクリプトでは、単にコマンドを実行するだけではなく、条件によって処理を変えたり、繰り返し処理を行ったり、また、通常のコマンドのように引数を受け取って、引数に応じた処理を行ったりすることができます。今回は、シェルスクリプトで「変数」を扱う方法について解説します。)“応用力”をつけるためのLinux再入門(23):シェルスクリプトに挑戦しよう(3)改行/空白/引用符のルールシェルスクリプトでは、単にコマンドを実行するだけではなく、条件によって処理を変えたり、繰り返し処理を行ったり、また、通常のコマンドのように引数を受け取って、引数に応じた処理を行ったりすることができます。Linux(WSL)」の正式版が提供されました。10上で利用できるようになります。10でbashスクリプトを試す方法を紹介します。)“応用力”をつけるためのLinux再入門(21):シェルスクリプトに挑戦しよう(1)準備編シェルの大きな魅力の1つが「シェルスクリプト」です。実行するコマンドをまとめたり、繰り返し処理を簡単に行ったりするなど、さまざまな形で応用できます。今回は、準備編として、シェルスクリプトの基礎となる文法を解説します。前回に続き、Linuxのターミナルで使用するテキストエディタ「vi(vim)」の操作を紹介します。今回は、ファイルの編集と検索、置換の基本操作です。最後に、チュートリアルと日本語ドキュメントのサイトも紹介します。「vi(vim)」は、ターミナルで使用する「テキストエディタ」です。前回は起動と終了、カーソル移動を中心とした基本操作を紹介しました。今回は、ファイルの編集時にはもちろん、閲覧のみの場合でも便利な「検索」と「オプション」の使用方法について簡単な例で紹介します。「vi」は、ターミナルで使用する「テキストエディタ」です。ほとんどのLinux環境に備わっており、設定ファイルの編集にviを使うように設定されているコマンドもあるため、最低限の操作は知っておく必要があります。)“応用力”をつけるためのLinux再入門(17):「シグナル」を送ってみよう前回は、シグナルについて、シェルでのキー操作を通じて確認しました。今回は、killコマンド/killallコマンドを使って、動作中のプロセスにシグナルを送ってみましょう。)“応用力”をつけるためのLinux再入門(16):Linuxの「シグナル」って何だろう?前回、ジョブを停止させる際に使用した[CTRL]+[Z]キーや、コマンドの実行を中断したいときの[CTRL]+[C]キーは、どんな意味を持つ操作なのでしょうか。今回は、Linuxの「プロセス」や「ジョブ」の制御に関わりの深い「シグナル」を解説します。)“応用力”をつけるためのLinux再入門(15):Linuxの「ジョブコントロール」をマスターしよう前回は、シェルがコマンドを実行する際の単位である「ジョブ」について、X環境を使って動作を確かめました。今回は、コマンドライン環境でのジョブコントロールを試してみましょう。X環境を持たないサーバ管理やリモート接続時に役立つ操作です。)“応用力”をつけるためのLinux再入門(14):Linuxの「ジョブ」って何だろう?前回は「ps」コマンドを通じて、実行中のコマンドが「プロセス」として管理されている様子を見ました。今回は、シェルがコマンドを実行する際の単位である「ジョブ」とは何かを見ていくことにしましょう。)“応用力”をつけるためのLinux再入門(13):Linuxの「プロセス」って何だろう?コンピュータでは「プロセス」と呼ばれる多くの処理が行われています。Linuxの「システムモニター」やWindowsの「タスクマネージャー」、macOSの「アクティビティモニタ」では、さまざまなプロセスが動作している様子を確認できます。今回は「ps」コマンドを通じて、Linuxのプロセスの様子を見ていきましょう。)“応用力”をつけるためのLinux再入門(12):「SUID(セットユーザーID)」属性の効果を試してみようファイルやディレクトリのパーミッションには「r」「w」「x」という基本的な属性の他に、「SUID(セットユーザーID)」や「SGID(セットグループID)」という特殊な属性があります。前回はディレクトリでこれらの特殊な属性がどのように働くかを試しましたが、今回は実行可能ファイルに対するSUID属性を試します。)“応用力”をつけるためのLinux再入門(11):「共有ディレクトリ」を作成してパーミッション(許可属性)への理解を深めよう前回は、Linuxの「ユーザー」と「グループ」を確認しました。今回は、特定のグループメンバーで共有するディレクトリを作成しながら、ディレクトリのパーミッション(許可属性)がどのように働くかを試してみましょう。)“応用力”をつけるためのLinux再入門(10):Linuxのユーザーとグループって何だろう?Linuxでは、「ユーザー(Users)」「グループ(Groups)」「それ以外(Others)」でファイルのパーミッション(許可属性)が設定されています。今回は、この「ユーザー」と「グループ」を説明します。rootユーザーの役割を確認して「su/sudo」コマンドを試します。-l」コマンドには、実にたくさんの情報が詰め込まれています。1つ1つの意味を理解することで、Linuxではファイルがどのように管理されているかが見えてきます。)“応用力”をつけるためのLinux再入門(8):PATHを理解して、コマンドの在りかを探してみようコマンドの使い方は知っていても、どこにあるコマンドが実行されているかはあまり意識していないかもしれません。ディレクトリとパスについての理解が進んだところで、今回は環境変数PATHとコマンドの種類について理解を深めていきましょう。)“応用力”をつけるためのLinux再入門(7):Linuxのディレクトリに親しもう今回のテーマは「ディレクトリ」です。Linuxのディレクトリ構造を確認し、後半で「相対パス」と「絶対パス」を取り上げます。コマンドラインでファイルを操作するときだけではなく、環境設定にも不可欠です。)“応用力”をつけるためのLinux再入門(6):パイプとリダイレクトでコマンドを組み合わせて実行しよう今回のテーマは「パイプ」と「リダイレクト」です。それぞれ、コマンドの出力を別のコマンドに渡したり、ファイルに保存したりすることができます。コマンドを組み合わせて実行する際にもよく使われるテクニックです。)“応用力”をつけるためのLinux再入門(5):補完機能、ヒストリ、エイリアスでコマンドラインの入力を“楽”にしよう今回は、コマンドラインの入力を楽にするためのテクニックを紹介します。コマンド名やファイル名の入力を省く補完機能、そしてコマンドラインの編集とヒストリ機能です。補完機能は重要なのでぜひマスターしてください。)“応用力”をつけるためのLinux再入門(4):Linuxのシェルとコマンドプロンプトを理解しよう今回のテーマは「シェル」です。リモートでサーバを操作したり、GUIではできない操作をしたり、よく行う処理を自動化したり......と、Linuxではシェルを使う機会がとても多く、また、シェルを使いこなせるようになることで活用の幅が大きく広がります。これから何回かに分けてシェルの使い方を紹介していきます。)“応用力”をつけるためのLinux再入門(3):LinuxのCUIとGUI、デスクトップ環境を理解しよう今回は、Linuxの「インタフェース」に注目します。インタフェースとはLinuxを“どのように見せて、どのように操作するか”を決める部分です。Xでおなじみのグラフィカルなスタイルと、コマンドをキーボードで入力するスタイルの両方を利用できます。)“応用力”をつけるためのLinux再入門(2):VirtualBoxでLinuxのテスト環境を作ってみようLinuxを試したり、勉強したりするための環境を作るには、「仮想化環境」を使うと便利です。今回は、「VirtualBox」でLinuxのテスト環境を作成する手順を解説します。)“応用力”をつけるためのLinux再入門(1):いまさら聞けないLinuxの基礎知識Linuxを勉強してみたいけど、どこから手を付けてよいか分からない、何だかよく分からないまま使っている......そんな方々のための連載です。Linuxとはどんなものなのか確認しましょう。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。