Linux(リナックス)でのディレクトリ、ファイルの作成・削除方法をまとめました。
コンテンツ
ディレクトリの作成方法
ディレクトリの作成には、「mkdir」というコマンドを使用します。
コマンドの基本的な使い方
# mkdir ディレクトリ名
例えば、「dir01」ディレクトリを作成したい場合には、
# mkdir dir01
とします。
便利なオプション
良く使用する便利なオプションについてもまとめておきます。
【-p:サブディレクトリを作成する】
例えば、「# mkdir dir01/dir02」を実行すると、dir01ディレクトリが無い場合にエラーになります。
この場合、「-p」というオプションを設定すると、エラーにはならずに、「dir01」ディレクトリと「dir02」ディレクトリを同時に作成してくれます。
【使用例】
# mkdir -p dir01/dir02/dir03
「dir01」「dir02」「dir03」の3ディレクトリを一度で作成することができます。
【-m:ディレクトリの作成と同時に権限(パーミッション)を設定する】
作成と同時にディレクトリに権限(パーミッション)を設定を設定する場合には、「-m」というオプションを使用します。
使い方は、「# mkdir -m 属性 ディレクトリ名」となります。
【使用例:書き込み権限を設定する場合】
# mkdir -m 777 dir01
または、
# mkdir -m +w dir01
「777」という属性で「dir01」ディレクトリが作成されます。
便利な使い方
# mkdir dir01 dir02 dir03
とすることで、複数ディレクトリを同時に作成できます。
ファイルの作成方法
ファイルの作成には、「touch」というコマンドを使用します。
コマンドの基本的な使い方
# touch ファイル名
これにより、空の新規ファイルが作成されます。
例えば、「file01.txt」というファイルを作成したい場合には、
# touch file01.txt
とします。
便利なオプション
良く使用する便利なオプションについてもまとめておきます。
【-d:指定した日時でファイルを作成する】
【使用例】
# touch -d "2019-4-9 16:00" file01.txt
【-r:指定したファイルと同じ日時で作成する】
【使用例】
# touch -r file01.txt file02.txt
「file01.txt」と同じ日時で「file02.txt」が作成されます。
便利な使い方
# touch file01.txt file02.txt file03.txt
とすることで、複数ファイルを同時に作成できます。
最後に
touchコマンドで空のファイルを新規に作成できますが、本来は、ファイルのタイムスタンプを変更するコマンドです。
その為、存在する既存ファイルと同じ名称でtouchコマンドを実行すると、そのファイルのタイムスタンプが更新されることになります。
また、空のファイルを作成するのではなく、Linuxの標準テキストエディタであるviエディタを用いる方法もあります。
今回はviコマンドについては詳しく説明しませんが、通常、ファイルを作成する際には、同時に編集も行うはずなので、
viコマンドでエディタを開いてファイルを作成する場合の方が多いです。
viコマンドの使い方は、「# vi file01.txt」です。
ディレクトリ、ファイルの削除方法
ディレクトリやファイルの削除方法には、「rm」というコマンドを使用します。
ディレクトリを削除する場合には「# rm -r ディレクトリ名」、ファイルを削除する場合には「# rm ファイル名」とするだけです。
ディレクトリを削除する場合には、「-r」オプションを付ける必要があります。
※「-r」オプションを付けることで、ディレクトリやディレクトリ内にあるファイルも削除することができます。
また、「# rm -r ディレクトリ名」や「# rm ファイル名」で削除すると、毎回「rm: remove directory `xxxx'? y」と聞かれて面倒なので、「-f」を付けておく方がいいです。
まとめておくと、
ディレクトリを削除する場合には「# rm -rf ディレクトリ名」、ファイルを削除する場合には「# rm -f ファイル名」とした方が便利です。
便利な使い方
【ワイルドカードを使用する】
# rm -rf *
で、rmコマンドを実行したディレクトリ内にあるディレクトリとファイルを一括で削除できます。
※「.htaccess」のようなドットで始まるファイルは削除されません。
# rm -f *.txt
で、拡張子「.txt」のファイルを一括で削除することができます。
# rm -f file*.txt
で、「file」という文字列を含む拡張子「.txt」のファイルを一括で削除することができます。
# rm -rf test*
で、「test」という文字列を含むディレクトリとファイルを一括で削除することができます。
【その他】
# rm -rf file01.txt file02.txt dir01
で、複数のディレクトリやファイルを同時に削除できます。
注意点
rmコマンドでの削除は、Windowsのようなゴミ箱移動とは異なり、完全削除コマンドになります。
誤って削除しても元には戻せないので、最新の注意を払って削除を行って下さい。
因みに、何年か前に海外のサーバ担当者が「# rm -rf /」というコマンドを実行してデータが全て飛んでしまった!という投稿をして話題になったことがありました。
実際にはフェイクの投稿で、「# rm -rf /」を実行する場合には、「--no-preserve-root」というオプションと付けないと警告が出て削除を実行できません。
情報を流した方は、そのことをどのくらいの人間が知っているかを確かめたかったらしいです。
やはり、サーバサイドも安全策というものを考えてはくれているんですね。
誤って「# rm -rf /」を実行してしまったら、とんでもないことになりかねないですから!
最後に
ディレクトリとファイルで使い分けるのが面倒なので、両方ともrmコマンドで削除することが多いですが、
ディレクトリの削除にはrmdirコマンドを使うこともできます。
「# rmdir dir01」のような使い方になります。
今回は詳しく説明しませんが、興味のある方はrmdirコマンドについても調べてみて下さい。
この記事へのコメントはありません。