【Linux】ディレクトリの種類とパスについて(hands-on形式)

Linux
スポンサーリンク

※本サイトにはプロモーション・広告が含まれています(はづきのブログより)

※この記事は初心者向けに平易に解説しています。正確な理解をしたい人は専門書・専門家をあたっていただければと思います。また、この記事の情報におけるCPの動作結果については自己責任でお願いします。

はづき
はづき

こんにちは!はづきです

文系から一部上場IT企業に就職し、エンジニアをやっています

この記事では以下のLinux操作について解説していきます!
hands-on形式になっているので、実際に操作しながら確認してみてください!

  1. Linuxターミナル画面の見方がわかる
  2. Linuxの基本的なディレクトリの種類がわかる
  3. 絶対パス、相対パスの違いがわかる
  4. ディレクトリの移動・一覧表示ができる
  5. コマンドにオプションを指定することができる

 

<前提>
1.この記事はLinux hands-onシリーズの第1回となります
  前後の記事は以下をご参考ください

 第2回:【Linux】ディレクトリ・ファイルの作成と削除の方法

2.Linuxを動かすための環境構築ができていない方は以下をご参考ください

 参考:Ubuntuのインストール方法を解説~Windows PCでLinuxを動かす~

3.この記事ではLinuxターミナル画面の様子を以下のように表現します

 

<共有>
Linuxに関するまとめ記事は以下になります!
環境構築、Linuxの概要、コマンドごとの詳細、を記事にしています。ぜひご参考ください

スポンサーリンク

Linuxターミナル画面の見方

私たちが使い慣れているWindowsやmacOSのPCではGUI操作が基本です

一方で、LinuxではCUI操作が中心となるため、まずはLinuxターミナル画面の見方を説明します
※Linuxターミナル画面...Linuxコマンドを入力する画面

GUI...Graphical User Interface。
   マウスカーソルやアイコンなど、視覚的に分かりやすい操作形態
   私たちが普段使っているPCやスマホはこれ。

CUI...Character-based User Interface。
   コマンドを打ち込むことでPCを操作する操作形態
   慣れるまで時間がかかる。でもかっこいい。

 

まずはUbuntuアプリを起動してください
以下の黒い画面がLinuxターミナル画面です

起動方法はこちらを参考:
Ubuntuのインストール方法を解説~Windows PCでLinuxを動かす~

Ubuntuでは左から「ユーザー名」「ホスト名」「カレントディレクトリ」の順で表示されます

「$」をプロンプトと呼び、プロンプトの右にLinuxコマンドを入力して実行(Enter押下)することで、Linux PCを操作します

  • ユーザー名...環境構築の時に自分で設定したログイン中のユーザーの名前
  • ホスト名...Ubuntuを動かしているPCのドメイン名やIPアドレス
  • カレントディレクトリ...操作の起点となるディレクトリ ※以降で解説

※ホスト名はWindowsであれば「設定」から確認できます↓

ディレクトリの種類を理解する

先ほど「カレントディレクトリ」という用語を使いましたが、

Linuxではディレクトリの種類を理解することが重要です。以降では、ディレクトリの概念とLinuxで学ぶべきディレクトリの種類について解説します

 

「ディレクトリ」とは、WindowsPCで言うところの「フォルダー」です
画像やテキストファイルなどを入れる入れ物だと考えてください

カレントディレクトリとは(pwdコマンド)

Linuxではディレクトリを移動しながら作業を進めていきます
ディレクトリ内での現在位置を示すのがカレントディレクトリです

※この時点で「?」でもOK

まずは、カレントディレクトリを確認するコマンド「pwd」を実行してみましょう

「pwd」と入力して、Enterキーを押下してください

※Linuxでは時々処理中になったりフリーズしてしまうことがあります。
 そうした際は「ctrl + C」でキャンセルすることができます

実行した結果、「/home/hazukiblog」と出てきました
※「hazukiblog」の部分はみなさんのユーザー名が出ると思います

これは「homeディレクトリ配下のhazukiblogディレクトリがカレントディレクトリ」であることを表しています

「homeディレクトリ配下のhazukiblogディレクトリ」は実際にWindowsPCのGUIで確認することができます

例えば、このカレントディレクトリの状態で「ファイルを新規作成するLinuxコマンド」を実行すると、hazukiblogディレクトリ配下に新しいファイルが作成されます

つまり、作業の起点となるディレクトリがカレントディレクトリです

ホームディレクトリとは

ホームディレクトリはユーザーごとに作成されるディレクトリです

先ほど表示された「/home/hazukiblog」がホームディレクトリです

対象のユーザー以外からはファイルの読み書きをすることができません ※ただしrootユーザーは読み書き可能

「自分専用の作業スペース」というイメージが合うかと思います

また、ホームディレクトリは「~(チルダ)」で略称されます

hazukiblog@hazukiBlog:~$
#カレントディレクトリを表す「:」と「$」の間に「~」があるのは、#カレントディレクトリがホームディレクトリだったためです

