(計実) 第2回 ファイルとディレクトリ・エディタ(1)
◆0.はじめに
◎出席: 今日のrespon:締切は15時
https://gyazo.com/251b13f08ab196adb92581f183f62447
1. 教室番号/参加場所:対面はPC番号/OLは参加場所
2. キーワード:冒頭に伝える
3. 前回の内容の自己評価:成績とは無関係
★今回の内容★
前回に引続きUnixの基本的な利用方法です.
今回は「ファイルの操作」および「ディレクトリの操作」ということで, Unixのコマンドラインでの各種作業の基本となる操作を学びます.
ファイルの操作――ファイルのコピー,移動,名前変更など――これはLinuxに限らず, Windows/MacOSでも基本中の基本です.
ディレクトリとはWin/Macでいう「フォルダ」のことです.
これを適切に作成,削除,名前変更することで, 大量のファイルを分類・整理できます.
ディレクトリ操作が理解できると,OSにおける「ファイルシステム」の概念の把握につながります.
※現在の多くのOSのファイルシステムはUnixの模倣になっています
ファイルやディレクトリの操作は,いままでは,エクスプローラーなどGUIで行っていたと思います.が,
本実習ではすべてターミナルを使い,コマンドラインで行います.
教科書・関連文書をよく読み,実際に操作をして,自分が今なにをやっているのかを充分理解しながら学習を進めてください.
★今回の注意★
レポートについては,本日からTAさんにチェックしてもらいます.コメントをよく読んで次回に活かしてください.
※bcの入力記述が不完全(代入式がない等)な人が目立ちます
書式についての指示,ヒントや注意点をもう一度よく確認して従うようにしてください.
提出前に,冷静に ( 他人になったつもりで ) もう一度読み直してください.
※ 何が問で何が答えか,だれが見ても明確に伝わるか?
code:【目 次】
1.ファイルの操作
2.簡単なファイルの作り方
3.エディタを使う
4.ファイル作成の確認テスト
5.ディレクトリとファイルシステム
6.ディレクトリとファイルシステム( 教科書の補足 )
7.実習用ディレクトリの作成
<計実 第2回課題>
★付録:UbuntuからWindowsにコピペ★
◆1.ファイルの操作
ここではUnixコマンドでファイルのコピー/削除/名前変更といった操作を学ぶ.
■1-1 ファイル操作の基礎
教科書 第 3 章「ファイルを操作する」の3-1節 ( p.35~p.39 ),3-2節 ( p.39~p.44 ) を読んで, 教科書中の例題や練習も実際に入力し,順に確かめていきなさい.
※読むだけでなく必ず実際に操作をすること.このことは今後も同様.
※p.44の練習問題もやってみること.
※ファイルの削除 ( rm ) では削除を確認するメッセージが出る場合がある. そのときは,'y'キー ( yesを意味する )を押せばよい.
■1-2 mv と cat の確かめ
第3章をやり終えたら,mv コマンドと cat コマンドについて,以下のことを実行して確かめなさい.
1. 準備として,教科書3-1-1の最初に作ったファイル aaa を使う.cp コマンドを使って,aaa を aaa3 にコピーしなさい.
2. 同様に aaa を aaa4 にコピーしなさい.
3. そして,それらの結果を ls コマンド確認しなさい.
※以上は復習.方法は自分で考えること.
4. 次に,mv aaa3 aaa5 と入力しなさい.( '$'はプロンプト記号,▼はEnter )
code:▼印はエンター
$ mv aaa3 aaa5▼
$
特に何も変化がないように思えるかもしれない.
では,ls コマンドで ファイルの一覧を表示させてみよう.
code:▼印はエンター
$ ls▼
aaa aaa4 aaa5
$
aaa3はなくなり,aaa4とaaa5が見えるはず.つまりファイル名が変わっている.
※上の ls の結果は一例.皆さんのディレクトリには他のファイルもあるはず.
ポイント: ファイルの名前を変更するには mv コマンド.
5. さらに,cat aaa4 aaa5 と入力しなさい.
code:▼印はエンター
$ cat aaa4 aaa5▼
同じ内容 (日時データ) が2つ表示される.
6. 今度は,cat aaa4 aaa5 > aaa6 と入力しなさい.
code:▼印はエンター
$ cat aaa4 aaa5 > aaa6▼
特に,何も変化はない?
では,catコマンドでaaa6の内容を表示させなさい.
→ 上の例と同じように,同じ内容が2つ表示されるはず.
ポイント:2つ ( 以上 ) のファイルをつなげるのは cat コマンド.
※注意※
上記5.と6.の違いはなんだろうか.
5.の例では連結した内容を "画面に表示" している:一過性
6.の例では連結した内容を "ファイルに保存している" :再利用可能
また,'>' を使うと新しくファイルが作られることがわかる.
'>'の意味 ( この記号を使ってなぜファイルが作られるか ) については, 後日説明するので,今は分からなくて構わない.
cat コマンドはファイルの内容を表示するだけのコマンドではない ということも覚えておくべきだろう.
◆2.簡単なファイルの作り方
ファイルを作成するには通常,テキストエディタを使う.
しかしファイル作成だけなら,Unixコマンドで簡単にできるので紹介しておく.
"cat" "touch"といったコマンドでファイルを作成する方法を紹介する.
■2-1 catコマンドでファイル作成
エディタを使わずにファイルを作る方法を紹介する.
教科書 8-2-1節 ( p.123 ) 「catコマンドで作る」を読み, 実際にファイルを作ってみよう.
ファイルができたかどうか,catコマンドを使ってファイルの内容を確認すること.
なぜこの方法でファイルが作成できるのかについては, 現時点ではまだ分からなくても構わない. 簡単なファイルの作り方のひとつとして覚えておこう.
■2-2 touchコマンドでファイル作成
サイズ0バイト,つまり空っぽのファイルを簡単に作る方法がある.
それには touch コマンドを使う.
新しいファイル名を指定してtouchを実行すると, 0バイトのファイルが作られる.
( '$'はプロンプト記号,▼はEnter )
code:▼印はエンター
$ touch Newfile.txt▼
$ ls -l Newfile.txt▼
-rw-r--r-- 1 y200999 staff 0 5 8 05:55 Newfile.txt
※では,すでに存在するファイルに対してtouchコマンドを実行するとどうなるか?
→ man pageで調べてみよう.( man touch )
◆3.エディタを使う
上ではファイルの作成方法を紹介したが,作成したたファイルの編集には,テキストエディタを使う.
今回の課題でもエディタで編集をしつつ取り組んでもらう.
WindowsやMacにはメモ帳やテキストエディットなど,簡単なエディタが標準でついている.今回の課題ではこれらを利用して課題の回答用ファイルを作成しても構わない.
しかし,Unixでの作業・操作は,Unixで処理したいものだ.
当然ながら,Unixにも標準のエディタがある. それがnano (ナノ) とvi ( ブイアイ ) だ.
※どちらもターミナル内で起動する,CUIベースのエディタ
viは使い慣れるのにやや手間がかかるため,今回は,慣れないユーザでもすぐに使える, nanoエディタを紹介する.
※ちなみに,Windowsにもnanoは標準で使える.( PowerShellでもDOS窓でも起動可能 )
■3-1 nanoエディタ (Ubuntu)
nanoエディタはUnix標準ではなかったが,最近のLinuxをはじめUnixライクOSでデフォルトエディタとして採用されている. ( おそらくvi に慣れない人がLinuxに触れるようになったため)
ただ,nanoエディタについては教科書に書かれていない.次の記事を読んで一通り使い方を学んでほしい.
■3-2 nanoエディタ (MacOS)
MacOSの場合は,Ubuntuとはデフォルトキーアサインが異なる.
以下のリンクを参照にして操作を一通り学んでほしい.
■3-3 nanoを普通っぽく使う
nanoはキー操作があまりに独特で,WindowsやMacでの普通のショートカットキーに慣れている人は違和感を感じる.
幸いnanoはキーバインドをいじることできるので,普通っぽいキーバインドに変更する方法がある.
違和感を感じた人は上の記事でキーバインドを変えてみるのもよいだろう.
※変更は自分の責任(at your own risk)で.元に戻すことはできるので安心を.
☆繰り返すが,今回の課題の回答用ファイルの作成にはnanoを推奨するが,Windows/MacOSのGUIエディタでも構わない.その際にはUnix--Windows間のテキストコピー&ペーストに注意すること
◆4.ファイル作成の確認テスト
ファイル作成の確認として,以下の6つの作業を行い, workfile1 から workfile6 というファイルを作りなさい.
※ファイル作成方法は,catコマンドを使うこと.
※教科書の例題やこれまでの学習内容などを参考にしよう.
※workfile1 からworkfile6 までのファイルは全部 ホームディレクトリ( ログインした直後の場所 )に作ってよい.
( 1 ) 自分の学籍番号が入った, workfile1 という名前のファイルを作りなさい.
( 例 ) 学籍番号が Y200999 の人なら,cat workfile1 ▼ を実行すると次のように表示されれば正解.
( '$'はプロンプト記号,▼はEnter )
code:▼印はエンター
$ cat workfile1▼
Y200999
$
( 2 ) 半角ローマ字表記の自分の名前が入った,ファイル workfile2 を作りなさい.
( 例 ) "龍谷太郎 ( Ryukoku Taro ) "なら,以下のようになれば正解.
code:▼印はエンター
$ cat workfile2▼
Ryukoku Taro
$
( 3 ) workfile1 と workfile2 を マージ (連結) して, workfile3 というファイルを作りなさい.
※ただし,学籍番号が先にくるようにしなさい.
( 例 ) 次のようになれば正解.
code:▼印はエンター
$ cat workfile3▼
Y200999
Taro Ryukoku
$
( 4 ) 今度は名前が先のファイル workfile4 を作りなさい.
( 例 ) 次のようになれば正解.
code:▼印はエンター
$ cat workfile4▼
Taro Ryukoku
Y200999
$
( 5 ) workfile4 のコピーを2つ作りなさい. コピー先のファイル名は,workfile5 と temp .
( 6 ) 今作った2つのファイルの内,temp の名前を workfile6 に変更しなさい.
◆5.ディレクトリとファイルシステム
教科書 第 4 章と 第 5 章を読んで, 教科書中の例題を実際に入力し,順に確かめなさい.
第 4 章「ディレクトリを作る」 ( p.47~p.64 )
第 5 章「ファイルシステムを理解する」 ( p.67~p.81 )
※ 実際に端末に表示されるディレクトリは,教科書の例とは当然異なっていること注意.
適宜読み替えて操作すること ( 特にp.73以降 ) .
★ディレクトリは他のOSにも通じる重要な概念である.特に,
「パス名」
「カレントディレクトリ」
「相対パス」
「絶対パス」
などはとても重要なので,完全に理解できるようにしっかりと読むこと.
<補足:ホームディレクトリ> ※ここ重要です※
ホームディレクトリについては教科書第5章(p.71~)で学ぶが,p.71だけでは少しわかりにくいので補足する.
1.ログイン直後の「場所」がホームディレクトリ
2.cdだけの実行で,他のどのディレクトリにいてもホームディレクトリに帰ってこれる
3.echo $HOME と実行すると,ホームディレクトリの絶対パスを知ることができる
※ログイン時,"HOME"という環境変数にあなたのホームディレクトリが読み込まれている
$HOMEは環境変数HOMEを呼び出す方法
code:例:HOMEを呼び出す: ▼はEnter
$ echo $HOME▼
/home/myname ← 自アカウント名のディレクトリ(MacOSでは /Users/myname)
$
★以降,ホームディレクトリのことを $HOMEと表記する.
◆6.ディレクトリとファイルシステム ( 教科書の補足 )
教科書の第 4 章と第 5 章では,ディレクトリとファイルの操作について丁寧に説明してあるが, 一部不充分なところがある. 補足の教材で理解を深めよう.
つぎのテキスト (補足資料) を読み,実際に一通り実行しなさい.
◆7.実習用ディレクトリの作成
ディレクトリの作り方がわかったところで,早速,本実習で利用するためのディレクトリを作成する.
■7-1. Report ディレクトリ
$HOMEの直下に 「Report 」というディレクトリを作成しなさい.
ここで作成した Reportディレクトリは, 今後この実習で 「レポートディレクトリ」と呼ぶことにする. レポート提出用のファイルはすべて,このディレクトリにファイルを置くことにする.
※なお,Windows/MacOSで課題ファイルを作成する場合,UnixのReportディレクトリに加えて,デスクトップにReportフォルダを作成し,本実習で作ったファイルはそこに置くこと.
■7-2. Work ディレクトリ
$HOMEの直下に Work というディレクトリを作成しなさい.
ここには各種の作業の途中で作成したファイルや,現在作業中のファイルを置いておくことにする.
さっそく,先に作った workfile1 から workfile6 のファイルを Work ディレクトリに移動させなさい.
※注意※
$HOME直下には雑多なファイルを置かないようにしよう.
→ 適宜,ディレクトリを作成・利用して整理整頓を心がけよう
$HOMEには各種の設定ファイルが数多く置かれている.
頻繁に$HOMEのファイルをいじれば,意図せずいろいろな設定ファイルを変更してしまうリスクが高くなる.
万一それらのファイルを削除するようなことがあれば, コマンドが受け付けられない等のトラブルにつながる.
→ 適宜,ディレクトリを作成・利用して整理整頓を心がけよう( 繰り返し )
※整理が必要なのはWindowsやMacでも同じ.デスクトップやDocumentフォルダに何十ものファイルが散らかっているのはよくない. 適時,整頓しよう.
※注意※Windows/MacOSで作業する人は,上記Workディレクトリに加えて,デスクトップにWorkフォルダを作成し,作業途中のファイルはそこに置くこと.
■7-3. Backup ディレクトリ
$HOMEの直下に Backup というディレクトリを作成しなさい ( すでに存在するならば削除または名前変更すること ) .
Backupにはレポート提出ファイル,あるいは提出直前の作業中のファイルなど, 大切なファイルのコピーを置いておく.
※注意※
あるファイルが「大切」かどうかをどうやって判断するか. → 実際には人それぞれ.
ただし共通して大切なファイルがある.それは,
提出済みのデータ ( 汗と涙の結晶 ( ? )・証拠 )
提出直前の作業中のファイル
これらは,失うと非常にダメージが大きい.
作業中のファイルはマメに保存すること.
※Workに作った作りかけのファイルも, マメにBackupにコピーすることを強くお勧めする.
※注意※※Windows/MacOSで作業する人は,上記Backupディレクトリに加えて,デスクトップにBackupフォルダを作成し,適宜バックアップすること.
★付録:UbuntuからWindowsにコピペ★
Windows + Ubuntuの人は,Ubuntu上のテキストをWindowsにコピーするのに,少々コツがいる. 以下にまとめたので,とりあえずこのやり方でやっていただきたい.
※このほかにもよい方法があれば,情報共有していただきたい.
※MacOSの人はターミナル ← → GUIのコピー&ペーストは特に問題ない.
2022/6/2 by Kobori Satoshi, Fujii Daisuke
[[理系なら知っておくべき美しい数式02]
$ v_c = E( 1-e^{-\frac{t}{\tau}} ),\; \tau=CR:RC直列回路の微分方程式