Linux - ls / touch / cp / mv / mkdir / rm / rmdir



 ◆ ファイル操作コマンド

 Linuxシステムでファイルのコピー、移動、削除、名前変更など行うためのファイル操作コマンドを紹介。


 ◆ lsコマンド

 lsは、指定したオプションによりファイル一覧、ファイル属性、ディレクトリ一覧の情報が得られます。
 なお、ファイル一覧を表示するlsコマンドの出力結果では、ファイル種別により異なる色で表示されます。
 青色(ディレクトリ) 緑色(実行可能ファイル) 赤色(圧縮ファイル/アーカイブ) マゼンダ(画像)。

 ◆ 構文 : ls [ オプション ] [ ファイル名 or ディレクトリ名 ]

オプション 説明
-a
 ピリオド ( . ) から始まるファイルを含む全てのファイル名を表示

-A

 ピリオド ( . ) から始まるファイルを含む全てのファイル名を表示するが、
 カレントディレクトリの 「. 」、親ディレクトリの「.. 」 については表示しない。

-d
 ホスト名

-F

 ファイルの末尾に以下の文字を追加して、ファイルの種類も表示
 / ディレクトリ
 @ シンボリック
 * 実行ファイル
 | FIFO ( a named pipe )
 = ソケット

-h
 ファイルサイズを K、M、Gなどの単位で表示

-i
 i ノード番号の表示

-l
 ファイルの属性(種類、保護モード、所有者など)の情報を表示

-t
 日付順に表示


 ◆ 実行例 : /home/admin/Desktop ディレクトリ内のファイルを表示

 $ ls /home/admin/Desktop
 
test1.txt text2.txt


 ◆ 実行例 : test1.txt ファイルの属性を表示

 $ ls -l test1.txt
 
-rw-rw-r--. 1 admin admin 59 May 18 01:55 test1.txt


 ◆ 実行例 : /home/admin/Desktop ディレクトリ自身の情報を表示

 $ ls -ld /home/admin/Desktop
 
drwxr-xr-x. 2 admin admin 4096 May 18 03:26 /home/admin/Desktop

 ※ 上記コマンドでは、-l と -d のオプション2つを指定した実行結果です。


 ◆ touch コマンド

 touchは、ファイルのタイムスタンプ(最終アクセス時刻、最終更新時刻)を変更するコマンド。
 時間指定しない場合、空のファイルが作成されます。空ファイル作成のために使用することが多い。

 ◆ 構文 : touch [ オプション ] ファイル名

オプション 説明
-t

 タイムスタンプを、YYYYMMDDhhmm に変更する。
 2013年06月10日21時30分の場合は 201306102130 と指定する。

-a
 最終アクセス時刻のみ変更する。

-m
 最終更新時刻のみ変更する。


 ◆ 実行例 : 「sample.txt」というファイルの作成
 $ touch sample.txt


 ◆ 実行例 : 「abc.txt」というファイルのタイムスタンプを2015年06月10日21時30分に変更

 $ touch -t 201506102130 abc.txt


 $ ls -l
 -rw-rw-r--. 1 admin admin 0 Jun 10 2013 abc.txt




 ◆ cp コマンド

 cpは、ファイルのコピーやディレクトリをコピーするコマンド。

 ◆ 構文 : cp [ オプション ] コピー元ファイル コピー先ファイル
 ◆ 構文 : cp [ オプション ] コピー元ファイル コピー先ディレクトリ
 ◆ 構文 : cp [ オプション ] コピー元ディレクトリ コピー先ディレクトリ

オプション 説明
-a

 コピー元のファイルとディレクトリ以下を再帰的にコピー。
 ファイルの属性は可能な限り、コピー元の属性が保存。

