Linux環境で、ファイルやディレクトリを操作するときに必要となるコマンドと使用例まとめました。
- ls - ファイルやディレクトリの内容を表示する
- cp - ファイルやディレクトリをコピーする
- mv - ファイルやディレクトリを移動する
- rm - ファイルやディレクトリを削除する
- mkdir - ディレクトリを作成する
- touch - ファイルのタイムスタンプを変更する
目次
lsコマンド
ファイルやディレクトリの内容を表示するときは「ls」コマンドを利用します。
書式とオプション
書式
ls [オプション] [ファイルまたはディレクトリ]
主なオプション
オプション | 説明 |
---|---|
-l | 詳細な情報を表示します。 |
-a | ドットファイルも含めて表示します。 |
-R | サブディレクトリの内容も含めて表示します。 |
使用例
ディレクトリdirectoryAの内容を表示するには、以下のように実行します。(ディレクトリを指定しないと、カレントディレクトリの内容が表示されます。)
# ls directoryA
名前が「a」から始まるファイルやディレクトリだけを表示するには、、以下のように実行します。
# ls a*
ディレクトリdirectoryA内のファイルやディレクトリ詳細情報(アクセス権や所有者、ファイルサイズなどの情報)を表示するには、以下のように実行します。
# ls -l directoryA
ディレクトリdirectoryA内のドットファイル(隠しファイル)を含めて表示するには、以下のように実行します。
# ls -a directoryA
ディレクトリdirectoryA内のサブディレクトリの内容を含めて表示するには、以下のように実行します。
# ls -R directoryA
cpコマンド
ファイルやディレクトリをコピーするときは「cp」コマンドを利用します。
書式とオプション
書式
cp [オプション]... コピー元ファイルorディレクトリ コピー先ファイルorディレクトリ
主なオプション
オプション | 説明 |
---|---|
-f | コピー先にある同名ファイルを上書きします。 |
-i | コピー先にある同名ファイルを上書くか確認します。 |
-p | ファイル属性(所有者・アクセス権・最終更新時刻など) を保ったままコピーします。 |
-r | ディレクトリ内を再帰的にコピーします。 |
使用例
sampleA.txtを、sampleB.txtにコピーするには、以下のように実行します。
# cp sampleA.txt sampleB.txt
sampleA.txtを、ディレクトリ/home/hoge内にコピーするには、以下のように実行します。
# cp sampleA.txt /home/hoge
sampleA.txtとsampleB.txtの2ファイルを、ディレクトリ/home/hoge内にコピーするには、以下のように実行します。
# cp sampleA.txt sampleB.txt /home/hoge
「file」から始まるすべてのファイルを、/home/hogeにコピーするには、以下のように実行します。
# cp file* /home/hoge
ディレクトリdirectoryAを、ディレクトリ内の内容を含めてディレクトリdirectoryBにコピーするには、以下のように実行します。
# cp -r /home/hoge/directoryA /home/hoge/directoryB
mvコマンド
ファイルやディレクトリを指定した場所に移動したいときは「mv」コマンドを利用します。
書式とオプション
書式
mv [オプション]... 移動元ファイルorディレクトリ 移動先ファイルorディレクトリ
主なオプション
オプション | 説明 |
---|---|
-f | 移動先にある同名ファイルを上書きします。 |
-i | 移動先にある同名ファイルを上書くか確認します。 |
-u | 移動元ファイルの方が新しい場合のみ上書きします。 |
使用例
sample.txtを、ユーザーのホームディレクトリに移動するには、以下のように実行します。
# mv sample.txt ~
また、mvコマンドはファイル名を変更するときにも利用できます。
たとえば、before.txtのファイル名を、after.txtに変更するには、以下のように実行します。
# mv before.txt after.txt
rmコマンド
ファイルやディレクトリを削除するときは「rm」コマンドを利用します。
書式とオプション
書式
rm [オプション]... ファイル/ディレクトリ
主なオプション
オプション | 説明 |
---|---|
-f | ユーザーへの確認なしに削除します。 |
-i | 削除前に、ユーザーへ確認します。 |
-r | ディレクトリ内のファイルを含めて、ディレクトリを削除します。 |
使用例
カレントディレクトリ内で拡張子がtxtのファイルを削除するには、以下のように実行します。
# rm *.txt
sampleディレクトリを、ディレクトリ内のファイルごと削除するには、以下のように実行します。
# rm -r /tmp/sample
file1.txtとfile2.txtの2つのファイルを削除するには、以下のように実行します。
# rm file1.txt file2.txt
mkdirコマンド
ディレクトリを作成するときは「mkdir」コマンドを利用します。
書式とオプション
書式
mkdir [オプション]... ディレクトリ名
主なオプション
オプション | 説明 |
---|---|
-m | アクセス権を指定して、ディレクトリを作成します。 |
-p | 親ディレクトリも同時に作成します。 |
使用例
アクセス権が755のディレクトリ「mydirectory」を作成するには、以下のように実行します。
# mkdir -m 755 mydirectory
ディレクトリ「third」を、親ディレクトリ「top/second/」も含めて一気に作成するには、以下のように実行します。
# mkdir -p top/second/third
touchコマンド
ファイルのタイムスタンプを変更するときは「touch」コマンドを利用します。
書式とオプション
書式
touch [オプション] ファイル1 ファイル2 ...
主なオプション
オプション | 説明 |
---|---|
-t | [[CC]YY]MMDDhhmm[.ss]形式で指定した日時に変更します。 |
-a | 最終アクセス日時のみを変更します。 |
-m | 最終更新日時のみを変更します。 |
使用例
ファイルfile1.txtのタイムスタンプを現在の日時に変更したいときは、以下のように実行します。
# touch file1.txt
ファイルfile1.txtの最終アクセス日時を現在の日時に変更したいときは、以下のように実行します。
# touch -a file1.txt
ファイルfile1.txtの最終更新日時を現在の日時に変更したいときは、以下のように実行します。
# touch -m file1.txt
ファイルfile1.txtのタイムスタンプを5月10日2:15に変更したいときは、以下のように実行します。
# touch -t 05100215 file1.txt
ファイルfile1.txtのタイムスタンプを2021年11月10日12:15に変更したいときは、以下のように実行します。
# touch -t 2111101215 file1.txt
ちなみに、存在しないファイルを指定すると、空のファイルが作成されます。
あとがき
コマンドよるファイル操作方法をマスターしておけば、作業効率は格段にアップすると思います。これはWindows環境でも同じですね。