ファイルやフォルダの指定

13.3. ファイルやフォルダの指定

いくつかのコマンドは、ファイルやフォルダの情報を表示したり操作します。 対象の指定に、ファイル名やパスを使います。

GUIのファイル操作で、通常はファイル名で対象を認識し、同名のファイルの区別が必要になったら親フォルダや祖先のフォルダ、そしてパスを使いました。 ファイルとフォルダの章でホームなどよく使うフォルダやパスの概念 11.8. 階層ファイルシステム を把握してからこの先に進んでください。

情報表示 #

ls は Finder ウィンドウのようにフォルダの情報を出力するコマンドです (名前はlist からきています)。

ls
Applications    Documents       Library         Music           Public
Desktop         Downloads       Movies          Pictures        math.pdf

ところでこれはどこのフォルダの内容でしょうか?

カレントディレクトリ #

Finder でウィンドウタイトルに表示されるカレントフォルダのように、シェルも現在作業しているフォルダを持ちます。 これを カレントディレクトリと呼びます。 カレントフォルダでも良いのですが、慣習としてシェルの操作中はディレクトリと呼びます。

カレントディレクトリは pwd コマンドで確認することができます。(名前の由来は print working directory ですが覚える必要はありません)

pwd
/home/1230045600

この実行結果は、カレントディレクトリはルートディレクトリの /home ディレクトリの下の 1230045600 ディレクトリであることを意味しています。番号の部分はみなさんの共通IDになっていることでしょう。

ここは実はユーザの「ホーム」です。 新しくターミナルを開いたとき、シェルのカレントディレクトリはホームであることが一般的です。

ECCS のiMac環境でホームのパス (の文字列表現) が `/home/1230045600` という形式の文字列であることだけは、関連する演習のあいだは暗記してください。

本当にここはホームなのでしょうか? いくつか確認方法があります。
1つめは、カレントディレクトリでFinderを開く機能です。

open .
`open` がコマンド名 `.` がパラメータです。 これまで同様にコマンド名とパラメータはスペース で区切り、打ち終えたらリターン を惜します。 右のようにFinderウィンドウが開いてホームが表示されます。 ターミナルとFinder を連携させて使うと理解が早いことでしょう。
![](/eccs/finder-home-utid.png)
ホームディレクトリのお仕着せのフォルダは Finder では翻訳されています。 そのため、ホームだけ一見対応が分かりにくいので注意してください。 |ls|Applications|Desktop|Documents|Downloads|Library|Movies|Music|Public|Pictures| |:---:|:---------:|:------:|:-------:|:------:|:-----:|:----:|:---:|:----:|:------:| |Finder|アプリケーション|デスクトップ|書類|ダウンロード|(隠されている)|ムービー|ミュージック|パブリック|ピクチャ|
`open` コマンドは mac 専用です。
ホームであることの傍証としては、ターミナルのウィンドウタイトルの表示とアイコンや、シェルプロンプトのチルダの `~` の文字もあげられます。

ファイルやフォルダの指定 #

このページで紹介した ls コマンドも open コマンドも、対象のフォルダを示すをパラメータにとり、以下のように使います。

ls パス
open パス

パスとはルート / から対象のファイルやフォルダまでの親子関係の列について、フォルダ名を順に並べて / でつなげた文字列と学びました。pwd が表示する /home/1230045600 というような文字列もこの形式です。 これらを毎回タイプするのは大変なので、よくある使い方に対応する、省略記法が用意されています。

ドット . はカレントディレクトリをあらわします。また チルダ ~ はホームディレクトリを表します。 ターミナルを起動した初期状態でカレントディレクトリはホームなので、以下のコマンドはすべて同じホームを対象とします。

ls .
ls ~
もちろん ~ の代わりに /home/1230045600 とタイプしても同じです。
open も同じです
open .
open ~
open /home/1230045600

冒頭の例のように `ls` はあまりにもよく使うので `.` すらも省略できます。 つまり `ls .` と `ls` が同じ意味です。

ファイル・フォルダ名 #

ファイル名やフォルダ名は、カレントディレクトリの子の、という意味になります。 たとえばダウンロードフォルダを指定するには Downloads とタイプします。大文字小文字に注意して入力してください。

`Dow`までタイプしたところでタブ キーを押すと `Downloads` と残りが自動で補完されます。

ls Downloads
10.pdf
9.pdf
Academic_Calendar_of_2023-2024 _MayFestivalScheduleChanged.pdf
HWB
HWB.zip

表示される内容は、ユーザ次第でかわり、上記は一例です。

参考 open の他の使い方
`open`コマンドは、おおむね、GUIでアイコンをダブルクリックすることに相当します。 - アプリケーションの起動 `-a` オプションに続いてアプリケーションの名前を指定します。次はX11を起動する例です。
open -a X11
- ファイルを開く
open filename.pdf
カレントディレクトリに `filename.pdf` があるとしたら、このコマンドはFinderで該当のアイコンをダブルクリックすることと同じ動作をします。
open -a Preview filename.pdf
のようにすることによって、使うアプリケーションを明示的に指定することもできます。 テキストファイルを開く際にテキストエディットで開くことはよくあるので、専用の `-e` オプションが用意されています。
open -e filename.html
- ウェブの閲覧
open https://hwb.ecc.u-tokyo.ac.jp/
のように open コマンドに URL をパラメータとして渡すと、ブラウザを起動して指定した URL を表示します。
パラメータとオプション ファイルやフォルダの指定 便利な利用法
このサイトは開発版の はいぱーワークブック です.