ルートディレクトリとは

Linuxのディレクトリ構造の中で最上位にあるディレクトリがルートディレクトリです

先ほど表示された「/home/hazukiblog」のうち、homeディレクトリの一階層上にあるディレクトリ(/)がルートディレクトリになります

親ディレクトリと子ディレクトリとは

あるディレクトリから見て、一階層上のディレクトリを親ディレクトリ、一階層下のディレクトリを子ディレクトリと呼びます

先ほどの例では「/(ルートディレクトリ)」配下に「home」があり、「home」配下に「hazukiblog」というディレクトリがありました

このとき「home」から見て「/」のことを親ディレクトリ、「hazukiblog」のことを子ディレクトリと呼びます

 

Linuxのルートディレクトリ配下にはLinuxOSを構成するディレクトリ・ファイルが多数格納されています

今回はその中で「home」のみ紹介しましたが、理解を深めるうえで他のディレクトリにも興味があれば調べてみてください※今回のhands-onでは説明不要なため割愛

パスの概念を理解する

「/home/hazukiblog」といったディレクトリ階層を表す文字列をパスと呼びます

ディレクトリ階層は「/」でディレクトリ同士を区切ることで表現されており、絶対パスと相対パスの2種類存在します

絶対パスと相対パスとは

  1. 絶対パス...ルートディレクトリから表現したディレクトリ階層
  2. 相対パス...カレントディレクトリを起点としたディレクトリ階層
#以下のようなディレクトリ構成を例に説明します
/ #←ルートディレクトリ
┗ home
 ┗ hazukiblog
   ┗ dir1
    ┗ sample1.txt
 ┗ hazukiblogSub
   ┗ dir2
    ┗ sample2.txt

絶対パスは「/home/hazukiblog」のようにルートディレクトリ(/)から表現されたものです

例えば、「/home/hazukiblog/dir1/sample1.txt」はルートディレクトリから階層が表現されているため絶対パスです。これは「ルートディレクトリ配下のhazukiblogディレクトリ配下のdir1ディレクトリ配下のsample.txtファイル」を指しています

 

相対パスはカレントディレクトリを起点にディレクトリ階層を表現します

カレントディレクトリを「.」、親ディレクトリを「..」で表現するのが特徴的です

以下で、絶対パスと相対パスの関係を整理しました
※カレントディレクトリを「/home/hazukiblog」とする

No絶対パス相対パス
1/home/hazukiblog.
2/home..
3/home/hazukiblogSub../hazukiblogSub
4/home/hazukiblogSub/dir2/sample2.txt../hazukiblogSub/dir2/sample2.txt
5/home/hazukiblog/dir1./dir1 または dir1
6/home/hazukiblog/dir1/sample1.txt./dir1/sample1.txt または dir1/sample1.txt
※カレントディレクトリが「/home/hazukiblog」の場合で表現

ディレクトリの移動(cdコマンド)

ディレクトリ移動のコマンド「cd」を使うことでカレントディレクトリを変更することが可能です

cd {移動したいディレクトリの絶対パス or 相対パス}

以下のように実際にコマンドを入力して、Enterキーを押下することでディレクトリを移動してみましょう

  1. カレントディレクトリの確認(pwd)
    • 「/home/hazukiblog」がカレントディレクトリ
  2. 親ディレクトリに相対パスで移動(cd ../)
    • 絶対パスの場合、「cd /home」となる
  3. カレントディレクトリの確認(pwd)
    • 「/home」がカレントディレクトリ
  4. さらに親ディレクトリに相対パスで移動(cd ../)
    • 絶対パスの場合、「cd /」となる
  5. カレントディレクトリの確認(pwd)
    • 「/」がカレントディレクトリ
  6. ホームディレクトリに絶対パスで移動(cd /home/hazukiblog)
    • 相対パスの場合、「cd home/hazukiblog」または「cd ~」となる
  7. カレントディレクトリの確認(pwd)
    • 「home/hazukiblog」がカレントディレクトリ

ディレクトリの一覧表示(lsコマンド)

lsは指定したディレクトリ配下のディレクトリ・ファイルを一覧表示するコマンドです

ls {確認したいディレクトリの絶対パス or 相対パス}

ここではLinuxコマンド「/home」と「/(ルートディレクトリ)」配下のディレクトリとファイルを確認してみます

まずはWindows画面で、「/home」と「/」配下のディレクトリ・ファイルを確認してみましょう

次に以下のように実際にlsコマンドを使って、Linuxでディレクトリ・ファイルを一覧表示できることを確認してみましょう

※Windows画面で確認した通りのディレクトリが表示されると思います

※以下、Linuxターミナル画面(Ubuntu)
hazukiblog@hazukiBlog:~$ pwd #カレントディレクトリはホームディレクトリ
/home/hazukiblog

hazukiblog@hazukiBlog:~$ ls /home #絶対パスでhome配下を確認する
hazukiblog 
hazukiblog@hazukiBlog:~$ ls ../ #相対パスでhome配下を確認する
hazukiblog
 
