計算物理学II (第2回) *起動するOSを選択してくださいselect OS to boot *選択されない場合、Windowsが自動起動しますWindows will be selected without explicit selection電源を入れた後Ubuntuを起動してくださいWindowsを起動してしまった人は一度再起動してくださいBoot Ubuntu 16.04 LTS from EFI system partition
・対面とオンラインのハイブリッド形式です•対面は1Dサテライト室、オンラインは皆さんのパソコンから全学計算機システムにログインして行います•サテライト室では：飲食禁止・自分のPCを持ち込んでもよいが充電はダメ・オンラインでの演習にはコンピュータ(WindowsまたはMac)とインターネットが必要です。 ・演習する内容は授業のホームページに掲載します。こちらの内容に従って演習をすすめてくださいhttps://wwwnucl.ph.tsukuba.ac.jp/~hinohara/compphys2-23/
• https://www.u.tsukuba.ac.jp/satellites_status/ • 1Dサテライト： 平日8:00 – 19:00 •図書館サテライト：図書館の開館時間に準ずる•中央図書館：平日 8:30 – 22:00 、休日9:00 – 20:00
レポート・成績評価はレポート(3回程度)で行います。 •レポートは講義資料のページ( https://wwwnucl.ph.tsukuba.ac.jp/~hinohara/compphys2-23/ )に掲載子定。 •レポートはmanabaで提出。
・ホームページ掲載の資料は削除しません(必要に応じて修正します)。 • Streamの講義動画も2023年度中は削除しません。 •資料を印刷する必要はありません。(印刷を想定して作っていません)
• Linuxは多くの人が使っているためインターネットに大量の情報があります。 (数値計算についてはそんなにないかも) •検索が上手な人ほど使いこなすのが早いです。 ・サテライト室のLinuxにはFirefox、Google Chromeが入っていますので使いやすいように設定してください•普段使わないコマンドの詳細は覚える必要はなく、検索するために十分な情報だけを覚えておきます(こういう処理をするにはこのコマンドということだけ覚えておく) •  Linux初心者向けの参考書：新しいLinuxの教科書(三宅英明・大角祐介、SB Creative)
•他の物理の授業では自分で考えることも大事なのでなかなか質問しないかもしれません。この授業では調べてもわからないものはどんどん質問してください。聞いてしまったほうが早く解決することが多いです。 ・授業時間内にTAと巡回しますので質問してください。対応する授業回の質問である必要はありません。 •授業時間外も質問してください。Microsoft Teamsのチャットまたはメール•レポート問題の質問も歓迎。

• Linuxは(特に初心者には)やさしくなく使いにくい
•個人のパソコンはWindows/Macが主流•物理学の研究では昔からLinuxがよく使われている•スーパーコンピュータはLinuxで動いている• 2020年６月に世界一のスパコンになった富岳はRedhat Linuxで動いている•遠隔地のコンピュータの操作にLinuxは向いている•自宅から研究室のコンピュータを操作•学外の施設のコンピュータを学内から操作・スーパーコンピュータを使った計算(sshリモートログインで使用する) •コロナ等で大学が閉鎖された場合•サーバ(webサーバ、メールサーバなど)のOSはLinuxが主流
ユーザ名：s+学籍番号の下7桁パスワード：統一認証パスワード
•全学計算機システムのLinuxにログイン• Linuxを使って慣れる•端末を使ってみる(シェル・ディレクトリ・コマンドなど) • Linuxを終了する
ブラウザ：Firefox・Chromeが入ってます• manabaや講義のページ、検索サイトなどをブックマークに追加してください端末の起動デスクトップで右クリック端末を開く(E)をクリック
ログインしているコンピュータの名前(ホスト名) hinohara.nobuo.ga@ubuntu:~$このコンピュータでのユーザ名皆さんはs1234567の形式コンピュータの中で今いる位置(カレントディレクトリ) (~はホームディレクトリを表す)プロンプトの表示内容は設定ファイルで変更可能。 (皆さんのプロンプトが上の形式ではない可能性もあります) $しか表示されないものもある。$より右側がコマンド入力領域
シェル(殻)：ユーザからのコマンド入力を受け付けるシステムコマンドの処理はカーネル(コンピュータの心臓部)が実行Linuxの操作はシェルを通して行われるシェルはユーザー・インターフェースシェルの種類： sh, bash, csh, tsch, zsh ... (bash(バッシュ)が標準的。新しいMac OSはzshがデフォルト)シェルによってコマンド、書き方が多少異なる
コマンドを入力してみましょう。キーボードでコマンドを入力後Enterキーを押すとシェルにコマンドが渡され、実行結果が画面に表示されます。 hostnameいまログインしているホスト名を表示するhinohara.nobuo.ga@ubuntu:~$ hostname ubuntuホスト名がシェルから返されるpwd今いるディレクトリ(カレントディレクトリ)の場所(絶対パス)を表示する(print/positioning working directory) hinohara.nobuo.ga@ubuntu:~$ pwd |Zhome/hinohara.nobuo.ga |絶対パス(後述) who誰がログインしているのか表示する(他のユーザも表示されます) hinohara.nobuo.ga@ubuntu:~$ whoユーザ名 hinohara.nobuo.ga  pts/13 2021-10-08 date現在日時を表示する端末の種類(ssh端末)ログイン元ホストのIPアドレhinohara.nobuo.ga@ubuntu:~$ date 2021年10月 8日金曜日JST cal今月のカレンダーを表示するhinohara.nobuo.qa@u 10ミ2021日月火水木金:
ディレクトリ：ファイルやディレクトリを複数格納する場所(Windows・Macのフォルダと同じ)ツリー構造：Linuxのディレクトリはルートディレクトリ(/)を頂点とするツリー構造ディレクトリの場所はルートディレクトリからの場所で一意に指定できる(絶対パス) WindowsだとCドライブなどがルートディレクトリに相当(C:¥) ↓このディレクトリの絶対パスは/home/s1234567ディレクトリ(home)の中にあるファイル・ディレクトリを指定するときも/で区切るルートディレクトリ(スラッシュ"/"で表す) .... Linuxのディレクトリ構造ほとんどの作業はホームディレクトリかそれより下層ディレクトリで行うユーザにはホームディレクトリ以下でファイル・ディレクトリの変更の権限があるカレントディレクトリ(現在作業中のディレクトリ)からの相対パスを用いるのが便利カレントディレクトリがホームディレクトリの場合ホームディレクトリから見てこのディレクトリは相対パスでDesktopまたは“.”を使って./Desktopでもよいホームディレクトリ(s1234567)から見て、このディレクトリは相対バスでcompphys2/project4または./compphys2/project4絶対パスではないので頭に/はつけないLinuxのディレクトリ構造ほとんどの作業はホームディレクトリかそれより下層ディレクトリで行うカレントディレクトリ(現在作業中のディレクトリ)からの相対パスを用いるのが便利カレントディレクトリがcompphys2の場合カレントディレクトリから見てこのディレクトリは相対パスで../Desktop (一つ上のディレクトリは..で表す) ..はこの場合はs1234567ディレクトリになる）カレントディレクトリ(compphys2)から見て、このディレクトリは相対バスでproject4または./project4 •講義資料を見て演習(https://wwwnucl.ph.tsukuba.ac.jp/~hinohara/compphys2-23/) •ファイル・ディレクトリ操作・ディレクトリ・ファイルの表示(ls)、ディレクトリ作成(mkdir)、削除(rmdir)、ファイル作成(touch)、削除(rm)、 mv(ファイル・ディレクトリ移動・名前変更)、cp(コピー) •ディレクトリ移動・ cd(ディレクトリ移動)、pwd(カレントディレクトリ表示) •ファイル表示• cat, less (テキストファイルの内容表示) •その他• yes(yes出力)、history(コマンド入力履歴表示)、hostname、date, cal (日付・カレンダー), who(ログインユーザ表示） • man (コマンドマニュアル表示) •強制終了、入力履歴、タブ補完、ワイルドカード、 •隠しファイル、ディレクトリ・シンボリックリンク•  manabaに第２回課題(簡単な問題)を掲載(レポートではありません)
lsファイル名またはディレクトリ名   :_ディレクトリの中にあるファイル・ディレクトリの一覧を表示(list)
指定したディレクトリ(指定しなければカレントディレクトリ)に入っているファイル・ディレクトリの一覧が表示される。 (/で終わっている名前はディレクトリ。/が表示されない場合はIsの代わりにIs –Fを実行。)現在いるディレクトリはプロンプトに表示されている。またはpwdコマンドで確認。ホームディレクトリは～とも書かれる(～ = /home/ユーザ名) mkdirディレクトリ名   ：ディレクトリを作成(make directory)
lsで再度確認するとcompphys2ディレクトリが出来ていることがわかるコマンドに続いてファイルまたはディレクトリ名を入力するときはコマンドの後にスペースを入れる公共
cd移動先のディレクトリ   :ディレクトリの移動(change directory)移動先のディレクトリを指定しない場合はホームディレクトリに移動今作成したcompphys2ディレクトリに移動します(cd移動先ディレクトリ)最後のスラッシュはあってもなくてもよい。 [hinohara.nobuo.ga@ubuntu:~$ cd|compphys2/ [hinohara.nobuo.ga@ubuntu:~/compphys2$ pwd /home/hinohara.nobuo.ga/compphys2 [hinohara.nobuo.ga@ubuntu:~/compphys2$ ls cdコマンドは移動に成功したときは何も出力しない。プロンプトに表示されるカレントディレクトリを見るか、pwdで確認。新しく作成したディレクトリなのでlsで確認すると中には何も入っていないことがわかる。 rmdirディレクトリ名  ：ディレクトリの削除(remove directory) hinohara.nobuo.ga@ubuntu:~/compphys2$|cd ..|一つ上の親ディレクトリは“..” cd ..でhinohara.nobuo.ga@ubuntu:~$ [pwd] compphys2の一つ上であるホームディレクトリに移動/home/hinohara.nobuo.ga compphys2ディレクトリを削除hinchara.nobuo.ga@ubuntu:~$ rmdir compphys2 hinohara.nobuo.ga@ubuntu:~$ ls Saved Games/ AppData/   Documents/  Links/ Videos/      WWWG Contacts/ Downloads/  Music/ Searches/ WINDOWS/   WWSG temp/     ダウンロード/  ビデオ/ Start Menu/ Favorites/  Pictures/ Desktop/
compphys2が削除されている
演習の作業はホームディレクトリではなく適当なディレクトリを作って中で行うとよい。 touchファイル名：空のファイルを作成(通常ファイルを作成するときに使うコマンドではないがファイル操作の練習のため使用) |hinohara.nobuo.ga@ubuntu:~/compphys2$_ls_ hinohara.nobuo.ga@ubuntu:~/compphys2$ touch testfile| hinohara.nobuo.ga@ubuntu:~/compphys2$ lstestfileという名前のファイルを作成touchとtestfileの間にスペースが必要testfile |ファイルが作成されていることを確認rmファイル名  ：ファイルを削除(remove) lhinohara.nobuo.ga@ubuntu:~/compphys2$ ls testfile ファイルが存在[hinohara.nobuo.ga@ubuntu:~/compphys2$|rm testfile [rm:通常の空ファイル'testfile'を削除しますか?| y [hinohara.nobuo.ga@ubuntu:~/compphys2$ ls           y(yes)またはn(no)を入力hinohara.nobuo.ga@ubuntu:~/compphys2$   testfileが削除されたbashの設定によっては削除するかどうか確認されない。rm –iを実行すると毎回確認。ゴミ箱はなく削除後は元に戻せないので注意
mv移動元パス移動先パス  ：ファイルやディレクトリを移動します(move)
移動元ファイルと移動先ディレクトリは相対パスまたは絶対パスですでに存在するファイルなどを指定すると上書きされる。mv –iを実行すると上書きの確認がされる。
cpファイル１　ファイル２：ファイル１をファイル２にコピー(copy) |hinohara.nobuo.ga@ubuntu:~/compphys2$ ls dir1/ dir2/ testfile hinohara.nobuo.ga@ubuntu:~/compphys2$ cp testfile testfile5 hinohara.nobuo.ga@ubuntu:~/compphys2$ ls dir1/  dir2/ | testfile | testfile5 | testfile5としてtestfile1のコピーが作成される|hinohara.nobuo.ga@ubuntu:~/compphys2$ ls dir1 testfile1 dir1にファイルが入っている場合(入ってなければtouchで作ってください) hinohara.nobuo.ga@ubuntu:~/compphys2$|cp -r dir1 dir3 | hinohara.nobuo.ga@ubuntu:~/compphys2$ ｌｓ　　　　　　　ディレクトリをコピーする場合はdir1/ dir2/ [dir3/ testfile testfile5            “-r”オプションをつける[hinohara.nobuo.ga@ubuntu:~/compphys2$ ls dir3 testfile1ディレクトリの中身もコピーされるhinohara.nobuo.ga@ubuntu:~/compphys2$|cp dir1 dir4 cp:ディレクトリ'dir1'を省略しています-rをつけないとディレクトリはコピーされない|hinohara.nobuo.ga@ubuntu:~/compphys2$ ls dir1/ dir2/ dir3/ testfile testfile5すでにコピー先に同名のファイルがある場合は上書きされる。 bashの設定によっては確認されずに上書きされるのでcp –iを実行すれば必ず上書きの確認がされる。
rmdirは中に何も入っていないディレクトリの削除が可能中にファイルが入ったディレクトリの削除はrm –rコマンドで行う[hinohara.nobuo.ga@ubuntu:~/compphys2$ ls dir1/ dir2/ dir3/ |hinohara.nobuo.ga@ubuntu:~/compphys2$ ls dir1 中にファイルの入ったディレクトリtestfile1 [hinohara.nobuo.ga@ubuntu:~/compphys2$ rmdir dir1 |  rmdirでは削除出来ないrmdir: 'dir1'を削除できません:ディレクトリは空ではありません|hinohara.nobuo.ga@ubuntu:~/compphys2$|rm_dir1       rmではディレクトリは削除できないrm: 'dir1'を削除できません:ディレクトリです[hinohara.nobuo.ga@ubuntu:~/compphys2$| rm -r dir1 |  -rオプションで制除可能[rm:ディレクトリ'dir1'配下に入りますか? [y] [rm:通常の空ファイル'dir1/testfile1'を削除しますか? y [rm:ディレクトリ'dir1'を削除しますか? j  y (yes)で削除を進める|hinohara.nobuo.ga@ubuntu:~/compphys2$ ls一（設定によっては確認されないので注意） dir2/  dir3/  dir1が削除されたhinohara.nobuo.ga@ubuntu:~/compphys2$  
catファイル名:テキストファイルの中身を表示する(catenate,サイズの小さいファイル向け)
/etcにはLinux全体の設定ファイルが入っている(内容は理解できなくてよい)
lessファイル名:テキストファイルの中身を表示する(サイズの大きなテキストファイル用) ninchara.nobuo.ga@ubuntu:~$ less /proc/cpuinfo ■ CPU情報が参照できるファイル行数が多いのでcatで見ると画面上を流れてしまう上下カーソルで表示位置の移動fまたはスペースで一画面下にスクロールbで一画面上にスクロールqで終了/を入力後文字列を入力してEnterで文字列の検索が可能
lsは何回も使うWindowsのエクスプローラーでは一覧が表示されているが、コマンドラインのLinuxではlsを打たないとどんなファイル・ディレクトリがあるかもわからない。次にやることが思いつかなかったらとりあえずIs。ディレクトリを移動したらまずはIs同じようなコマンド・前に使ったコマンドを何回も使う場合・前にちょっとだけ入力を間違えた場合上矢印キーで直前、その前、・・・に入力したコマンドが呼び出せる入力中のコマンドの修正をする場合左矢印でカーソルの位置を戻すことができる。右矢印も使える。修正したい箇所がコマンドの先頭付近で左矢印で戻すのが面倒な場合Ctrlキーを押しながらa（C-aと表記する）で先頭にカーソルが戻るコマンドラインの末尾まで一気に戻りたい場合C-eで末尾に移動いま入力中のものを消して(なかったことにして)最初から入力しなおしたい場合C-cで現在の入力が全部消えて新しい行が表示される
•入力したコマンドが自動的に終了しなくてシェルが使えなくなった場合はC-c (Ctrlキーを押しながらc)で強制終了・例：yesコマンド(ひたすらyを画面に出力し続けるだけのコマンド) hinohara.nobuo.ga@ubuntu:~$ yes今後自分でプログラムを書いたときに起こることがあるので覚えてください。コマンドライン入力のヒント(タブ補完) historyというコマンドを打ってみるこのコマンドはこれまで入力したコマンドのリストを出力(実行してみてください) hinohara.nobuo.ga@ubuntu:~$ histo historyと全部入力せず、histoまで入力してTabキーを押すと自動的に残りのryが補完される
[hinohara.nobuo.ga@ubuntu:~$ history | |
histまで入力してTabキーを押すと何も起こりませんが、もう一度Tabキーを押すとhistではじまるコマンドの候補が表示されます[hinohara.nobuo.ga@ubuntu:~$ hist hist2workspace  history hinohara.nobuo.ga@ubuntu:~$ histコマンド・ファイル名・ディレクトリ名などは一部だけ入力してタブ補完を使うことで入力量を減らすことができる。
ディレクトリを移動したいがどんな名前のディレクトリかわからない場合はlsで調べるのが基本だが、タブ補完も使える
Display all 166 possibilities? (y or n) cd、スペースを入力後Tabキーを2回押すとカレントディレクトリ直下のディレクトリのリストが表示されるcd etc/でTabキーを2回押すと同様にリストが表示されるが候補数(166)が多いためすべて表示したいかどうかを聞かれる(この場合は数文字入れて絞れるなら絞ってからタブ補完を使えばよい)出てきた候補はmoreというコマンドの形式で表示(enterでスクロール、αで終了)
ディレクトリに長い名前のファイルがある場合hinohara.nobuo.ga@ubuntu:~/compphys2$ ls compphys2_projectfile_20210ct11  compphys2_projectfile_20210ct18  compphys2_projectfile_20210ct25 hinohara.nobuo.ga@ubuntu:~/compphys2$ catスペースのあとTabキーを押すコマンド＋スペースを入力後タブを押すと自動的にfileが補完される(コマンドの後にはファイル名を入力するはずであり、このディレクトリにあるファイル名はすべてcompphys2_projectfile_2021Octで始まっているため) hinohara.nobuo.ga@ubuntu:~/compphys2$ ls compphys2_projectfile_20210ct11  compphys2_projectfile_20210ct18  compphys2_projectfile_20210ct25 hinohara.nobuo.ga@ubuntu:~/compphys2$ cat compphys2_projectfile_20210ct | 自動で補完されるcompphys2_projectfile_20210ct11  compphys2_projectfile_20210ct18  compphys2_projectfile_20210ct25 hinohara.nobuo.ga@ubuntu:~/compphys2$ cat compphys2_projectfile_20210ct Tabを2回押すと候補を表示コマンド・ファイル・ディレクトリのどれでも入力の途中でTabキーを押すことで入力量を減らすことが可能です。普段からTabキーを様々なタイミングで押してください。
シェルでは*は任意の文字列を表す/etcディレクトリの中でa*bにマッチするファイル(ファイル名がaで始まってbで終わるもの)の一覧を表示[hinohara.nobuo.ga@ubuntu:~$ ls /etc/a*b /etc/anacrontab  /etc/auto.smb* hinohara.nobuo.ga@ubuntu:~/compphys2$ ls test.dat test.pdf test.txt hinchara.nobuo.ga@ubuntu:~/compphys2$  ls  *.txt com pphys2ディレクトリの中で拡張子が.txtのファイルの一覧を表示test.txt hinohara.nobuo.ga@ubuntu:~/compphys2$ rm * rm:通常の空ファイル'test.dat'を削除しますか? y rm:通常の空ファイル'test.pdf'を削除しますか? y rm:通常の空ファイル'test.txt'を削除しますか? y hinohara.nobuo.ga@ubuntu:~/compphys2$ ls hinohara.nobuo.ga@ubuntu:~/compphys2$ compphys2ディレクトリの中のすべてのファイルを削除実行するときは十分に注意してください(ファイルーつーつについて削除してよいか確認がない設定かもしれません） Isなどで候補が多すぎる場合はワイルドカードなどを使ってみたいものだけに絞るまた、すべてのファイルに対して同じ操作を行う場合も使える。
シェルでは?は任意の一文字を表す[hinohara.nobuo.ga@ubuntu:~/compphys2$ ls file1 file10 file11 file12 file13 file14 file15 file2 file3 file4 file5 file6 file7 file8 file9 hinohara.nobuo.ga@ubuntu:~/compphys2$ ls file? file+1文字と言う名前のファイルの一覧file1 file2 file3 file4 file5 file6 file7 file8 file9 lhinohara.nobuo.ga@ubuntu:~/comphys2$ ls file?3 file+1文字+3という名前のファイルが表示される(file13のみ) file13 [hinohara.nobuo.ga@ubuntu:~/compphys2$ ls file*3 *は0文字も含むためfile3も該当file13  file3
webで調べてもよいが、manコマンドでコマンドの詳細な使い方が調べられるhinohara.nobuo.ga@ubuntu:~$ man ls Isコマンドのマニュアルを表示e e e LS(1) LS(1) --author -b, --escape –8, --ignore-backups ~で接了する要素を一覧表示しない–ltと使用した場合: ctime (ファイル状態情報を変更した時間）で並べ替えて表示する。 -1と使用した場合:名前で並べ替えてctimeを表示する。それ以外の場合: ctimeで新しい順に物ペ容えるManual page ls(1) line 1 (press h for help or q to quit)マニュアルの画面の操作はlessと同じ上下カーソルで表示領域を移動、 qで終了
“.”から始まるファイルは隠しファイル、ディレクトリでlsでは表示されない。表示するにはIsで–aオプションをつけるSaved Games/ Videos/ temp/ダウンロード/ビデオ/公時/
これらのファイル・ディレクトリには様々なプログラムの設定情報が格納されている。例えば.sshディレクトリはsshの設定ファイルが入っており公開鍵認証で使う
[hinohara.nobuo.ga@ubuntu:~/compphys2$ ls dir1/ dir2/ dir3/ dirという名前でdir2ヘリンクした[hinohara.nobuo.ga@ubuntu:~/compphys2$ ls dir2 testfile2シンボリックリンクを作成|hinohara.nobuo.ga@ubuntu:~/compphys2$ ln –s dir2 dir (相対パスまたは絶対パスで記述) Jhinohara.nobuo.ga@ubuntu:~/compphys2$  ls dir@|dir1/ dir2/ dir3/シンボリックリンクは名前のあとに@が表示されるininonara.nobuo.ga@ubuntu:~/compphys2$ cd dir [hinohara.nobuo.ga@ubuntu:~/compphys2/dir$ ls testfile2 dir2の中身にアクセスできるlhinohara.nobuo.ga@ubuntu:~/compphys2/dir$ pwd /home/hinohara.nobuo.ga/compphys2/dir パスはシンボリックリンクのdirとなるininonara nobuo.gacubuncu:~/compphysz/dir$ touch newfile dirにファイルを追加すると[hinohara.nobuo.ga@ubuntu:~/compphys2/dir$ ls newfile testfile2元のディレクトリからも同様に見えるhinohard.nobuo.ga@ubuntu:~/compphys2/dir$ cd ../dir2 [hinohara.nobuo.ga@ubuntu:~/compphys2/dir2$ ls newfile  testfile2 hinohará.nobuo.ga@ubuntu:~/compphys2/dir2$ cd .. [hinohara.nobuo.ga@ubuntu:~/compphys2$ ls dir@ dir1/ dir2/ dir3/ [hinohara.nobuo.ga@ubuntu:~/compphys2$ rm dir rm:シンボリックリンク'dir'を削除しますか? y [hinohara.nobuo.ga@ubuntu:~/compphys2$ ls dir1/ dir2/ dir3/シンボリックリンクの削除はrmコマンドで行う

ホームポジション
キーボードのFキーとJキー(突起がついています)に左右の人差し指を置いた状態ホームポジションからあまり指を大きく動かさずに入力をするのが早く入力する基本。タイピングゲームなどで練習できる。そのためホームポジションから離れたキーはなるべく使わないほうがよい。特に消去キーと十字キーについてはショートカットを使う。