-b  コピー先のファイルが既に存在する場合はバックアップを作成。
-d  シンボリックリンクをシンボリックリンクとしてコピー。
-f  コピー先に同じ名前のファイルがある場合は上書き。
-i  コピー先に同じ名前のファイルがある場合は上書きするかどうかを確認。
-p  コピー元のファイルの属性(所有者、所有グループ、アクセス権など)を保持してコピー。
-r  ディレクトリ内を再帰的にコピー。


 ◆ 実行例 : a.txt というファイルを、b.txt という名前でコピー
 $ cp a.txt b.txt


 ◆ 実行例 : カレントディレクトリ内の .txt ファイルを全て、testdir というディレクトリへコピー
 $ cp *.txt testdir
 ※ 上記コマンドは例えば cp *.txt /home/admin/testdir のようにtestdirの絶対パスを指定しても同じ結果となります。


 ◆ 実行例 : /home/admin/testdir1 ディレクトリを、/home/admin/testdir2 ディレクトリにコピー
 $ cp -r /home/admin/testdir1 /home/admin/testdir2
 ※ 上記コマンドにより testdir1 内にあるファイルも testdir2 内へコピーされる。



  


 ◆ mv コマンド

 mvは、ファイルの移動を行うコマンドです。同一のディレクトリ内でファイルを移動した場合、
 実質的にファイル名の変更と同じことなので、mvがファイル名の変更コマンドとも言われます。

 ◆ 構文 : mv [ オプション ] 移動元ファイル/ディレクトリ 移動先ファイル/ディレクトリ

オプション 説明
-f  移動先に同じ名前のファイルがある場合は上書き。
-i  移動先に同じ名前のファイルがある場合は上書きするかどうかを確認。



 ◆ 実行例 : a.txt というファイルを、b.txt という名前に変更。
 $ mv a.txt b.txt


 ◆ 実行例 : 現在のディレクトリ内の .txt ファイルを全て、testdir というディレクトリへ移動。
 $ mv *.txt testdir



  



 ◆ mkdir コマンド

 mkdirは、ディレクトリを作成するコマンド。

 ◆ 構文 : mkdir [ オプション ] ディレクトリ名

オプション 説明
-m  アクセス権を指定してディレクトリを作成
-p  親ディレクトリ(上位ディレクトリ)を同時に作成


 ◆ 実行例 : 現在のディレクトリ内に新しく「testdir」というディレクトリを作成

 $ mkdir testdir


 ◆ 実行例 : アクセス権を「700」として、現在のディレクトリ内に新しく「testdir」というディレクトリを作成
 $ mkdir -m 700 testdir


 ◆ 実行例 : 現在のディレクトリ内に新しく「testdir」ディレクトリを作成し、その以下に「data」ディレクトリを作成
 $ mkdir -p testdir/data


    




 ◆ rm コマンド

 rmは、ファイルの削除とディレクトリの削除を行うコマンド。

 ◆ 構文 : rm [ オプション ] ファイル名 or ディレクトリ名

オプション 説明
-f  削除の確認を行うことなく、削除する
-i  削除する前に確認を行う。確認の際にyesと入力すれば削除できる
-r  ディレクトリも含めて、ディレクトリとファイルの全てを削除する



 ◆ 実行例 : a.txt のファイルを削除
 $ rm a.txt


 ◆ 実行例 : testdir というディレクトリと、そのディレクトリ以下の全てのディレクトリとファイル削除
 $ rm -r testdir


   



 ◆ rmdir コマンド

 rmdirは、ディレクトリの削除を行うコマンド。削除するディレクトリは空である必要があります。

 ◆ 構文 : rmdir [ オプション ] ディレクトリ名

オプション 説明
-p  親の空ディレクトリも削除


 ◆ 実行例 : 「testdir」のディレクトリを削除
 $ rmdir testdir


 ◆ 実行例 : 「testdir」というディレクトリと、そのディレクトリ以下の全てのディレクトリとファイル削除
 $ rmdir -p testdir/data



   



Linux 技術入門

Copyright(C) 2002-2024 ネットワークエンジニアとして All Rights Reserved