ファイルとディレクトリのナビゲーション
最終更新日:2024-11-22 | ページの編集
所要時間: 40分
概要
質問
- コンピュータ上をどのように移動できますか?
- 自分の持っているファイルやディレクトリをどのように確認できますか?
- コンピュータ上のファイルやディレクトリの場所をどのように指定しますか?
目的
- ファイルとディレクトリの類似点と相違点を説明する。
- 絶対パスを相対パスに、またはその逆に変換する。
- 特定のファイルやディレクトリを識別する絶対パスと相対パスを構築する。
- シェルコマンドの動作を変更するためにオプションと引数を使用する。
- タブ補完の使用方法を実演し、その利点を説明する。
シェルでファイルシステムを紹介しナビゲートすること (ファイルとディレクトリのナビゲーション セクションでカバー) は混乱を招くことがあります。学習者がターミナルとGUIファイルエクスプローラーの両方を 並べて開き、ターミナルを使用してシステムをナビゲートする間にコンテンツやファイル構造を確認できるようにすることをお勧めします。
ファイルとディレクトリを管理するオペレーティングシステムの部分はファイルシステムと呼ばれます。 これはデータをファイル(情報を保持するもの)と、 ディレクトリ(「フォルダ」とも呼ばれる。ファイルや他のディレクトリを保持するもの)に整理します。
ファイルやディレクトリを作成、確認、名前変更、削除するために頻繁に使用されるコマンドがいくつかあります。 これらを探求し始めるために、開いているシェルウィンドウを使用します。
まず、自分がどこにいるかを確認するために、pwd
というコマンドを実行します
(これは「print working
directory」の略です)。ディレクトリは場所のようなもので、
シェルを使用している間、常に現在の作業ディレクトリと呼ばれる1つの場所にいます。
コマンドは主に現在の作業ディレクトリ、つまり「ここ」でファイルを読み書きするので、
コマンドを実行する前に自分がどこにいるのかを知ることが重要です。
pwd
を実行すると現在の場所が表示されます。
出力
/Users/nelle
ここで、 コンピュータの応答は/Users/nelle
となっており、
これはNelleのホームディレクトリです。
ホームディレクトリのバリエーション
ホームディレクトリのパスは、オペレーティングシステムによって異なります。
Linuxでは、/home/nelle
のように見えるかもしれませんし、
WindowsではC:\Documents and Settings\nelle
や
C:\Users\nelle
に似ているかもしれません。
(Windowsのバージョンによって少し異なる場合があります。)
今後の例では、Macの出力をデフォルトとして使用していますが、
LinuxやWindowsの出力も若干異なる可能性がありますが、概ね似ています。
また、pwd
コマンドがユーザーのホームディレクトリを返すと仮定します。
pwd
が異なるものを返す場合、cd
を使用してそこに移動する必要があり、
このレッスンの一部のコマンドはそのままでは機能しない場合があります。
cd
コマンドの詳細については他のディレクトリの探索を参照してください。
「ホームディレクトリ」が何であるかを理解するために、 ファイルシステム全体がどのように構成されているかを見てみましょう。 この例のために、科学者Nelleのコンピュータのファイルシステムを例に示します。 この後、自分のファイルシステムを探索するためのコマンドを学びます。 自分のファイルシステムは同様に構築されていますが、完全には一致しません。
Nelleのコンピュータのファイルシステムは次のようになっています。
ファイルシステムは逆さの木のように見えます。
最上位のディレクトリはルートディレクトリで、
それ以外のすべてを保持します。
これはスラッシュ文字/
単独で表されます。
この文字は、/Users/nelle
の先頭にあるスラッシュでもあります。
そのディレクトリの中には、他にもいくつかのディレクトリがあります:
bin
(いくつかの組み込みプログラムが格納されている場所)、
data
(様々なデータファイル用)、
Users
(ユーザーの個人ディレクトリが格納されている場所)、
tmp
(長期保存が必要でない一時ファイル用)などです。
現在の作業ディレクトリ/Users/nelle
が/Users
の中に格納されていることは、
その名前の最初の部分が/Users
であることから分かります。
同様に、
/Users
がルートディレクトリ/
の中に格納されていることは、
その名前が/
で始まっていることから分かります。
スラッシュ
/
文字には2つの意味があることに注意してください。
ファイルやディレクトリ名の先頭に現れるときはルートディレクトリを指します。
パスの内部に現れるときは、単なる区切り文字です。
/Users
の下には、
Nelleのマシンのアカウントを持つ各ユーザーのための1つのディレクトリがあります。
彼女の同僚imhotepとlarryも含まれます。
ユーザーimhotepのファイルは/Users/imhotep
に格納され、
ユーザーlarryのファイルは/Users/larry
に格納されています。
そして、Nelleのファイルは/Users/nelle
に格納されています。
ここでの例ではNelleがユーザーです。
そのため、ホームディレクトリとして/Users/nelle
を取得します。
通常、新しいコマンドプロンプトを開くと、
ホームディレクトリにいる状態から始まります。
次に、自分のファイルシステムの内容を確認するコマンドを学びます。
ホームディレクトリの内容を確認するには、ls
を実行します:
出力
Applications Documents Library Music Public
Desktop Downloads Movies Pictures
(オペレーティングシステムやファイルシステムのカスタマイズ方法によって、 結果が若干異なる場合があります。)
ls
は、現在のディレクトリ内のファイルやディレクトリの名前を表示します。
-F
オプションを使用すると、
出力に分類記号を追加して、よりわかりやすくすることができます。
- 末尾の
/
は、ディレクトリであることを示します。 -
@
はリンクを示します。 -
*
は実行可能ファイルを示します。
シェルのデフォルト設定によっては、 ファイルやディレクトリかどうかを示すために色分けが使用される場合もあります。
出力
Applications/ Documents/ Library/
Music/ Public/
Desktop/ Downloads/ Movies/ Pictures/
ここで、 ホームディレクトリにはサブディレクトリのみが含まれていることがわかります。 出力に分類記号が付いていない名前は、 現在の作業ディレクトリ内のファイルです。
ターミナルのクリア
画面が混雑しすぎた場合は、clear
コマンドを使用してターミナルをクリアできます。
以前のコマンドには、↑および↓キーで
1行ずつ移動するか、ターミナル内でスクロールすることでアクセスできます。
ヘルプの取得
ls
には多くのオプションがあります。コマンドの使い方や受け付けるオプションを知る方法は2つあり、環境によってはどちらか一方しか動作しない場合があります。
- コマンドに
--help
オプションを付ける(LinuxやGit Bashで利用可能)、例:
- マニュアルを読むために
man
を使用する(LinuxやmacOSで利用可能):
次に、それぞれの方法について説明します。
組み込みコマンドのヘルプ
一部のコマンドは、ファイルシステム上の個別のプログラムではなく、Bashシェルに組み込まれています。例としてcd
(ディレクトリを変更するコマンド)があります。No manual entry for cd
というメッセージが表示された場合は、代わりにhelp cd
を試してください。
help
コマンドを使用すると、 Bashの組み込みコマンド
の使用情報を取得できます。
--help
オプション
ほとんどのbashコマンドやbash内で実行するために作成されたプログラムは、
--help
オプションをサポートしており、コマンドやプログラムの使用方法に関する詳細情報を表示します。
出力
Usage: ls [OPTION]... [FILE]...
List information about the FILEs (the current directory by default).
Sort entries alphabetically if neither -cftuvSUX nor --sort is specified.
Mandatory arguments to long options are mandatory for short options, too.
-a, --all do not ignore entries starting with .
-A, --almost-all do not list implied . and ..
--author with -l, print the author of each file
-b, --escape print C-style escapes for nongraphic characters
--block-size=SIZE scale sizes by SIZE before printing them; e.g.,
'--block-size=M' prints sizes in units of
1,048,576 bytes; see SIZE format below
-B, --ignore-backups do not list implied entries ending with ~
-c with -lt: sort by, and show, ctime (time of last
modification of file status information);
with -l: show ctime and sort by name;
otherwise: sort by ctime, newest first
-C list entries by columns
--color[=WHEN] colorize the output; WHEN can be 'always' (default
if omitted), 'auto', or 'never'; more info below
-d, --directory list directories themselves, not their contents
-D, --dired generate output designed for Emacs' dired mode
-f do not sort, enable -aU, disable -ls --color
-F, --classify append indicator (one of */=>@|) to entries
... ... ...
短いオプションと長いオプションの使い分け
短いオプションと長いオプションが両方存在する場合:
- コマンドを直接シェルに入力する場合は、入力を最小限にして作業を迅速に進めるために短いオプションを使用します。
- スクリプト内では長いオプションを使用し、読みやすさを重視します。 これにより、何度も読み返すスクリプトを簡単に理解できます。
man
コマンド
ls
について学ぶもう一つの方法は、次のように入力することです:
このコマンドはターミナルをls
コマンドとそのオプションについての説明が記載されたページに切り替えます。
man
ページをナビゲートするには、
↑および↓キーを使用して1行ずつ移動するか、
bおよびSpacebarを使用して1ページ分上または下にスキップします。
man
ページ内で文字や単語を検索するには、
/を押し、その後検索したい文字や単語を入力します。
検索結果が複数ある場合、 N(前方への移動)や
Shift+N(後方への移動)を使って結果間を移動できます。
終了するには、qを押します。
ウェブでのマニュアルページ
コマンドのヘルプにアクセスするもう一つの方法は、 ウェブブラウザを使用してインターネットで検索することです。 検索クエリに「unix man page」というフレーズを含めると、 関連する結果を見つけやすくなります。
GNUは、 マニュアルや GNUコアユーティリティ へのリンクを提供しており、 このレッスンで紹介した多くのコマンドが含まれています。
より多くのls
オプションの探求
2つのオプションを同時に使用することもできます。-l
オプションを使用するとls
コマンドはどう動作しますか?
また、-l
オプションと-h
オプションの両方を使用するとどうなりますか?
出力にはこのレッスンで取り扱わないプロパティ(例えば、ファイルのパーミッションや所有権)に関するものも含まれますが、それ以外の部分は役立つはずです。
-l
オプションを使用すると、ls
は長いリスト形式で出力され、
ファイルやディレクトリ名だけでなく、ファイルサイズや最終変更時間などの追加情報も表示されます。
-h
オプションと-l
オプションの両方を使用すると、
ファイルサイズが「人間が読みやすい」形式になり、例えば5.3K
のように表示されます。
逆時系列順でのリスト表示
デフォルトでは、ls
はディレクトリ内の内容を名前のアルファベット順にリストします。
ls -t
コマンドは、名前のアルファベット順ではなく、最終変更時刻順に項目をリストします。
また、ls -r
コマンドはディレクトリの内容を逆順でリストします。
-t
オプションと-r
オプションを組み合わせた場合、どのファイルが最後に表示されますか?
ヒント:最終変更日の確認には、-l
オプションを使用する必要があるかもしれません。
-rt
オプションを使用すると、最後に表示されるのは最も最近変更されたファイルです。
これは、最新の編集内容を見つけたり、新しい出力ファイルが書き込まれたかを確認する際に非常に便利です。
他のディレクトリを探索する
ls
は現在の作業ディレクトリだけでなく、
別のディレクトリの内容をリストするためにも使用できます。
Desktop
ディレクトリを例にしてみましょう。
ls -F Desktop
、つまりls
コマンドに-F
オプションと引数
Desktop
を付けて実行します。 引数Desktop
は、
現在の作業ディレクトリ以外のリストを取得したいことをls
に伝えます:
出力
shell-lesson-data/
現在の作業ディレクトリにDesktop
という名前のディレクトリが存在しない場合、
このコマンドはエラーを返します。通常、Desktop
ディレクトリはホームディレクトリ内に存在します。
ホームディレクトリが現在のbashシェルの作業ディレクトリであると仮定しています。
出力は、Desktop
ディレクトリ内のすべてのファイルやサブディレクトリをリストします。
これには、このレッスンのセットアップ時にダウンロードしたshell-lesson-data
ディレクトリも含まれます。
(ほとんどのシステムでは、シェル内でのDesktop
ディレクトリの内容が、すべての開いているウィンドウの背後にあるグラフィカルユーザーインターフェースでアイコンとして表示されます。
これはあなたの環境でも同じかどうか確認してみてください。)
階層的に整理することで、作業を把握しやすくなります。ホームディレクトリに数百のファイルを置くことも可能ですが、 ちょうど机の上に数百枚の紙を積み上げるようなもので、意味のある名前のサブディレクトリに整理されているほうが見つけやすくなります。
shell-lesson-data
ディレクトリがDesktop
ディレクトリ内にあることがわかったので、2つのことができます。
1つ目は、先ほどと同じ方法で、ディレクトリ名をls
に渡してその内容を確認することです:
出力
exercise-data/ north-pacific-gyre/
2つ目は、実際に別のディレクトリに移動して、ホームディレクトリ以外の場所に作業ディレクトリを変更することです。
場所を変更するコマンドはcd
で、その後にディレクトリ名を指定して作業ディレクトリを変更します。
cd
は「ディレクトリを変更する」(change
directory)を意味しますが、少し誤解を招きます。
このコマンドはディレクトリそのものを変更するわけではなく、
シェルの現在の作業ディレクトリを変更します。
言い換えれば、シェルの設定として現在いるディレクトリを変更するのです。
cd
コマンドは、グラフィカルインターフェースでフォルダをダブルクリックしてその中に入る操作に似ています。
先ほど見たexercise-data
ディレクトリに移動したいとします。この場合、次の一連のコマンドを使用します:
これらのコマンドにより、ホームディレクトリからDesktop
ディレクトリ、次にshell-lesson-data
ディレクトリ、
最後にexercise-data
ディレクトリへと移動します。
cd
は何も出力しないことに気づくでしょう。これは正常です。
多くのシェルコマンドは、成功した場合には何も画面に表示しません。
ただし、pwd
を実行すれば、
現在の場所が/Users/nelle/Desktop/shell-lesson-data/exercise-data
であることが確認できます。
現在、引数なしでls -F
を実行すると、
/Users/nelle/Desktop/shell-lesson-data/exercise-data
の内容がリストされます。
これは、現在いる場所だからです:
出力
/Users/nelle/Desktop/shell-lesson-data/exercise-data
出力
alkanes/ animal-counts/ creatures/ numbers.txt writing/
これで、ディレクトリツリーを下に移動する方法(つまり、サブディレクトリに入る方法)がわかりましたが、 上に移動するにはどうすればよいでしょうか(つまり、ディレクトリを出て親ディレクトリに移動する方法)? 以下を試してみるかもしれません:
エラー
-bash: cd: shell-lesson-data: No such file or directory
しかし、エラーになります!これはなぜでしょうか?
これまでの方法では、
cd
は現在のディレクトリ内のサブディレクトリしか認識できません。
現在の場所の上位ディレクトリを見るにはいくつかの方法がありますが、まずは最も簡単な方法から始めます。
シェルには1つ上のディレクトリに移動するためのショートカットがあります。この方法は次のとおりです:
..
は「このディレクトリを含むディレクトリ」、つまり現在のディレクトリの親を意味する特別なディレクトリ名です。
実際に、cd ..
を実行した後にpwd
を実行すると、/Users/nelle/Desktop/shell-lesson-data
に戻っていることがわかります:
出力
/Users/nelle/Desktop/shell-lesson-data
特別なディレクトリ..
は通常ls
を実行しても表示されません。表示させるには、ls -F
に-a
オプションを追加します:
出力
./ ../ exercise-data/ north-pacific-gyre/
-a
は「すべてを表示」(hiddenファイルを含む)を意味します;
これにより、.
や..
など、.
で始まるファイルやディレクトリ名を表示させることができます。
たとえば、..
(/Users/nelle
内にいる場合、/Users
ディレクトリを指します)。
また、
.
と呼ばれるもう1つの特別なディレクトリも表示されます。
これは「現在の作業ディレクトリ」を意味します。
冗長に思えるかもしれませんが、すぐにこれを使用する場面がわかるでしょう。
ほとんどのコマンドラインツールでは、複数のオプションを1つの-
でスペースを入れずに組み合わせることができます。
たとえば、ls -F -a
はls -Fa
と同等です。
他の隠しファイル
隠しディレクトリの..
や.
に加えて、.bash_profile
というファイルが表示される場合もあります。
このファイルには通常、シェルの設定が含まれています。他にも.
で始まるファイルやディレクトリが見えることがあります。
これらは通常、コンピュータ上のさまざまなプログラムの設定に使用されるファイルやディレクトリです。
接頭辞.
は、標準のls
コマンドを使用したときにこれらの設定ファイルが端末を煩雑にしないようにするために使用されます。
これで、コンピュータ上のファイルシステムをナビゲートするための基本コマンド、
pwd
、ls
、cd
がわかりました。
これらのコマンドのいくつかのバリエーションを探りましょう。
引数を指定せずにcd
と入力した場合、どうなるでしょうか?
何が起きたのかを確認するには?pwd
が答えを教えてくれます!
出力
/Users/nelle
引数なしのcd
はホームディ
レクトリに戻ることがわかります。 これは、自分のファイルシステムで迷子になったときに便利です。
先ほどのexercise-data
ディレクトリに戻ってみましょう。前回は3つのコマンドを使いましたが、
実際には、ディレクトリのリストをまとめて指定して1回でexercise-data
に移動することもできます:
pwd
とls -F
を実行して、正しい場所に移動したことを確認してください。
データディレクトリから1つ上のレベルに移動したい場合は、cd ..
を使用できます。
しかし、現在の場所に関係なく任意のディレクトリに移動する別の方法もあります。
これまでディレクトリ名やディレクトリパスを指定する際に使用してきたのは相対パスでした。
ls
やcd
のようなコマンドで相対パスを使用すると、現在の場所からその場所を探します。
しかし、ルートディレクトリから始まる絶対パスを指定することで、 そのファイルシステム上のどこからでも1つのディレクトリを指定できます。 先頭のスラッシュ(/)はファイルシステムのルートからパスをたどることをコンピュータに指示するため、 コマンドを実行する場所に関係なく、常に正確に1つのディレクトリを指します。
これにより、shell-lesson-data
ディレクトリにどこからでも移動できます(たとえば、exercise-data
内からでも)。
探している絶対パスを見つけるには、pwd
を使用して必要な部分を抽出します:
出力
/Users/nelle/Desktop/shell-lesson-data/exercise-data
pwd
とls -F
を実行して、期待通りのディレクトリにいることを確認してください。
もう2つのショートカット
シェルは、パスの先頭にあるチルダ(~
)文字を
「現在のユーザーのホームディレクトリ」を意味するものとして解釈します。
たとえば、Nelleのホームディレクトリが/Users/nelle
の場合、~/data
は
/Users/nelle/data
と同等です。これは、パスの最初の文字として使用される場合にのみ機能します。
例えば、here/there/~/elsewhere
は
here/there/Users/nelle/elsewhere
を意味しません。
もう1つのショートカットは-
(ハイフン)文字です。cd
は-
を
「以前にいたディレクトリ」として解釈します。
これにより、完全なパスを覚えて入力する必要がなくなり、
非常に効率的に2つのディレクトリ間を 行き来することができます。
たとえば、cd -
を2回実行すると、元のディレクトリに戻ります。
cd ..
とcd -
の違いは、
前者は「上に移動」するのに対し、後者は「戻る」ことです。
試してみましょう!
まず、~/Desktop/shell-lesson-data
に移動します(すでにそこにいるはずです)。
次に、exercise-data/creatures
ディレクトリにcd
します。
次に、以下を実行すると
~/Desktop/shell-lesson-data
に戻ります。
さらにもう一度cd -
を実行すると、
~/Desktop/shell-lesson-data/exercise-data/creatures
に戻ります。
絶対パスと相対パス
/Users/nelle/data
から開始して、
Nelleがホームディレクトリ(/Users/nelle
)に移動するために使用できるコマンドは次のうちどれでしょうか?
cd .
cd /
cd /home/nelle
cd ../..
cd ~
cd home
cd ~/data/..
cd
cd ..
- いいえ:
.
は現在のディレクトリを意味します。 - いいえ:
/
はルートディレクトリを意味します。 - いいえ:Nelleのホームディレクトリは
/Users/nelle
です。 - いいえ:このコマンドは2レベル上に移動し、
/Users
で終了します。 - はい:
~
はユーザーのホームディレクトリを意味し、この場合は/Users/nelle
です。 - いいえ:このコマンドは、現在のディレクトリ内に存在する場合に
home
ディレクトリに移動します。 - はい:複雑すぎますが正解です。
- はい:ユーザーのホームディレクトリに戻るショートカットです。
- はい:1レベル上に移動します。
相対パスの解決
以下のファイルシステム図を使用して、pwd
が/Users/thing
を表示している場合、
ls -F ../backup
はどのような出力を表示しますか?
../backup: No such file or directory
2012-12-01 2013-01-08 2013-01-27
2012-12-01/ 2013-01-08/ 2013-01-27/
original/ pnas_final/ pnas_sub/
- いいえ:
/Users
内にbackup
ディレクトリがあります。 - いいえ:これは
/Users/thing/backup
の内容ですが、..
を使用したため、1レベル上のものを要求しています。 - いいえ:先ほどの説明を参照してください。
- はい:
../backup/
は/Users/backup/
を指します。
ls
のリーディングテスト
以下のファイルシステム図を使用して、
pwd
が/Users/backup
を表示している場合、
-r
オプションはls
に逆順で表示するよう指示します。
以下の出力を得るにはどのコマンドを実行しますか?
出力
pnas_sub/ pnas_final/ original/
ls pwd
ls -r -F
ls -r -F /Users/backup
- いいえ:
pwd
はディレクトリの名前ではありません。 - はい:ディレクトリ引数なしの
ls
は現在のディレクトリ内のファイルとディレクトリをリストします。 - はい:絶対パスを明示的に使用しています。
シェルコマンドの一般的な構文
これまでにコマンド、オプション、引数を見てきましたが、 用語を体系的に整理するのが役立つかもしれません。
以下のコマンドを一般的な例として考え、 その構成要素に分解してみます:
ls
はコマンドで、-F
がオプション、
/
が引数です。
これまでに、1つのダッシュ(-
)で始まるもの(短いオプション)や、
2つのダッシュ(--
)で始まるもの(長いオプション)を見てきました。
[オプション]はコマンドの動作を変更し、
[引数]はコマンドが操作する対象(例:ファイルやディレクトリ)を指定します。
オプションや引数は、パラメータと呼ばれることもあります。
コマンドは複数のオプションや引数を持つことができますが、
常に必要というわけではありません。
オプションは特に引数を取らない場合、スイッチやフラグと呼ばれることもあります。 このレッスンでは用語としてオプションを使用します。
各部分はスペースで区切られています。ls
と-F
の間のスペースを省略すると、
シェルはls-F
というコマンドを探そうとしますが、これは存在しません。
また、大文字と小文字も重要です。
たとえば、ls -s
はファイルやディレクトリの名前とともにサイズを表示しますが、
ls -S
はサイズ順に並べ替えます。以下に例を示します:
出力
total 28
4 animal-counts 4 creatures 12 numbers.txt
4 alkanes 4 writing
なお、ls -s
で返されるサイズはブロック単位です。
これはオペレーティングシステムによって定義が異なるため、
例と同じ数値が得られない場合があります。
出力
animal-counts creatures alkanes writing numbers.txt
これらをすべてまとめると、先ほどのls -F /
コマンドは、
ルートディレクトリ/
内のファイルとディレクトリをリストします。
このコマンドから得られる出力例を以下に示します:
出力
Applications/ System/
Library/ Users/
Network/ Volumes/
Nelleのパイプライン:ファイルの整理
ファイルやディレクトリについてこれだけの知識を持ったNelleは、 タンパク質アッセイマシンが作成するファイルを整理する準備ができました。
彼女はnorth-pacific-gyre
というディレクトリを作成します
(データの出所を思い出せるようにするためです)。
このディレクトリには、アッセイマシンのデータファイルと
データ処理スクリプトが含まれます。
彼女の物理サンプルは、それぞれ彼女の研究室の慣例に従って
「NENE01729A」のようなユニークな10文字のIDでラベル付けされています。
このIDは、サンプルの場所、時間、深さ、およびその他の特性を記録するために
収集ログに使用されたものであり、
彼女はこれを各データファイルのファイル名に使用することにしました。
アッセイマシンの出力がプレーンテキストであるため、
ファイル名はNENE01729A.txt
、NENE01812A.txt
のようになります。
すべての1520個のファイルは同じディレクトリに保存されます。
現在のディレクトリshell-lesson-data
で、
Nelleは次のコマンドを使用してどのファイルがあるかを確認できます:
このコマンドは入力するのに少し長いですが、 シェルで「タブ補完」と呼ばれる機能を使用することで、 ほとんどの作業をシェルに任せることができます。 次のように入力してみてください:
そしてTab(キーボードのタブキー)を押すと、 シェルはディレクトリ名を自動的に補完します:
Tabをもう一度押すと何も起こりません。 候補が複数ある場合は、Tabを2回押すとすべてのファイルがリストされます。
次にNelleがGを押してからTabを再度押すと、 シェルは「goo」を追加します。これは「g」で始まるすべてのファイルが 「goo」という最初の3文字を共有しているためです。
これらのファイルすべてを確認するには、さらにTabを2回押します。
これは「タブ補完」と呼ばれるもので、 以降のツールでもたびたび目にすることになるでしょう。
まとめ
- ファイルシステムはディスク上の情報を管理する役割を果たします。
- 情報はファイルに保存され、ファイルはディレクトリ(フォルダ)に保存されます。
- ディレクトリは他のディレクトリを保存することもでき、それによってディレクトリツリーを形成します。
-
pwd
はユーザーの現在の作業ディレクトリを表示します。 -
ls [path]
は特定のファイルやディレクトリのリストを表示します;ls
だけを実行すると現在の作業ディレクトリをリストします。 -
cd [path]
は現在の作業ディレクトリを変更します。 - 多くのコマンドは単一の
-
で始まるオプションを取ります。 - パス内のディレクトリ名はUnixでは
/
で区切られますが、Windowsでは\
で区切られます。 -
/
単独では、ファイルシステム全体のルートディレクトリを意味します。 - 絶対パスは、ファイルシステムのルートからの位置を指定します。
- 相対パスは、現在の場所から始まる位置を指定します。
-
.
は現在のディレクトリを、..
は現在のディレクトリの1つ上のディレクトリを意味します。