hazukiblog@hazukiBlog:~$ ls / #絶対パスでルートディレクトリ配下を確認する
bin   dev  home  lib    lib64   lost+found  mnt  proc  run   snap  sys  usr  wslDjfJPM  wsldkMDfn
boot  etc  init  lib32  libx32  media       opt  root  sbin  srv   tmp  var  wslKloldj  wsljlLcbH
hazukiblog@hazukiBlog:~$ ls ../../ #相対パスでルートディレクトリ配下を確認する
bin   dev  home  lib    lib64   lost+found  mnt  proc  run   snap  sys  usr  wslDjfJPM  wsldkMDfn
boot  etc  init  lib32  libx32  media       opt  root  sbin  srv   tmp  var  wslKloldj  wsljlLcbH
hazukiblog@hazukiBlog:~$

コマンドにオプションを指定する(manコマンド)

Linuxのコマンドにはオプションという概念があります

例えば、lsコマンドに「-1」オプションを付けると1行に1ディレクトリ、1ファイルずつ表示させることができます。また、「-l」オプションを付けるとディレクトリ・ファイルの詳細情報を表示させることができます

ls {オプション} {確認したいディレクトリの絶対パス or 相対パス}

以下で、実際にオプションを付けて実行してみましょう

オプションを付けることで表示形式が変化することがわかると思います

hazukiblog@hazukiBlog:~$ ls -1 ../../ #「-1」オプションを指定
bin
boot
dev
etc
home
init
lib
lib32
lib64
libx32
lost+found
media
mnt
opt
proc
root
run
sbin
snap
srv
sys
tmp
usr
var
wslDjfJPM
wslKloldj
wsldkMDfn
wsljlLcbH
hazukiblog@hazukiBlog:~$
hazukiblog@hazukiBlog:~$ ls -l ../../  #「-l」オプションを指定
total 2136
lrwxrwxrwx   1 root root       7 May  2  2023 bin -> usr/bin
drwxr-xr-x   2 root root    4096 Apr 18  2022 boot
drwxr-xr-x  16 root root    3560 Feb 11 10:25 dev
drwxr-xr-x  73 root root    4096 Feb 11 10:25 etc
drwxr-xr-x   4 root root    4096 Nov  5 17:32 home
-rwxrwxrwx   1 root root 2102392 Nov 11 06:29 init
lrwxrwxrwx   1 root root       7 May  2  2023 lib -> usr/lib
lrwxrwxrwx   1 root root       9 May  2  2023 lib32 -> usr/lib32
lrwxrwxrwx   1 root root       9 May  2  2023 lib64 -> usr/lib64
lrwxrwxrwx   1 root root      10 May  2  2023 libx32 -> usr/libx32
drwx------   2 root root   16384 Nov  5 16:55 lost+found
drwxr-xr-x   2 root root    4096 May  2  2023 media
drwxr-xr-x   5 root root    4096 Nov  5 16:55 mnt
drwxr-xr-x   2 root root    4096 May  2  2023 opt
dr-xr-xr-x 209 root root       0 Feb 11 10:25 proc
drwx------   4 root root    4096 Nov  5 17:32 root
drwxr-xr-x  20 root root     580 Feb 11 10:39 run
lrwxrwxrwx   1 root root       8 May  2  2023 sbin -> usr/sbin
drwxr-xr-x   8 root root    4096 May  2  2023 snap
drwxr-xr-x   2 root root    4096 May  2  2023 srv
dr-xr-xr-x  11 root root       0 Feb 11 10:25 sys
drwxrwxrwt   6 root root    4096 Feb 11 11:21 tmp
drwxr-xr-x  14 root root    4096 May  2  2023 usr
drwxr-xr-x  13 root root    4096 May  2  2023 var
drwx------   2 root root    4096 Nov 14 16:03 wslDjfJPM
drwx------   2 root root    4096 Nov 14 16:03 wslKloldj
drwx------   2 root root    4096 Nov 14 16:03 wsldkMDfn
drwx------   2 root root    4096 Nov 14 16:03 wsljlLcbH

オプションは「man」コマンドで確認できます

man {確認したいコマンド}
#例.man ls

「man」コマンドを実行するとオプション確認画面に切り替わります。ここでは「↑」「↓」キーでオプションを確認することができます

もとの画面に戻りたいときは「q」を押下してください

↓「man ls」を実行してlsコマンドのオプションを確認してます

 

以上で、ディレクトリの種類とパスについての説明を終わります 

みなさんのお役に立てば幸いです。最後まで読んでいただきありがとうございました

おしまい

<共有>
1.もっと詳しい使い方・オプションについて知りたい方は以下のまとめ記事から「コマンドごとの解説ページ」をご参考ください

2.Linux hands-onシリーズの第2回は以下のリンクから!

第2回:【Linux】ディレクトリ・ファイルの作成と削除の方法

コメント

タイトルとURLをコピーしました