pysetup

CUIのシェルを使ったコンピュータの操作

プログラミングやデータサイエンスを実践するために避けて通れないCUIのシェルを使ったコンピュータの操作方法を説明します。

CUIのシェルとは?

シェルはOS(オペレーティングシステム)とユーザーの間にあって、コンピュータの操作や環境設定を助けてくれるソフトウェアの総称です。CUIは、Character User Interfaceの頭文字をとった単語です。これと似た言葉にGUIがあります。GUIはGraphical User Interfaceの略でマウスやタッチパネルを使って操作できる一般的なソフトウェアです。これに対してCUIは、Characterつまり文字を使って操作するソフトウェアです。ソフトウェアに与える指示ごとに、コマンドを覚えておく必要があります。以降ではCUIのシェルのことを単にシェルと表記します。

シェルの種類

シェルやそれを扱うソフトウェアにはいくつか種類があります。まず、OSごとに一般的に利用されるシェルを紹介します。

macOS

macOSでは、ターミナルというソフトウェアでzshというシェルが起動します。アプリケーション > ユーティリティ > ターミナル.appで起動します。

macOSのターミナルを起動したところ

コマンドを入力して操作することが前提なので、このような無味乾燥な画面が開きます。

Windows

古くはコマンドプロンプトと呼ばれるソフトウェアが使われていました。最近では、PowerShellの利用が一般的です。スタートメニューから、Windows 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ページです。