第11回

UNIXの初歩(3)
„
„
„
„
„
„
„
ディレクトリ移動
補完機能
ワイルドカード
標準出力
出力リダイレクションと入力リダイレクション
パイプ
検索
前回の復習
{
{
{
{
{
コマンド
ジョブ
ファイル
属性とパーミッション
パスとディレクトリ
ターミナルを起動
ここで作業中
ワーキングディレクトリーの移動
/
daigaku
4rui(作業)
kagaku
5rui
seigyo
¾cd daigaku
4類から大学
¾cd 5rui
大学から5類
¾cd ../4rui/seigyo
5類から制御システム
¾cd ../kagaku
制御から機械科学
¾cd ../../5rui
機械科学から5類
¾cd ˜ (ホームに戻る)
ディレクトリ間の移動
{
{
{
{
hnakamur: ˜ >pwd
</home/AAAAA/BBB/hnakamur>
これをメモ
hnakamur: ˜ >cd .. → hnakamur: BBB >
→ pwd →
< /home/AAAAA/BBB >
homeまで移動して戻ってみよ(途中で一覧表示)
cd ˜ は cd ↓(リターン)でも可能
探検
X11でしばらく探検してみよう
‹ 道に迷ったら: ˜ >pwd (print working
directory:現在の作業ディレクトリ表示)
‹ cd
~ (ホームに戻る)
‹ 他人のファイルが見える=自分のファイルも
他人に見られる可能性がある
‹ 属性を変更しておこう
‹
ファイルの属性
{
{
{
{
{
ddd9999 : ˜ > ls file (存在するか?)
ddd9999 : ˜ > ls –l file (属性は?)
参考
ddd9999 : ˜ > ls –d directory (同様)
ddd9999 : ˜ > ls –l directory(長形式で表示 )
パーミッション
drwxr-x--プライバシー:read不可
公開:readパーミッション
グループ
オーナー
ファイルの属性(2)
ddd9999 : ˜ > ls
{
{
{
{
–l
directory(長形式で表示 )
1文字目「−」:このファイルは通常のファイル(ディレク
トリーの場合は「d」)
2-4文字目「rw−」:オーナー(nakamura)にread,
writeを許可,execute(実行)は不許可(あるいは,実
行ファイルではない)
5-7文字目「r−−」:グループの人にはreadは許可,
write,execute(実行)は不許可
8-10文字目:ほかの人にはreadは許可, write,
execute(実行)は不許可
仮のファイルの作成
‹
さし当たって今日の授業用のファイルを作成する
ホームにあるファイルの情報を,一旦ファイルに保存
dd : ˜ > ls –l > tentative.out
‹ 内容の確認
dd : ˜ > more tentative.out
‹
‹
講義の最後に,ファイルを削除しておく
⇒消去 (rm
tentative.out)
今日のコマンド
ディレクトリの作成・表示
‹ 名称変更
‹ ワーキングディレクトリの表示・移動
‹ ディレクトリの消去
‹ 拡張子
‹ 補完機能
‹ 標準出力
‹
ディレクトリの作成・表示
{
{
{
{
{
{
˜ >mkdir work1 (作成)
˜ >ls
˜ >cp tentative.out work1 (カレントディレクトリの
tentative.outをディレクトリwork1に格納)
˜ >ls work1 (ディレクトリの中身一覧)
˜ >cp
˜ > ls
tentative.out
work1
work1/ tentative2.out
名称変更
work1 で作業
{ cd work1
{ ˜ >ls
tentative2.outがあることを確認
{
{
˜ >mv tentative2.out tentative3.out
tentative2.out
に名称変更
{
を tentative3.out
ワーキングディレクトリの表示・移動
{
{
{
{
{
{
˜ >pwd (print working directory:現在の作業
ディレクトリ表示)
</home/f1/fcc9999> (最初にある「/」:ルート、
home≠ ˜)
˜ >cd work1 (作業ディレクトリをwork1に移動)
˜ >pwd
</home/f1/fcc9999/work1>
˜ >ls
˜ >cd .. (親ディレクトリ(階層で1段上))
˜ > pwd
</home/f1/fcc9999>
ディレクトリの消去
{
{
{
{
{
{
{
親ディレクトリ(ホーム)に移動
˜ >mkdir work2 (空のディレクトリ)
˜ >ls
˜ >rmdir work1(空ではない→消去できない:そこに
登録されているファイルがどこにも登録できなくなってし
まうので)
˜ >rmdir work2 (消去できる)
˜ > ls
work1の確認
ディレクトリの消去(2)
最後に,スペース
現在,ホームで作業中
+ ピリオドがある
{ work1にあるtentative2.outを
tentative3.out (ホームにない名称)に名称変更
後、ホームディレクトリにコピー
{ ˜ >cp
work1/tentative3.out .
( tentative3.outがホームディレクトリにあると上書
きされるので注意。 最後のスペース+ピリオドを忘れ
ずに。)
{ 同様の方法で,他人のディレクトリのファイルをコピー
できる (君のファイルも同様に人にコピーされる)
{
拡張子
{
ddd9999 : ˜ > ls
拡張子(2)
{
{
{
{
{
{
{
{
{
{
{
Sample.dviにおいて「dvi」が拡張子
「.c や .C」:C/C++言語のプログラムソース
「.o」:コンパイラで作成したオブジェクトファイル
「.out」:実行ファイル
「.html」:WWWブラウザが参照するファイル
「.ps, eps」:PostScriptのソースファイル
「.tex」:Tex, LaTex のソースファイル
「.obj」:tgifで作成した画像ファイル
「.gif, .jpg, .png」:図や写真などの画像ファイル
「.dvi」:Texの出力ファイル
拡張子なし:コマンド,スクリプトなど
補完機能
afo attendance (aで始まるファイルの
リスト)
{ ddd9999 : ˜ >more atTab
→入力候補の補完
{ ddd9999 : ˜ >more attendance
{
ワイルドカード
*:どんな文字とも
{ ?:どんな1文字とも
{ [abc]:aかbかcの1文字
{ [1-6]:1から6までの1文字
{ [^abc]: aかbかc以外の1文字
{ {abc,def}:abcかdef
{ 例: ddd9999 : ˜ >echo e*
最初がeで後ろが何でもいいファイルは?
{ 例: ddd9999 : ˜ >echo ?????
5文字のファイルは?
{
ワイルドカード(2)
{
{
例: ddd9999 : ˜ >ls *.tex
拡張子がtexのファイルは?
例: ddd9999 : ˜ >ls platex/*.*
ホームディレクトリの下にあるplatexというディレクト
リにあるすべてのファイルは?
ヒストリ
{
{
{
1
2
3
ddd9999 : ˜ >history
シェルはある程度のコマンドラインを記憶→一覧
イベント番号、コマンドラインの順
ls
more data
・・・・・・・・
alias 機能
{
{
{
ddd9999 : ˜ >alias ll =‘ls
-l’
ddd9999 : ˜ >ll
ls -l に ll (エル,エル)という名前をつ
ける
標準出力
„
„
„
標準出力&標準入力(画面&キーボード)
出力ダイレクション
ddd9999 : ˜ > bc (キーボードから式を呼び
込み,結果を画面表示)
コマンドプロンプトは表示されない
ddd9999 : ˜ > bc
2+3*4
C-d(中止)
出力リダイレクション(行き先変更)
{
{
{
{
ddd9999 : ˜ > bc > kekka
2+3*4
C-d
画面に出力されない→なぜ?
ddd9999 : ˜ > ls
先ほどないファイルがある
ddd9999 : ˜ > cat kekka
行き先の変更(出力リダイレクション)
画面→指定したファイルに出力
出力リダイレクション(2)
{
{
{
ddd9999 : ˜ > cat kekka >
行き先の変更( kekka2 へ出力)
画面→指定したファイルに出力
ddd9999 : ˜ > cat kekka2
Kekka2の内容を確認する
ddd9999 : ˜ > cat
2+3
2+3
kekka2
C-d(cat 出力先未指定→そのまま画面に出力)
{
ddd9999 : ˜ > cat
2+3
C-d
ddd9999 : ˜ > cat
2+3
>
kekka3
kekka3
出力リダイレクション(3)
{
{
{
{
ddd9999 : ˜ > cat kekka
14
ddd9999 : ˜ > echo 24 >> kekka
Kekkaの最後に24を追記する
ddd9999 : ˜ > cat kekka
14
24
「>>」はすでにファイルに書かれている内容を消
すことなく,新たな情報を追加する
入力リダイレクション
{
{
出力は「>」:入力は「<」
ddd9999 : ˜ > cat > keisan
1+2
C-d
{
{
{
{
出力
ddd9999 : ˜ > cat keisan
1+2
入力
1+2が入っている
「bc」コマンド→値の計算
ddd9999 : ˜ > bc < keisan
3
キーボードからではなく,ファイルから入力
パイプ
{
{
{
{
{
多数の情報表示(一旦ファイルに保存)
ddd9999 : ˜ > ls –l > ls.out
ddd9999 : ˜ > more ls.out
⇒消去 (rm ls.out)
消去に手間がかかる
コマンドの組合せができる
ddd9999 : ˜ > ls –l | more
最初のコマンドが,パイプを通って次のコマンドに渡される:
lsコマンドの出力を, moreコマンドの入力として引き渡す
長い情報(→ファイルに出力(省略))→ moreで見る
検索
ddd9999 :man find
„ 調べてみよう
„ ddd9999 : find ˜ -name ‘s*’
ホームディレクトリ以下にある, ‘s’で始まるファイ
ルは?
引用符(アポストロフィー)を付すこと
„ ddd9999 : find ˜ -name ‘???’
3文字では?
„
いらないファイルの削除
{
{
これで終了するので,いらないファイルを全
て削除
いらないディレクトリも削除
exit+enter→ターミナルの終了
{
{
˜ >exit (接続終了)
コマンド+Q (プログラムの終了)
課題
{
{
{
{
{
自律分散システムについて調べる
自律分散型近代市民社会との類似性につ
いて考察
ヒント:個が全体の目的と意義を理解
反対:集中管理
特色:自己責任(悪をなさない,自己防衛,
自覚)
教育用電子計算機システム
自律分散時代と個
自分で自分を知る:学校・社会に帰属→全体を知る
{ 例)デデキントの切断と連続
点は切断の界面
点は線に於いてある
連続そのものを知る(実在感)→本質を知り続けて
x1 x2
いる
(a)
{ 実数の切断
(b)
「無い」と「有る」
下組
上組
強いリアリティー
デデキントの切断
{