この記事では、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
$
コメントを残す