1. ホーム
  2. オペレーティングシステム
  3. ユニックス/BSD

Unix系ディレクトリ操作コマンド概要

2022-01-26 14:06:18

ディレクトリとは、ファイル名や関連情報を保存することを目的としたファイルのことです。通常のファイル、特殊なファイル、ディレクトリにかかわらず、すべてのファイルはディレクトリの中に含まれています。

UNIXでは、ファイルやディレクトリを整理するために階層構造を採用しています。この構造は、しばしばディレクトリツリーと呼ばれる。ツリーにはルートノードと呼ばれるスラッシュ文字(/)があり、他のすべてのディレクトリはその下に含まれています。

ホームディレクトリ
ホームディレクトリは、最初にログインしたときにいたディレクトリです。

ほとんどの作業は、ホームディレクトリとカスタムサブディレクトリで行われます。

任意のディレクトリで以下のコマンドを実行することで、いつでもホームディレクトリに切り替えることができます。

コピーコード
コードは以下の通りです。
$cd ~

ここで、~はホームディレクトリを表します。他のユーザーのホームディレクトリにジャンプしたい場合は、以下のコマンドを使用します。
コピーコード
コードは以下の通りです。
cd ~ユーザー名
/

最寄りのディレクトリへのジャンプは、以下のコマンドで可能です。
コピーコード
コードは以下の通りです。
$cd -


絶対/相対パス名
ディレクトリは、ルートディレクトリ(/)を頂点とする階層構造になっています。階層内のファイルの位置は、そのパスで表されます。

パス名は、ルートとの関係を記述する場合は絶対パスとなり、絶対パス名は常に/で始まります。

絶対ファイル名の例です。

コピーコード
コードは以下の通りです。
/etc
/etc/passwd
/ユーザー/sjones/chem
/dev/rdsk

パスは、現在の作業ディレクトリからの相対パスも可能です。相対パスは決して / で始まりません。ユーザーamroodのホームディレクトリからの相対パスは次のようになります。
コピーコード
コードは以下の通りです。
ケム
個人
/

ファイルシステムの階層を確認するには、いつでも pwd コマンドを入力すると、現在の作業ディレクトリが表示されます。
コピーコード
コードは以下の通りです。
$pwd
/ユーザー0/ホーム


カタログ一覧
ディレクトリ内のファイルを一覧表示するには、次の構文を使用します。

コピーコード
コードは以下の通りです。
ls ディレクトリ名

次の例は、/usr/local ディレクトリに含まれるすべてのファイルの一覧を表示します。
コピーコード
コードは以下の通りです。
ls /usr
X11 ビン gimp jikes sbin
ace doc includelib 共有
アトークなど インフォマンアミ


ディレクトリを作成する
以下のコマンドでディレクトリを作成します。

コピーコード
コードは以下の通りです。
mkdir dirname

この場合、dirnameは作成したいディレクトリの絶対パス名または相対パス名です。例えば、コマンド
コピーコード
コードは以下の通りです。
$mkdir mydir

カレントディレクトリにmydirというディレクトリを作成します。
コピーコード
コードは以下の通りです。
mkdir /tmp/test-dir

このコマンドは、/tmp ディレクトリにディレクトリ test-dir を作成します。コマンド mkdir は、要求されたディレクトリを正常に作成した場合、何も出力しません。

コマンドラインで複数のディレクトリを指定した場合、mkdirはそれぞれのディレクトリを作成します。たとえば

コピーコード
コードは以下の通りです。
$mkdir docs pub

カレントディレクトリにdocsとpubのディレクトリを作成します。

親ディレクトリを作成する
ディレクトリを作成したいとき、その親ディレクトリが存在しないことがあります。この場合、mkdirは以下のようなエラーメッセージを出します。

コピーコード
コードは以下の通りです。
mkdir /tmp/amrood
/{br mkdir ディレクトリ "/tmp/amrood/test" の作成に失敗しました。
そのようなファイルやディレクトリはありません

この場合、mkdirコマンドの-pオプションを指定します。必要なディレクトリをすべて作成してくれます。例えば
コピーコード
コードは以下の通りです。
$mkdir -p /tmp/amrood

上記のコマンドは、必要な親ディレクトリを作成します。

ディレクトリを削除する
ディレクトリの削除は、次のように rmdir コマンドで行います。

コピーコード
コードは以下の通りです。
ディレクトリ名

注:ディレクトリを削除する場合は、そのディレクトリが空であることを確認してください。これは、このディレクトリにファイルやサブディレクトリが存在しないことを意味します。

以下のように、複数のディレクトリを一度に作成することができます。
/

コピーコード
コードは以下の通りです。
ディレクトリ名1 ディレクトリ名2 ディレクトリ名3

上記のコマンドは、ディレクトリ dirname1, dirname2, dirname2 が空である場合に、これらを削除します。削除に成功した場合、rmdirコマンドは何も出力しません。

ディレクトリを変更する
cdコマンドは、ホームディレクトリを変更する以外にも、有効な絶対パスまたは相対パスを引数として、任意のディレクトリにジャンプすることができます。構文は以下のとおりです。 {cd
[...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...] [...]