CUIのための短い資料
ターミナルからコマンドを入力してファイル操作をする練習をしましょう。
授業ページ:https://prg.is.titech.ac.jp/ja/people/masuhara/classes/2019-il2/
用語 | 説明 |
---|---|
ターミナル | コマンドライン操作を行うためのアプリケーション(CUI)。 |
コマンド | ターミナルから打つプログラム(コンピュータに与える命令)の一種。 |
ディレクトリ | ファイルまたはディレクトリを一纏めにしたもの。 |
作業ディレクトリ | 現在見ているフォルダ。カレントディレクトリと呼ぶこともあります。 |
パス | ファイルの住所。アドレスと呼ばれることも有ります。MacOSでは /home/[ユーザー名]/[ディレクトリ名]/・・・/[ディレクトリ名]/[ファイル名] の形式で表されます。 |
相対パス | ある特定のディレクトリ(殆どの場合作業ディレクトリ)からみたファイル・ディレクトリのパス。 (例) a.txtが/home/usr_titech/Documents/Dir1/Dir2/a.txtに存在する場合 作業ディレクトリがDocumentsなら、a.txtの相対パスは/Dir1/Dir2/a.txt。 |
以下
- F,F1,F2と書いたらファイルのパス
- D,D1,D2と書いたらディレクトリのパス
- X,X1,X2と書いたらファイルとディレクトリのいずれかのパス
を指します。
[Basic]
目的 | コマンド | 備考 |
---|---|---|
ここはどこ? | pwd | 作業ディレクトリのパスを表示します。 |
ここには何がある? | ls | 作業ディレクトリにあるファイル・ディレクトリを一覧表示します。 |
作業ディレクトリの変更 | cd D | 作業ディレクトリをDに変更します。 |
ディレクトリの作成 | mkdir D | 作業ディレクトリにDという名前のディレクトリを作成します。 |
ファイルの削除 | rm F | ファイルFを削除します。 |
ディレクトリの削除 | rm -rf D | Dの中にある全てのファイル/デイレクトリを削除します。 |
ファイルのコピー | cp F1 F2 | F1をF2というパス・名前でコピーします。F1とF2で異なるファイル名も指定できます。 |
ディレクトリのコピー | cp -r D1 D2 | D1をD2というパス・名前でコピーします。同上。 |
ファイル・ディレクトリの移動/名前の変更 | mv X1 X2 | X1という名前のファイル/ディレクトリをX2というパスに移動します。 異なる名前を指定した場合は名前が変更されます。 移動先に同名ファイルがある場合は上書きするので注意。 |
GUIアプリケーションで開く | open X | Xというファイル・ディレクトリをmacに設定されたアプリケーションで開きます。 ディレクトリの場合はファインダーで開く。 |
特定のGUIアプリケーションで開く | open -a T X | Xというファイル・ディレクトリをアプリケーションTで開きます。 |
[Examples]
よく使いそうな例を抜粋します。
目的 | コマンド | 備考 |
---|---|---|
CotEditorでtxtファイルを開く | open -a coteditor a.txt | CotEditorでa.txtを開きます。 |
PDFを見る | open a.pdf | Macに設定されたPDFビューワー(標準は恐らくAdobe Acrobat)でa.pdfを開きます。 |
ファインダーで作業ディレクトリを見る | open . | 作業ディレクトリをファインダーで開きます。 |
子供のディレクトリDに移動 | cd D | Dに書くパスは相対パスです。 |
親のディレクトリに移動 | cd .. | .と..は特別なパスで、それぞれ作業ディレクトリと親ディレクトリの意味になります。 |
兄弟のディレクトリDに移動 | cd ../D | 上記の特別なパスを使ってパスを書くことも出来ます。 親ディレクトリからみてDという名前のディレクトリ(つまり兄弟のディレクトリ)に作業ディレクトリを移動します。 |
親の親のディレクトリに移動 | cd ../.. | 上記の特別なパスを使った応用です。 親のディレクトリからみて親のディレクトリ、つまり祖父母のディレクトリに作業ディレクトリを移動します。 |
ファイル名の変更 | mv a.txt b.txt | a.txtの名前をb.txtに変更します。mvの代わりにcpを使うと、a.txtが削除されずに残ります。 |
ファイルの移動/名前の変更1 | mv a.txt Dir/b.txt | a.txtの名前をb.txtに変更しつつ、Dir/に移動します。mvの代わりにcpを使うと、a.txtが削除されずに残ります。 |
ファイルの移動/名前の変更2 | mv Dir1/a.txt Dir2/b.txt | 深い階層にあるファイル名を変更することも可能です。 Dir1にあるa.txtの名前をb.txtに変更しつつ、Dir2に移動します。mvの代わりにcpを使うと、a.txtが削除されずに残ります。 |
ディレクトリのコピー | cp -r Dir1 Dir2 | 作業ディレクトリにDir1ディレクトリが存在するときに、 そのサブディレクトリが抱えているすべてのファイル毎複製して、Dir2という名前のディレクトリとして保存します. |