Windowsを用いて練習したい場合には, gnupackをインストールして, Cygwinを使ってください.
ここでは, 次の次項についてごく初歩的な内容を記します.
ファイル一覧(ls)
lsがコマンドです。次にコマンドのスイッチを説明してゆきます。
ls -aと入力すると, 隠しファイルが出力されます。ついでに「.」や「..」もありますね。 これらはそれぞれ, 現在のディレクトリ(./), 一つ上のディレクトリ(../), を示しています。
ls -lと入力すると, ファイルの持ち主や属性など詳細が印刷されます。 表示内容は次のようにアクセス制限(属性)やファイルサイズ, 最終変更日などを表しています.
- | rwx | rwx | rwx | 1 | user | group | 1234 | date | file_name | |
| | | | | | | | | | (ユーザ名) | (グループ名) | (ファイルサイズ) | (更新日) | (ファイル名) | |
| | | | | | | | --------- | (リンク数) | |||||
| | | | | | --- | (グループ外) | r(読み取り可) | |||||
| | | | | | w(書き込み可) | |||||||
| | | | | | x(実行可) | |||||||
| | | | ---- | --- | (グループ内) | r(読み取り可) | |||||
| | | | w(書き込み可) | ||||||||
| | | | x(実行可) | ||||||||
| | --- | --- | --- | (所有者) | r(読み取り可) | |||||
| | w(書き込み可) | |||||||||
| | x(実行可) | |||||||||
--- | --- | --- | --- | -(通常ファイル) | ||||||
d(ディレクトリ/フォルダ) | ||||||||||
l(シンボリックリンク) |
ls -l -aあるいは
ls -laのように2つ以上のスイッチを同時に指定することも可能です。
mv a.txt b.txtとすると, a.txtファイルをb.txtに名前を変更します.
cp a.txt b.txtとすると, a.txtファイルをb.txtにコピーし, 2つのファイルは同時に存在します。
rm a.txtはファイルを消去します。消えたファイルは復活しませんのでお気をつけください。
less a.txtとするとa.txtファイルの中身を読むことができます. ただし漢字など半角英数字以外は文字化けすることがあります。 「jless」コマンドであれば全角文字も読めることもあります。
ls [0-9]*と入力すると、「1.txt」 「5abc.dat」 「12345hoge.dat」 「7hoge7」 などのファイルが対応します。
名前にabcを含むファイルを探したい時には
ls *abc*のように入力します.
ファイル名の拡張子(.より後ろの文字列)が「.txt」のファイルを調べたいときは
ls *.txtのように入力します。
(注意) 「rm *」のようなコマンドは大変危険です。現在いるディレクトリにあるファイルを全て消去してしまいます。 そして消えたファイルは復活させることは出来ません。 「rm」(消去コマンド)とワイルドカードを組み合わせて使用する際には細心の注意を払って下さい。
mkdir workによって新たに「work」という名前のディレクトリが, 現在のディレクトリの下に作られます。
rmdir workとするとworkディレクトリを削除します。ただしworkディレクトリの中にファイルやディレクトリが1つでも存在してる場合には削除できませんので、それらを削除してから、入力・実行してください。
cd workと入力するとworkディレクトリに移動します。
cd work/hoge1/hoge2のように複数の階層を一気に移動することも可能です。
pwd
「A」から「B」へディレクトリを移動する場合には, 相対パスを用いて
cd ../Bあるいは
cd ~/work/Bとなります。絶対パスを用いると
cd /home/pi/work/Bと指定することになります。
これらのことは, ファイルのコピー(cp)や移動(mv), 消去(rm)などにも用いることができます。
プログラミングでのincludeファイルの指定時にも出てきますので, よく理解しておいてください。 (実際, 上記の例でincludeディレクトリは複数あり,中のファイルも異なっているので, どちらのディレクトリを指定するかが大問題となります)
命令(コマンド)に「|」が出てきますが, これはパイプラインと呼ばれ, |より前の処理結果を次の処理に引き渡します。
ls □□□/*◯◯◯*
ls □□□ | grep ◯◯◯
find □□□/*◯◯◯*
find □□□ -type f -name "*◯◯◯*"
grep ◯◯◯ -rl □□□
find □□□ -type f -print | xargs grep "◯◯◯"
psコマンドで現在動いているプログラム(プロセス)とそのプロセス番号(PID)が表示されます。
ps
top PID USER PR NI VIRT RES SHR S CPU MEM TIME+ COMMAND 23449 pi 20 0 103580 7472 4100 S 1.0 0.7 0:01.99 topのようにリアルタイムで値が表示されます.
PIDはプロセス番号, 実行ユーザー名, CPUの負荷状態, メモリ使用量などが表示されます. topコマンドを終了するときにはキーボドで「q」入力あるいは「ctrl-c」(controlキーとCキーを同時押し)します。
中断しているプログラムを再開したい時にはコンソールで「fg」と入力します。
fg(補足)一方で(fgの代わりに)「bg」と入力すると, バックグラウンドでプログラムを実行させることができます。 この操作を繰り返すと、1つのterminal上で複数のプログラムを同時に実行させることができます。
Aプログラム, Bプログラム, Cプログラムを同時にターミナル上で実行するには次の方法もあります。
A & B & Cプログラム名(コマンド)に続いて「&」を付けることで, AプログラムとBプログラムは最初からバックグラウンドで動作を開始し、 その状態でCプログラムは実行されます。
PID=701のプロセス(プログラム)を終了させたいときには次のように入力します
kill 701
それでも死なない(killできない=ゾンビ化している)場合、こうします。
kill -KILL 701