Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
今日は Unix !
Ubuntu を起動しよう
Panda のVDIから接続!
0.3 or 4限目(4/24)1.学生番号2.名前
を書いて、退出するときに入口の近くにおいて台の上に提出(学生番号ははっきりと)
出席を取るので配布した紙に紙を、横が広い方向にこのようにおいて、
この方向で大きくかいてください
1. テキスト3章および4章
2. 課題
本日の演習内容
第2回演習と同じくメールによる提出とします
第3回 情報基礎演習
UNIX/Linux: ファイルシステム・シェル
授業資料のダウンロード
(2) 以下のアドレスを入力
https://panda.ecs.kyoto-u.ac.jp/x/ZRUdJ1
(1)ブラウザを起動アドレスバーに下記URLを入力し,「Enter」キーを押す。
1.「第3回.lzh」ファイルを左クリック
2. フォルダの参照ボタンをクリック
3.「マイドキュメント」をクリックし,
「OK」をクリックする。
https://panda.ecs.kyoto-u.ac.jp/x/ZRUdJ1
アドレスバーに下記URLを入力し,「Enter」キーを押す。
★授業資料「第3回.lzh」ファイルをダウンロード
• 「キュメント」ショートカットをダブルクリック
• 「第3回」フォルダをダブルクリック
3UNIX-1.pdf,
3UNIX-2.pdf,
mailformat3.txt
3つのファイルがあることを確認して下さい
• 教科書(情報基礎演習)
• 3UNIX-2.pdfを参照しつつ,
• 3UNIX-1.pdf
に従って演習を進める
課題は3UNIX-1.pdfに記載
デスクトップ / ショートカット
Panda : Kyoto University CyberLearningSpacePeople and Academe
KUMOI : メールを利用するとき
Pandaにlogin する
VDI(Virtual Desktop Infrastructure)を使う
(2)ここをクリック
(1)ここをクリック3限目の学生
4限目の学生
ここをクリック
VDIにサインイン(1)
クリック
VDIにサインイン(2)
VDIでLinux( Ubuntu )を起動してみよう
ここをクリック
(1) Passwordを入力する(2) “OK”をクリックし、login する
ここをクリック
ここをクリックterminal
Terminalを使う
terminalと呼ぶ
UNIXのコマンドの実行
Linux (Unix) にログインしターミナル(別称:コンソール)を開くと、[axxxxxxx@xxx:~]$
のような文字列が表示される。この部分を(コマンド)プロンプトと呼ぶ.
このプロンプトに対し,UNIXの様々なコマンドを入力することが出来る[Enter]キーを押すと、そのコマンドが実行され再びプロンプトが現れるそこに次のコマンドを入力していく。
例えば,date というコマンド(日付,時刻を表示させる)を実行してみる
[axxxxxxx@xxx:~]$ date [Enter]Mon Apr 16 11:38:59 JST 2018[axxxxxxx@xxx:~]$
今の日付、時刻の出力
カーソル
[Enter]キーを押すの意味
次のコマンドを入力できる状態になる注:今後、プロンプトは
[a.... ~]$ 或いは $のように省略
キーボードからコマンドを打ち込んで操作する仕組み
UNIX (Linux)でも, GUI と CUI が使える.
WindowsやMacintoshなどのOSと同様に
ユーザインタフェースとしての GUIとCUI
GUI = Graphical User Interface
ウィンドウやアイコンなどをマウスで操作して、キーボードで文字入力を行うタイプの仕組み
CUI = Command line User Interface
今日の授業では、UNIX (Linux) の CUI での操作 に焦点を当てる.
UNIX/Linuxシステム(OS)を利用するための基本が身につきます。将来,科学技術計算やホームページ・サーバー管理を行なうようになった時には必須となるでしょう。
コマンド名 機能
cat テキストファイルの内容を表示 ( catenate )
ls ディレクトリの内容(ファイル)の表示 ( list )
cd ディレクトリの移動 ( change directory )
mkdir ディレクトリの作成 ( make directory )
rm ファイルまたはディレクトリの削除 ( remove )
rmdir ディレクトリの削除 ( remove directory )
mv ファイルの他のディレクトリへの移動,またはファイル名の変更 ( move )
cp ファイルの他のディレクトリへの複写,または異なるファイル名を持つ同一ファイルの作成 ( copy )
本演習で扱うコマンドの一例
コマンドの引数(1)
UNIXのコマンドには、date のようにコマンド名を入力するだけで実行出来るものがあるが、コマンド名に続けて追加情報を指定する必要があるものも多い。
たとえば、 ファイルの内容を画面に表示するコマンド cat は
$ cat .bashrc[Enter]
… ここに、.bashrcファイルの内容が表示される。
の様に、コマンド名(cat)の後に、表示したいファイルの名前を指定する必要がある。このような追加の情報を引数と呼ぶ。
コマンド名と引数の間は1つ以上の空白文字(スペース)で区切る。
コマンドの引数(2)
cat の例で、別のファイルを表示したい場合には、表示したいファイルの名前を指定する必要がある.
$ cat .cshrc [Enter]
… ここに、.cshrcファイルの内容が表示される。
まず、どのようなファイルが,今いるディレクトにあるか調べるには
$ ls [Enter]
… ここに、このディレクトリに存在するファイルが表示される。
この中から、例えば .cshrc というファイルを表示させたいとすると。
ls により表示されたファイルから各自で表示させたいファイルを書く
コマンドの引数(3)
引数を 2個(以上)要求するコマンドもある。例えば,ファイルのコピーを作成するコマンド cp は、
$ cp .bashrc test [Enter]
の様に使う。
これで、 .bashrc という名前のファイルのコピーがtest という名前で作られる。
コマンド 引数 1コピー元
引数 2コピー先
コマンドのオプション(1)
コマンドには、オプションを指定することで,動作を変更することが出来るものがある。
$ cp -i .bashrc test [Enter]
コマンド 引数 1コピー元
引数 2コピー先
例えば、
オプション
この場合,オプション -i を付けると
コピーがあるファイルを上書きする場合にいいかどうか、コンピュータ側が問い合わせてくるy [Enter] あるいは n [Enter] で答える.
コマンドのオプション(2)
$ ls -al [Enter]
コマンド-a directory 内のすべてのファイルを表示
オプション
オプションは覚える必要はない.
$ man コマンド名 [Enter]
でどのようなオプションがあるか調べることができる.
例えば $ man ls [Enter]
を行ってみるとわかる. (man は manual の省略に由来)
オプションの他の例、ls
ls コマンド: ファイルの一覧を表示
-l 詳細情報を表示
ちなみに$ ls -a -l [Enter]$ ls -l -a [Enter]$ ls -al [Enter]$ ls -la [Enter]
はすべて同じ
意味
[axxxxxxx~]$
2. カレントディレクトリの表示( print working directory )
[axxxxxxx~]$ pwd
/home/a00xxxxx
1. プロンプトとは (以前のページ参照)
ピコピコしているこの部分を含めてプロンプト (prompt)と呼ぶ
(a) ディレクトリとは? (directory)
カレントディレクトリ (current directory) = 今作業しているディレクト=ディレクトリ
ファイルシステムの木構造から理解してみよう→ファイルシステムの参考資料(課題の後のページに記載)
注:今後、プロンプトは[a.... ~]$ 或いは $
のように省略
[axxxxxxx~]$ ls
ディレクトリ・ファイルの表示( list )
[axxxxxxx~]$ ls -l
ディレクトリ・ファイルの詳細表示
-rw-r--r-- 1 a00xxx user 258 April 26 18:01 list.txt
drwxr--r-- 1 a00xxx user 96 April 26 18:01 list/
drwxr-xr-x所有者
uグループ
gその他
o
所有者 グループ サイズ(kb)
カレントディレクトリに存在するファイル, ディレクトリが表示される
ファイル名一覧の表示ファイルの作成・削除ファイルへのアクセス
-rw-r--r-- r: 読出 w: 書込x: 実行
r:w:x:
パーミッション
[axxxxxxx~]$ ls –l > list.txt
[axxxxxxx~]$ mkdir list
-rw-r--r-- 1 a00xxx user 258 April 26 18:01 list.txt
[axxxxxxx~]$ chmod g+w list.txt
ファイル権限(パーミッション)の変更( change mode )
[axxxxxxx~]$ ls -l
-rw-rw-r-- 1 a00xxx user 258 April 26 18:01 list.txt
所有者u
グループg
その他o
-rw-r--r-- r: 読出 w: 書込x: 実行
[axxxxxxx~]$ ls -l
[axxxxxxx~]$ ls –l > list.txt
ls –lの結果が標準出力(端末)ではなく,
list.txtファイルに書き出される。
[axxxxxxx~]$ cat list.txt
list.txtファイルの中身が端末に表示される。
cat(catenate)
[axxxxxxx~]$ mkdir text
textディレクトリが作成される。
mkdir( make directory )
リダイレクト
[axxxxxxx~]$ pwd
カレントディレクトリの表示
/home/a00xxxxx
別のディレクトリへの移動( change directory )
[axxxxxxx~]$ cd text
[axxxxxxx~]$ pwd
/home/a00xxxxx/text
[axxxxxxx~]$ cd
[axxxxxxx~]$ pwd
/home/a00xxxxx
ホームディレクトリへ戻る
ファイル・ディレクトリのコピー
[axxxxxxx~]$ cp text1.txt text2.txt
( copy files or directories )
text1.txtと同じ内容のファイルtext2.txtを作成する
[axxxxxxx~]$ cp text1.txt text
text1.txtをtextディレクトリにコピーする
ファイル名変更と移動
[axxxxxxx~]$ mv list1.txt list2.txt
( move files or directories )
ファイル名をlist1.txtからlist2.txtに変更する
[axxxxxxx~]$ mv text1.txt text
text1.txtをtextディレクトリに移動する
ファイル・ディレクトリの消去
[axxxxxxx~]$ rm text1.txt
( remove files or directories )
text1.txtファイルを削除する
[axxxxxxx~]$ rmdir text
textディレクトリを削除する(但しディレクトリが空であること)
[axxxxxxx~]$ rm -r text
textディレクトリを削除する(ファイルがあってもOK)
入力したコマンドの履歴の表示
[axxxxxxx~]$ history [Enter]
入力したコマンドの履歴をファイル(例えば history.txt)に保存したいとき(リダイレクトを使う方法)
[axxxxxxx~]$ history > history.txt [Enter]
Linux中のHistory.txtをWindowsのシステムに移動させたいとき
[axxxxxxx~]$ cp history.txt /Nextcloud [Enter]
この後、Windows 側でExplorer をクリックし、Nextcloud(N:)をクリックすると, history.txtがあるはずです
よく使うコマンドのList
$ date$ who$ w$ pwd$ cd directory1$ cd $ ls$ ls directory1$ ls –a ディレクトリ名$ ls -l$ cat file1$ more file2$ man cmdname1
コマンド名 意味
日付や時間の表示現在ログインしているユーザーの表示同上カレントディレクトリの表示カレントディレクトリをdirectory1へ変更カレントディレクトリをホームディレクトリへ変更カレントディレクトリ内のファイルの一覧directory1内にあるファイルの一覧全てのファイル(隠しファイルも)を表示詳しい情報も表示file1の内容を表示file2の内容を1ページづつ表示cmdname1という名称のコマンドの説明
ファイル操作の例一覧
以下で、イタリックの部分は引数。実行時には、実際のファイル名やディレクトリ名で置き換える。
$ cp file1 file2$ cp file directory$ mv file1 file2$ mv file directory$ rm file$ mkdir directory$ rmdir directory
file1 をfile2にコピーするfile をdirectoryの中にコピーfile1 の名前を file2 に変更file をdirectoryの中に移動file を消去directory を作成directory を消去
• 「キュメント」ショートカットをダブルクリック
• 「第3回」フォルダをダブルクリック
3UNIX-1.pdf,
3UNIX-2.pdf,
mailformat3.txt
3つのファイルがあることを確認して下さい
• 教科書,
• 3UNIX-2.pdfを参照しつつ,
• 3UNIX-1.pdf
に従って演習を進める
課題は3UNIX-1.pdfに記載
課題の提出方法
左クリック+ドラッグによって必要な部分を
選択してからCtrlキーとCキーを同時に押す
メール本文上をクリックし
てからCtrlキーとVキーを
同時に押す
件名を必ず 3限目(or 4限目)情報基礎演習の課題3 宛先を
3限目のクラスの学生は、 [email protected]
4限目のクラスの学生は、 [email protected]
としてメールを送信して下さい
history.txtを開く時:
ファイルを右クリック→「開く」クリック
or
ファイルを右クリック
→「Edit with Notepad++」を選択
課題の提出方法(3限目)
左クリック+ドラッグによって必要な部分を
選択してからCtrlキーとCキーを同時に押す
メール本文上をクリックし
てからCtrlキーとVキーを
同時に押す
件名を必ず 3限目情報基礎演習の課題3 宛先を
3限目のクラスの学生は、 [email protected]
としてメールを送信して下さい
history.txtを開く時:
ファイルを右クリック→「開く」クリック
or
ファイルを右クリック
→「Edit with Notepad++」を選択
課題の提出方法(4限目)
左クリック+ドラッグによって必要な部分を
選択してからCtrlキーとCキーを同時に押す
メール本文上をクリックし
てからCtrlキーとVキーを
同時に押す
history.txtを開く時:
ファイルを右クリック→「開く」クリック
or
ファイルを右クリック
→「Edit with Notepad++」を選択
件名を必ず 4限目情報基礎演習の課題3 宛先を
4限目のクラスの学生は、 [email protected]
としてメールを送信して下さい
ファイルシステムについての参考資料
ファイルシステムの木構造(1)
ディレクトリ=複数のファイルや他のディレクトリを入れておける箱のようなもの
注:WindowsやMac OSでいうところのフォルダ, しかし、ディレクトリの呼び名の方が昔からある. “Windowsにパクられた”
ルートディレクトリ
ユーザ a00xxxxxのホームディレクトリterminal を起動したら、最初必ず、ここにいる.
/
program
ecsfs1
ecsf
a00xxxxx
g
e2 e3
home
[axxxxxxx~]$ pwd
2. カレントディレクトリの表示( print working directory )
/home/ecsfs1/ecs/a0xx/a00xxxxx
皆さんのホームディレクトリ
← これを「絶対パス」と呼ぶ
ルートディレクトリ
絶対パス:/ から、あるディレクトリに到達する”最短の”道筋のこと
/
ecsfs1
ecs
a0xx
a00xxxxx
ecsfs2
yyyy
a0yy
home
ecsfs3
zzzz
ここへの絶対パス/home/ecsfs3/yyyy
ここへの絶対パス/home/ecsf1/ecs/aOxx
ファイルシステムの木構造(1)
ディレクトリ=複数のファイルや他のディレクトリを入れておける箱
ルートディレクトリ
ユーザ a00xxxxxのホームディレクトリ今、ここにいるとする。
ディレクトリの作成の仕方mkdir 作成したいディレクトリ名
例えば,program と言う名前のディレクトリを作成したい場合
は「一マスあける」の意味
program
/
home
ecsfs1f
a00xxxxx
[a.... ~]$ mkdir program [Enter]どんなファイルやディレクトリがあるか知りたい時
[a.... ~]$ ls [Enter]
ディレクトリ=複数のファイルや別のディレクトリを入れておける箱
ルートディレクトリ
ユーザ aOOxxxxxのホームディレクトリ
カレントディレクリの変更(移動)cd 移動する先のディレクトリ名
例えば,program と言う名前のディレクトリに移動したい場合
program
/
home
ecsfs1f
a00xxxxx [a.... ~]$ cd program [Enter][a.... ~]$ mkdir AAAA [Enter][a.... ~]$ mkdir BBBB [Enter][a.... ~]$ ls [Enter]
BBBBAAAA
ファイルシステムの木構造(2)
● program の絶対パスは?/home/ecsfs1/aOOxxxxx/program
● aOOxxxxxというディレクトリからaOOxxxxxx(自分自身)への相対パスは?
./ or .● aOOxxxxxxというディレクトリからの
program への相対パスは?program 或いは ./program
● aOOxxxxxxというディレクトリからのsuzuki への相対パスは?Mail/suzuki 或いは ./Mail/suzuki
相対パス:今いるディレクトリ(カレントディレクトリ)から、あるディレクトリに到達する道筋のこと
program Mail
/
home
ecsfs1f
a00xxxxx
BBBBAAAA
ファイルシステムの木構造(3)
必ずしも最短の道筋とは限らない
suzukitanaka
例題
ファイルシステムの木構造(4)
program Mail
/
home
ecsfs1f
a00xxxxx
BBBBAAAA suzukitanaka
絶対パス:/ から、あるディレクトリに到達する道筋のこと
相対パス:あるディレクトリ1から、あるディレクトリ2に到達する道筋のこと
〇 カレントディレクトリを表す記号. あるいは ./
〇 カレントディレクトリの1つ上位のディレクトリを
.. あるいは ./.. で表す.
ドット1つ
ドット2つ
ファイルシステムの木構造(8)
例: aOOxxxxxというディレクトリにいるとする
$ cd .. [Enter] aOxxに移動
cd .. [return] と cd [return]
cd .. 親ディレクトリに移動する
cd ホームディレクトリに移動
/
ecsfs1
a0xx
a00xxxxx
ecsfs2
a0yy
home
ecs
$ cd [Enter] どこにいても自分のhome directoryに戻る(aOOxxxxx に戻る)
註: 親ディレクトリ は current directory より1つ上位のdirectoryの意味
$ cd .. [Enter] ecsに移動
$ cd .. [Enter] ecsfs1に移動
ファイルシステムの木構造(5)
program Mail
/
home
ecsfs1f
a00xxxxx
DDDDCCCC
EEEE
suzukitanaka
$ cd [return]$ cd program$ mkdir CCCC$ mkdir DDDD$ cd CCCC$ mkdir EEEE$ pwd$ cd ..$ cd DDDD$ cd ../CCCC$ cd [Enter]
home directoryに移動programというディレクトリに移動CCCCというdirectoryを作成DDDDというdirectoryを作成CCCCへ移動EEEEというdirectoryを作成current directoryの絶対パス表示1つ上位のdirectory(CCCC)に移動DDDDへ移動相対パスを使ってCCCCへ移動home directoryへ一気に移動
註:$ cd [return]どのdirectoryからでもhome directoryに一気に戻れる便利なコマンド.
例題1:水色で書かれた構造のdirectoryツリーを作成せよ
ファイルシステムの木構造(6)
/
home
ecsfs1f
a00xxxxx
monomer polymer
molecules
styrenemethylene
polystyrene
$ cd $ mkdir molecules$ mkdir molecules/monomer/methylene$ mkdir molecules/monomer/styrene$ mkdir polymer$ mkdir polymer/polystyrene
別の方法$ cd $ mkdir molecules$ cd molecules$ mkidir monomer$ mkdir polymer$ cd monomer$ mkdir methylene$ mkidir styrene$ cd ../polymer$ mkdir polystyrene$ cd [Enter]
例題2: 水色で書かれた構造のdirectoryツリーを作成せよ