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