経験者は適宜読み飛ばしてください。
さて、OpenOSはLinuxライクに作られています。
そのため、Linux経験者には簡単に理解できることが、未経験者には全くわからないということがしばしば発生します。
また、Linuxライクとはいえ、Linuxとは少し異なる部分もあります。
今回は、そんな方々のために、これだけ理解しておけばとりあえずプログラムを実行させることができる、というようなレベルの解説をやっていきたいと思います。
ファイルシステム
Linuxでは、フォルダのことをディレクトリと呼びます。
ディレクトリのそれぞれの位置を表すものを「パス」と呼び、現在の参照フォルダを基準として位置を表すパスを「相対パス」、参照フォルダに関係なく一意に位置を表すパスを「絶対パス」と呼びます。
例えば、homeディレクトリの中の、programフォルダにあるhelloworld.luaというファイルの絶対パスは、「/home/program/helloworld.lua」と表されます。
もし、あなたが今homeディレクトリにいるのならば、相対パスでは、「./program/helloworld.lua」(正式)もしくは「program/helloworld.lua」(略式)と表されます。
(「./」は、現在の参照ディレクトリを表す。ちなみに、「../」は現在の参照ディレクトリの1つ上の階層のフォルダを表す。)
それでは、ファイル全体の構造について説明していきましょう。
最も上位のディレクトリ(すべてのディレクトリを含むディレクトリ)を、「ルートディレクトリ」と呼びれ、「/」というパスで表されます。
OpenOSでは、ルートディレクトリの下にbin,boot,etc,home,lib,mnt,usrの7つのディレクトリとinit.luaというファイルが初期状態であります。
bin(/bin)
コマンドの処理が書かれたプログラムが保存されています。たぶん、binaryが語源。
boot(/boot)
起動時の処理が書かれたプログラムが保存されています。
dev(/dev)
windwosユーザーにとって一番理解しがたいディレクトリ(だと個人的には思います)
普段使ってる分には、あまり関係のないディレクトリなので、読み飛ばして構いません。
「デバイスファイル」というファイルが保存されています。
そもそもはlinuxの、周辺機器をファイルと同様に扱おうという設計思想から来ています。
このファイルに書き込むことでそのデバイスにデータを送信できたり、逆にこのファイルを読み込むことでデータを受信したりできます。
etc(/etc)
様々な設定ファイルが保存されています。
ここを書き換えると、そのコンピューターの設定が変わります。(windowsでいうコントロールパネルみたいなもの)
home(/home)
ユーザーのファイルを保存しておくところです。
computer起動時に、プロンプト(コマンド入力画面)が最初に参照しているのはこのディレクトリです。
lib(/lib)
様々なライブラリが保存されています。
luaのrequireの一部はたぶんここを参照しているんだと思います。
mnt(/mnt)
HDDやフロッピーといった、ファイルシステムがこのディレクトリに属します。
windowsでいう「コンピューター」フォルダみたいなイメージです。(内部に様々なドライブが配置されていますよね)
tmp
一時的なファイルの保存場所です。
再起動すると中のデータが全部消えます。
ディレクトリ名は、temporaryから来ています。
コマンド
コマンドは、プロンプト(コマンド入力受付)画面で入力することで使用可能です。
プロンプトの、「#」より前は、現在参照中のディレクトリのパスを表しています。
linuxのコマンドは、「コマンド コマンドに渡す引数 --オプション(-オプションの頭文字)」という風に使用されます。(オプションを付けるかどうかは任意。各ワードの間は半角スペース。)
各コマンドは、「--help(もしくは-h)」オプションを持っており、このオプションを指定して実行すると、そのコマンドに関するヘルプを参照できます。
「ls」:現在参照中のディレクトリの中にあるファイル一覧を表示します。
「cd (パス)」:指定されたパスへと移動します。
「mkdir (フォルダ名)」:指定された名前のフォルダを作成します。
「edit (ファイルのパス)」:指定されたファイルを編集します。
「(ファイルのパス)」:指定されたファイルを実行します。
「shutdown」:シャットダウンします。
「reboot」:再起動します。
「mount」:HDDなどをマウントする(HDDやフロッピーといった外部ドライブをファイルシステムに組み込んで利用可能な状態にすること)際のコマンドです。複雑なので-hを確認してください。「label (UUID) (名前)」:指定されたUUIDのコンポーネントに名前を付けます。UUIDは他と区別できる長さまで書けば問題ありません。(たいていは3文字か4文字)
「lua」:対話モード。https://moker-minecraft.blogspot.jp/2018/04/opencomputerslua.html
「flash (ファイルのパス)」:指定されたファイル(luaプログラム)をEEPROMに書き込みます。
ショートカット
Ctrl+D:入力待機画面中に押すことで、プログラムを終了させることができます。
Ctrl+Alt+C:実行中のプログラムを強制終了させることができます。
思いついたことはだいたい書きましたが、書き残しがあったらあとで追記します。
<参考>