プログラミングやデータサイエンスを実践するために避けて通れないCUIのシェルを使ったコンピュータの操作方法を説明します。
シェルはOS(オペレーティングシステム)とユーザーの間にあって、コンピュータの操作や環境設定を助けてくれるソフトウェアの総称です。CUIは、Character User Interfaceの頭文字をとった単語です。これと似た言葉にGUIがあります。GUIはGraphical User Interfaceの略でマウスやタッチパネルを使って操作できる一般的なソフトウェアです。これに対してCUIは、Characterつまり文字を使って操作するソフトウェアです。ソフトウェアに与える指示ごとに、コマンドを覚えておく必要があります。以降ではCUIのシェルのことを単にシェルと表記します。
シェルやそれを扱うソフトウェアにはいくつか種類があります。まず、OSごとに一般的に利用されるシェルを紹介します。
macOSでは、ターミナルというソフトウェアでzshというシェルが起動します。アプリケーション > ユーティリティ > ターミナル.appで起動します。
コマンドを入力して操作することが前提なので、このような無味乾燥な画面が開きます。
古くはコマンドプロンプトと呼ばれるソフトウェアが使われていました。最近では、PowerShellの利用が一般的です。スタートメニューから、Windows PowerShellフォルダ > Windows PowerShellを選びます。
macOSのzshとWindowsのPowerShellでは、コマンド体系が若干違います。以下では、これらの違いにも触れながら、シェルの基本操作を解説します。
シェルはコマンドを打って操作します。コマンドのあとにreturnキー(enterキー)を押すとコマンドをシェルに送信できます。シェルを使った操作で最も大切なことの1つに「自分が今どこにいるのか?」という点があります。
自分の居場所を確認するには、pwd
コマンドを使います。pwd
と入力してreturnキーを押すと、今いる場所が返ってきます。
スマートフォンを含めた最近のコンピュータは、いま自分がどこにいるのか?を意識しなくても操作できるので、自分の居場所を常に確認する感覚に慣れることが、シェル操作の第1歩です。
移動にはcd
を使います。1つ上のディレクトリに移動してみましょう。次のように入力します。ドット2つが1つ上のディレクトリを意味します。
cd ..
pwd
で居場所を確認してみましょう。ディレクトリの階層を1つあがっているのがわかると思います。
実は、シェルを起動したときに居るディレクトリは、ホームディレクトリと呼ばれる特別な場所です。ホームディレクトリへは、どこからでも一瞬で戻ることができます。そのためには、以下のように入力します。
cd ~
macOSでは、cd
とだけ入力してもホームディレクトリへ戻れます。
そのディレクトリにあるファイルの一覧を得るには、ls
を使います。PowerShellでは、ファイルのタイムスタンプなどの詳細な情報も表示されます。macOSでは、ls -l
とすると表示形式が変わり詳細な情報がわかります。
以下のコマンドを使うと、今居る場所に新しいディレクトリが作れます。
mkdir test_dir
cd test_dir
とするとディレクトリの階層構造を1つ下がり、test_dirの中に入ります。
次のコマンドを使うとtestという文字列を格納したsample.txtというファイルが作れます。
echo "test" > sample.txt
echo
は、あとに受け取った文字列を画面に表示するコマンドです。これを、>
という記号を使ってsample.txtに送っています。これをリダイレクトと呼びます。
cp
コマンドを使うと、ファイルをコピーできます。
cp sample.txt sample2.txt
mv
コマンドを使うとファイルを移動できます。同じディレクトリ内での移動は、名前の変更になります。
mv sample2.txt sample10.txt
ls
でファイルのリストを確認してみてください。
ファイルの削除は、rm
コマンドを使います。rm file_name
とします。ここでは、1つ上のディレクトリへ移動し、test_dirをまるごと削除します。
cd ..
mv -r test_dir
ディレクトリをまるごと消すには、-r
が必要です。これはコマンドラインオプションと呼ばれ、コマンドの動作を細かく制御できます。それぞれのコマンドには、沢山のオプションがあります。
exit
とするとシェルを終了します。
macOSのターミナルでは、Ctrlキーを押しながらDを押してもシェルを終了できます。この操作は「Ctrl-D」と表記されます。
ここで紹介した内容はシェルを使ったコンピュータの操作のほんの一部です。Web上には沢山の資料があります。次のページは、内容が少し高度ですが参考になりそうです。
シェルの基本操作 東北大学の『物理学実験用計算機システムの使い方』の一部です。
シェルの概念と機能 京都産業大学のWebページです。