対象者
- Linuxの基本的な用語(ファイル、ディレクトリなど)を知っている
- マウス・キーボードを利用できる
- Webブラウザを利用できる
環境
- BusyBox
- v86 Virtualizer, Buildroot Linux
環境構築
注意: v86はWASMを利用している。ChromeなどのChromiumを利用しているブラウザを利用すること。
- v86 Buildroot Demoにアクセスする
- (必要に応じて)
Load State
ボタンから保存した環境を呼び出す
コピーペーストやログ確認の観点から、今回は赤枠で囲まれているシリアルコンソールにコマンドを打ち込む。
データを引き継ぐ
Save State
ボタンを押す- データを保存する(30MBを超えるデータが保存される)
- 環境構築セクションの
2.
を参考にして呼び出す\
この資料の書式について
この資料では、コマンドの前に%
を付ける。
これは、コンソールに打ち込んだ値と、予測される実行結果を明示的に区別できるようにするためである。
Hello, World!
コンソールにHello, World!
を出力するコマンドを打つ。
% echo "Hello, World!"
Hello, World!
"
で囲まなくても同じ結果が得られるが、文字列は"
や'
で囲むことを推奨する。
ディレクトリの中身を取得する
ディレクトリの中身を取得する際はls
コマンドを利用する。
% ls
test.lua tests
もし隠しファイルも表示したいのであれば-a
オプションを指定する。
もし詳細な情報も確認した場合は-l
オプションを指定する。
% ls -l -a
total 8
drwx------ 3 root root 100 Nov 2 12:27 .
drwxr-xr-x 19 root root 440 Jul 21 2020 ..
-rw------- 1 root root 50 Nov 2 12:30 .ash_history
-rw-r--r-- 1 root root 115 Jul 17 2020 test.lua
drwxr-xr-x 2 root root 80 Jul 17 2020 tests
ls -l -a
などのコマンドにおいて、-
を使うオプションは1つにまとめて指定できる。
この場合、まとめるとls -la
となる。
特定のディレクトリの中身を取得する
基本は前回のセクションと同じである。 変更点はディレクトリのパス(場所)を指定するところにある。
% ls /root/tests
reference.test test-i386
毎回/etc
のような完全なディレクトリの場所(フルパス、完全パス)を指定してもよいが、
現在のディレクトリ(カレントディレクトリ)からの相対的な場所(相対パス)を確認してもよい。
~% ls tests
reference.test test-i386
プロンプト(%
)の前に~
があったのがお分かり頂けるであろうか。
これまではカレントディレクトリを考える必要がなかったので省略していたが、これは現在のディレクトリを表す。
~
は環境(ユーザ)によって異なる。今回の環境の場合、~
は/root
を指す。
この場合は、/root
の中にあるディレクトリやファイルはフルパスを指定しなくてもファイル名やディレクトリ名を入力するだけで良い。
ファイルの中身を閲覧する
事前準備として、下記のコマンドを実行すること。
% echo "TESTING123.." > test.txt
ファイルの中身を表示する際はcat
コマンドを利用する。
今回は、test.txt
というファイルの中身を表示する。
% cat test.txt
TESTING123..
ディレクトリを作る
ディレクトリを作る際はmkdir
コマンドを利用する。
この例では、dir1
ディレクトリを作る。
% mkdir dir1
ディレクトリを削除する
ディレクトリ内が空の場合、rmdir
コマンドを利用する。
この例では、dir1
ディレクトリを削除する。
% rmdir dir1
情報: もし、ディレクトリの中が空であると確信できる場合、rmdir
を使うべきである。
これにより、ディレクトリの指定ミスや思い違いなどで、大切なデータが失われることを防ぐとこが可能になる。
ディレクトリの中にファイルがある場合、rm
コマンドに-r
オプションを指定して利用する。
この例では、dir1
ディレクトリを削除する。
% rm -r dir1
ファイルを削除する
rm
コマンドを利用する。
例ではtest.txt
を削除している
% rm test.txt
ファイル、ディレクトリを移動する
mv
コマンドを利用する。
例では、file.txt
をtests/file.txt
に移動している
% mv file.txt tests/file.txt
ファイル、ディレクトリの名前を変更
mv
コマンドを利用し、旧ファイル名から新ファイル名に移動する手順を取る。
詳しくは前回のセクションを参照
ファイル、ディレクトリをコピーする
単一のファイルをコピーする場合はcp
コマンドを利用する。
例では、file.txt
をfile2.txt
にコピーしている。
% cp file.txt file2.txt
ディレクトリのコピーをする場合はcp
コマンドに-r
オプションを指定する。
例では、tests
をtests2
にコピーしている。
% cp -r tests tests2
コマンドの実行結果を保存する
コマンドの実行結果を保存する方法として、リダイレクトが存在する。
リダイレクトでは、>
記号をコマンドの後に入力し、そのあとにファイルを指定する。
今回の場合は、ls /bin -la
の結果をbins.txt
に保存する。
% ls /bin -la > bins.txt
>
句を使ったリダイレクトでは、すでに存在するファイルの場合内容が消える。
>>
を利用することで、追記が可能になる。
% ls /usr/bin -la >> bins.txt
ページャを利用する
複数行に渡る結果などを1画面で見るための方法にless
コマンドがある。
less
コマンドは様々な使い方やオプションを持つが、ひとまずcat
と同じように利用する。
コマンドの実行結果を保存するセクションで使ったサンプルコードを流用し、
長いテキストファイルを作っておくこと。
% less bins.txt
方向キーやPageUp
、PageDown
で操作をする。
q
で終了する。
空のファイルを作成する
Linuxにおいて、空のファイルを作成する場合は、touch
コマンドが利用できる。
例ではempty.txt
を作成している。
% touch empty.txt