Unix / Linux-ディレクトリ

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

ディレクトリは、ファイル名と関連情報を保存することだけが目的のファイルです。 通常のファイル、特殊ファイルまたはディレクトリ、すべてのファイルがディレクトリに含まれます。

Unixは、階層構造を使用してファイルとディレクトリを編成します。 この構造は通常、ディレクトリツリーと呼ばれます。 ツリーにはルートノードとスラッシュ文字(/)があり、他のすべてのディレクトリはその下に含まれています。

ホームディレクトリ

初めてログインしたときに見つかったディレクトリは、ホームディレクトリと呼ばれます。

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

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

$cd ~
$

ここでの「」はホームディレクトリを表します。 その他のユーザーのホームディレクトリを入力する必要がある場合は、次のコマンドを使用します-

$cd ~username
$

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

$cd -
$

絶対パス名/相対パス名

ディレクトリは階層構造で配置され、ルートディレクトリ(/)が一番上になります。 階層内のファイルの場所は、パス名で記述されます。

パス名の要素は(/)で区切られます。 パス名は絶対パス名であるため(rootを基準にして記述されている)、絶対パス名は常に(/)で始まります。

以下のは、絶対ファイル名の実例です。

/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

ここのディレクトリは、作成するディレクトリの絶対パス名または相対パス名です。例えば:

$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に移動します。 このディレクトリから、以下の相対パスによってCDをディレクトリ/ usr / home / amrood-cdできます。

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

ディレクトリ名を変更する

MV(move移動)コマンドによって、ディレクトリ名が変更できます。 構文は次のとおりです-

$mv olddir newdir
$

以下のように、ディレクトリmydirの名前をyourdirに変更できます。

$mv mydir yourdir
$

ディレクトリの「.」(ドット)および「..」(ドット)

ファイル名.(ドット)は現在のディレクトリを示し、ファイル名..(ドット)は現在のディレクトリの親ディレクトリと同じ階層であることを示します。これは通常、親ディレクトリと呼ばれます。

コマンドを入力して現在のディレクトリ/ファイルのリストを表示し、-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
$
Share

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です