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という名前のディレクトリとして保存します.