Unix-directories

提供:Dev Guides
移動先:案内検索

Unix/Linux-ディレクトリ管理

この章では、Unixでのディレクトリ管理について詳しく説明します。

ディレクトリは、ファイル名と関連情報を保存するためのソロジョブのファイルです。 すべてのファイルは、通常、特殊、またはディレクトリに関係なく、ディレクトリに含まれています。

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

ホームディレクトリ

最初にログインしたときに自分自身を見つけるディレクトリは、ホームディレクトリと呼ばれます。

ファイルを整理するために作成するホームディレクトリとサブディレクトリで多くの作業を行います。

次のコマンドを使用して、いつでもホームディレクトリに移動できます-

$cd ~
$

ここで、*〜*はホームディレクトリを示します。 あなたは他のユーザーのホームディレクトリに移動する必要があると仮定し、次のコマンドを使用します-

$cd ~username
$

最後のディレクトリに移動するには、次のコマンドを使用できます-

$cd -
$

絶対/相対パス名

ディレクトリは、最上部にルート(/)を持つ階層に配置されます。 階層内のファイルの位置は、パス名で記述されます。

パス名の要素は/で区切られます。 ルートに関連して記述されている場合、パス名は絶対パスであるため、絶対パス名は常に/で始まります。

絶対ファイル名の例を次に示します。

/etc/passwd
/users/sjones/chem/notes
/dev/rdsk/Os3

パス名は、現在の作業ディレクトリからの相対パスにすることもできます。 相対パス名が/で始まることはありません。 ユーザーamroodのホームディレクトリに関連して、いくつかのパス名は次のようになります-

chem/notes
personal/res

いつでもファイルシステム階層内のどこにいるかを判断するには、コマンド pwd を入力して現在の作業ディレクトリを印刷します-

$pwd
/user0/home/amrood

$

ディレクトリのリスト

ディレクトリ内のファイルを一覧表示するには、次の構文を使用できます-

$ls dirname

以下は、 /usr/local ディレクトリに含まれるすべてのファイルをリストする例です-

$ls/usr/local

X11       bin          gimp       jikes       sbin
ace       doc          include    lib         share
atalk     etc          info       man         ami

ディレクトリの作成

これで、ディレクトリの作成方法を理解できます。 ディレクトリは、次のコマンドによって作成されます-

$mkdir dirname

ここで、directoryは作成するディレクトリの絶対パス名または相対パス名です。 たとえば、コマンド-

$mkdir mydir
$

現在のディレクトリに mydir ディレクトリを作成します。 ここに別の例があります-

$mkdir/tmp/test-dir
$

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

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

$mkdir docs pub
$

現在のディレクトリの下にディレクトリdocsおよびpubを作成します。

親ディレクトリの作成

これで、親ディレクトリの作成方法を理解できます。 ディレクトリを作成するときに、その親ディレクトリが存在しない場合があります。 この場合、 mkdir は次のようなエラーメッセージを発行します-

$mkdir/tmp/amrood/test
mkdir: Failed to make directory "/tmp/amrood/test";
No such file or directory
$

このような場合、 mkdir コマンドに -p オプションを指定できます。 必要なすべてのディレクトリが作成されます。 たとえば-

$mkdir -p/tmp/amrood/test
$

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

ディレクトリの削除

ディレクトリは、次のように rmdir コマンドを使用して削除できます-

$rmdir dirname
$

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

次のように、一度に複数のディレクトリを削除できます-

$rmdir dirname1 dirname2 dirname3
$

上記のコマンドは、ディレクトリdirname1、dirname2、およびdirname3が空の場合、それらを削除します。 rmdir コマンドは、成功すると出力を生成しません。

ディレクトリの変更

*cd* コマンドを使用して、ホームディレクトリに変更するだけではありません。 有効な絶対パスまたは相対パスを指定して、任意のディレクトリに変更するために使用できます。 構文は以下のとおりです-
$cd dirname
$

ここで、 dirname は、変更するディレクトリの名前です。 たとえば、コマンド-

$cd/usr/local/bin
$

ディレクトリ /usr/local/bin への変更。 このディレクトリから、次の相対パスを使用してディレクトリ /usr/home/amroodcd できます-

$cd ../../home/amrood
$

ディレクトリの名前変更

  • mv(移動)*コマンドを使用して、ディレクトリの名前を変更することもできます。 構文は次のとおりです-
$mv olddir newdir
$

次のように、ディレクトリの名前を mydir から yourdir に変更できます-

$mv mydir yourdir
$

ディレクトリ。 (ドット)および.. (ドットドット)

  • filename。(ドット)は現在の作業ディレクトリを表します。 *filename .. (ドットドット)は、現在の作業ディレクトリの1レベル上のディレクトリを表し、多くの場合親ディレクトリと呼ばれます。

現在の作業ディレクトリ/ファイルのリストを表示するコマンドを入力し、-aオプション*を使用してすべてのファイルをリストし、-lオプション*を使用して長いリストを提供すると、次の結果が返されます。

$ls -la
drwxrwxr-x    4    teacher   class   2048  Jul 16 17.56 .
drwxr-xr-x    60   root              1536  Jul 13 14:18 ..
----------    1    teacher   class   4210  May 1 08:27 .profile
-rwxr-xr-x    1    teacher   class   1948  May 12 13:42 memo
$