Linuxコマンドとは、上のようなコマンドラインインターフェース(Command Line Interface : CLI)でコンピュータを操作する時に使用する命令文です。
※詳しい説明はRasbperry Pi OS Lite(デスクトップなしDebian)からデスクトップ環境を構築してみるをご覧ください。
今回は簡単なコマンドを自作しながら、コマンドについて慣れることを趣旨としていますが、その前にいくつか頻繁に使用するコマンドについて触れておきます。
コマンドを実行する為に、ターミナルを起動します。
ラズベリーパイであれば、画面左上の矢印で示した箇所のアイコンをクリックし、
ターミナル(LXTerminal)を起動します。
最初に現在いる場所(ディレクトリ)を調べます。
下記のコマンドを入力して、エンターキー(enter)を押してください。
$ pwd
※最初の$マークはコマンドを入力することを意味していまして、実際には$の入力は不要です。
/home/pi
のような値が出力されます。
この値が現在いる場所(ディレクトリ)になります。
ディレクトリとは何か?ですが、
デスクトップ環境であれば、上のキャプチャのようにフォルダを開けば、そのフォルダ内のフォルダやファイルを確認することができます。
CLIの環境ではデスクトップ環境のフォルダのことをディレクトリを呼びます。
ターミナルを起動した時、通常はホームディレクトリと呼ばれるディレクトリから開始します。
ホームディレクトリに含まれるディレクトリとファイルを確認するコマンドを実行してみます。
$ ls
を実行すると、
Desktop workspace テンプレート ドキュメント 音楽 公開 pi-apps ダウンロード デスクトップ ビデオ 画像
が出力されました。
一つ上のデスクトップ環境のフォルダのキャプチャと同じ構成の値が出力されました。
コマンドでディレクトリの移動をしてみます。
デスクトップ環境であれば、
フォルダのアイコンをクリックして、
フォルダを開く動作と同じです。
今回はworkspaceディレクトリに移動するとして、下記のコマンドを実行します。
$ cd workspace
移動できたか?を確認するために、下記のコマンドを実行してみます。
$ ls
project01 project02
のような感じで、一つ前にlsを実行した時と異なる値が出力されれば、ディレクトリの移動が正常に実行されたことになります。
今回触れました ls や cd には更に細かい使用方法がありますが、それはこの場では触れないことにしますので、詳しく記載されているサイト等を確認してみましょう。
コマンドを自作してみます。
今回はGoという言語でコマンドを自作することにします。
最新版のGoをインストールするに最新版のGoのインストール方法が記載されていますので、内容を参考にして、Goとgoimportsを使用できる状態にします。
今回はsayというコマンドを自作します。
最初に使用中のマシンにsayというコマンドがないことを確認します。
$ which say
を実行して、何も出力されなければ、使用中のマシンにsayというコマンドはありません。
sayコマンドはホームディレクトリ(今回であれば、/home/pi/以下)で作成します。
/home/pi/say.goファイルを作成して、
package main import "fmt" func main() { fmt.Println("hello") }
のコードを保存します。
※Microを使用する場合は、
$ cd ~ $ touch say.go $ micro say.go
でコードの作成画面になります。
下記のコマンドで実行ファイルを生成します。
$ go build say.go
※MicroではCtrl + bでシェルコマンドモードになり、上記コマンドを実行することが可能です
実行したディレクトリにsayという実行ファイルが生成されますので、
$ ./say
でファイルを実行してみます。
hello
と出力されることを確認できましたら、
$ mv say /usr/local/bin/
で/usr/local/bin/say となるようにファイルを移動します。
/usr/local/bin/以下に実行ファイルを配置すると、何処のディレクトリにいても、sayのみで実行できるようになります。
ファイルの移動はmvコマンドを使用します。
mv 移動したいファイル 移動先のパス
で指定します。
mvを実行した時に
mv: cannot move 'say' to '/usr/local/bin/say': Permission denied
のようにPermission denied(ファイルの移動の権限がない)が出力されましたら、
$ sudo mv say /usr/local/bin/
を実行します。
sudoは以後のコマンドをルート権限(すべての操作が許可されているアカウント)で実行することになります。
sayコマンドが使用できるようになったか?を確認するために
$ say
を実行してみます。
hello
が出力されることを確認しましょう。
$ which say
でsayコマンドがあるか?も確認しておきます。
/usr/local/bin/say
が出力されるはずです。