CTC 教育サービス
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes
スマートフォンもコンピュータの1つと考えると、コンピュータをまったく操作しない日は無いという方がほとんどでしょう。今日は、どうやってコンピュータを操作するか、そんな話をしたいと思います。
スマートフォンやパソコンのアプリケーションには、指やマウスを使って操作できる直観的なインターフェイスが備わっています。これは、Graphical User Interface略してGUIです。GUIと対になるのは、CUI。Character User Interfaceです。characterは文字のことなので、文字通りキーボードだけを使うユーザーインターフェースということになります。
シェル(shell)は貝殻を意味する単語ですが、コンピュータの世界ではオペレーティングシステムとユーザの間で仲介役をしてくれるソフトウェアの総称です。たとえば、ファイルのコピーや移動をする場合、Windowsであればエクスプローラー、macOSであればFinderを使うと思います。これらはシェル、しかもGUIのシェルです。ただ、単にシェルと言うとCUIのシェルを指すことが多いようです。身近にITエンジニアがいる方は、彼らが真っ黒な画面にカタカタとキーボードからコマンドを入力している姿を見たことがあるかもしれません。それがシェルです。ファイル操作はもちろんのこと、アプリケーションの起動やコンピュータの設定変更など、何でもできます。
なんでもできるのは当然です。なぜなら、初期のコンピュータにはCUIのシェルしか無かったからです。マウスを使ったコンピュータの操作が一般的になり、普通のアプリケーションはGUIを備えるようになりました。それでも、CUIのシェルは使われ続けています。ここにはいろいろな理由がありそうです。プログラミングに関わるツールのすべてにGUIを実装するのは手間がかかりますし、コマンドを覚えてしまえばマウスを触らずにコンピュータを操作できるので、実は楽です。いずれにしても、データサイエンスやプログラミングに入門しようとすると、シェルを使ったコンピュータの操作が欠かせません。さらに言うと、これが学習の際に一番の障壁になっているのではないかと思っています。私は、シェルを使ったコンピュータの操作を多くの人に知ってもらいたいので、シェル芸人を自称する方以外は、今回のコラムをきっかけにぜひシェルを使ってみてください。
シェルにはいくつか種類があります。これが結構ややこしいです。見た目は黒い画面にコマンドを打ち込むのですが、このコマンドが微妙に違うわけです。シェルの種類はOSと深く結び付いています。macOSとLinuxはほとんど同じOSに分類されるので、標準的なシェルはbashです。「びーえーえすえいち」と読むと素人だと思われます。通常は「ばっしゅ」と発音されます。macOSの最近のバージョンは、標準でインストールされているシェルがzshになりました。これにはライセンスの問題が関係しているらしいですが、bashとzshは操作性がほとんど変わらないのでこれらの違いは気にしなくても大丈夫です。macOSでは、ターミナルというアプリケーションを起動するとシェルを使ってコンピュータを操作できます。
Windows系のOSには、このターミナルに相当するアプリケーションがいくつかあって、すこし話が複雑です。Windowsでもっとも古典的なCUIのシェルは、コマンドプロンプトから利用できます。コマンドプロンプトはかなり歴史が長いのでいまでも使われる場面があるようですが、最近はWindow PowerShellへの移行が進んでいます。コマンドプロンプトとWindows PowerShellのコマンドは違います。これらは、bashやzshとも違ったコマンド体系です。どちらかというと、PowerShellの方がbashに似ていますが、同じではありません。
「なんてこったい」と思った方に朗報があります。最近のWindowsでは、Windows Subsystem for Linux(WSL)という仕組みでLinuxが動きます。ですので、bashが使えます。というわけで、bashを規準としたコマンドを覚えればほとんどのOSで操作に困りません。
あまり専門的になるとこのコラムでは解説しきれないので、基本的なコマンドだけを紹介します。ぜひ、ターミナルやWindow PowerShellを起動して試してみてください。ls
と入力してEnter(またはreturn)キーを押すと、いまいるディレクトリのファイル一覧が表示されます。シェルを使った操作でもっとも重要なのは、いま自分がどのディレクトリに居るかを意識することです。これは、スマートフォンを含めGUIでしかコンピュータを操作していないと、ほとんど考えたこともない概念なので、慣れるまで時間がかかるかもしれません。自分がいま何処に居るかは、pwd
というコマンドでわかります。
ディレクトリの移動はcd
です。ただcd
とだけ入力すると、bashではホームディレクトリへ移動します。ホームディレクトリは最初にターミナルを起動したときに居る場所です。指定した場所に移動したい場合は、cd directory_name
などとして、今居る場所にある別のディレクトリ名を指定します。1つ上のディレクトリへは、cd ..
で移動できます。これらは、bashとWindows PowerShellで共通です。移動先は、コマンドのあとスペースを1つ以上おいて指定します。こうした文字列は、コマンドライン引数または単に引数と呼ばれます。引数は「いんすう」と読んでしまいそうですが「ひきすう」と読みます。
この他に、ファイルをコピーするためのcp
コマンドや移動するためのmv
コマンドをよく使います。これらのコマンドは、引数を2つとります。コピー元とコピー先を同時に指定できるので、ファイルをコピーして名前を変えるという操作を1回で実行できます。コピー元のファイル名は、名前を途中まで入力してタブキーを押すと、シェルが候補を表示してくれるので便利です。
このまま書き進めると1冊の本になってしまうので、このあたりにしておきましょう。シェルの基本操作はITエンジニアだけのものと思われがちですが、そうではありません。シェルを使えば日常のコンピュータ操作がかなり便利になる可能性があります。たとえば、あるディレクトリから、特定の条件に合うファイルだけを別のディレクトリに移動して名前を変更すると言った処理は、GUIでも可能ですがシェルを使いこなせればいくつかのコマンドだけですぐに実行できます。また、データサイエンスやプログラミングを実践するにはシェルの操作は絶対に必要です。
このコラムだけでシェルの良さが伝わったとは思えませんが、興味を持った方はぜひ試してみてください。プログラミングに挫折してしまったという方は、シェルからやり直すのが良いでしょう。これからもシェルの良さを多くの人に広め、コンピュータを操作する楽しさを伝えて行きたいと思います。
筆者書籍紹介 いちばんやさしいパイソンの本 Python スタートブック ――Pythonの基本をしっかりマスター まったくのゼロからでも大丈夫 辻真吾 著 B5変形判/352ページ 定価(本体2,500円+税) ISBN 978-4-7741-9643-5 詳しくはこちら(出版社WEBサイト) |
[IT研修]注目キーワード Python UiPath(RPA) 最新技術動向 Microsoft Azure Docker Kubernetes