LinuC 1.02.1 ファイルの所有者とパーミッションについてまとめました。
ファイルとディレクトリーのコピー(cpコマンド)
cpコマンドは、ファイルやディレクトリーをコピーできます。
cp [オプション] コピー元 コピー先
オプション | 説明 |
---|---|
-a | 元のファイルの属性とディレクトリ構成を可能な限り保持 |
-b | 上書きされるファイルのバックアップを作成 |
-f | コピー先に同じ名前のファイルがあれば、確認なしで上書き |
-i | 上書きされるファイルがあれば、その可否を確認 |
-l | コピーのかわりにハード・リンクを作成(ディレクトリは除外) |
-p | 元のファイルの属性(タイムスタンプ等)を可能な限り保持 ※ファイルの元情報(パーミッション、タイムスタンプやオーナーなど)を保持したままコピーすることが可能 |
-r | ディレクトリを中身ごとコピー |
-s | コピーするかわりにシンボリック・リンクを作成 |
-u | 同名のファイルが存在する場合、コピー先のタイムスタンプが同じか新しいときはコピーしない |
-v | コピーの経過状況を表示 |
コピー元 | コピーするファイルまたはディレクトリを指定 |
コピー先 | コピー先のファイル名またはディレクトリを指定 |
実行例
コマンドの実行例です。
copy file1.txt file2.txt
file1.txtをコピーし、file2.txtに保存します。
ディレクトリの作成(mkdirコマンド)
mkdirは、ディレクトリを作成できます。
mkdir [オプション] ディレクトリ
オプション | 説明 |
---|---|
-m | パーミッション:パーミッションを指定 |
-p | 親ディレクトリも同時に作成 |
ディレクトリ | 作成するディレクトリを指定 |
mmは月の数字、ddは日付、HHは時間(24時間)、MMは分、CCは年の最初の2つの数字(任意)、YYは年の最後の2つの数字(任意)、SSは秒(任意)
実行例
コマンドの実行例です。
ディレクトリ「dir」を作成
$ mkdir dir
ディレクトリの削除(rmdirコマンド)
rmdirは、ディレクトリを削除できます。
rmdir [オプション] 削除したいディレクトリのパス
オプション | 説明 |
---|---|
-p | 指定パスに含まれるディレクトリのうち、サブディレクトリを削除した結果、空になるディレクトリはすべて削除 |
実行例
コマンドの実行例です。
ディレクトリ(dir)の削除 (dir内にサブディレクトリやファイルがあるとエラーが出る)
$ rmdir dir
ファイル・ディレクトリの移動・名前変更(mvコマンド)
mvコマンドは、ファイル・ディレクトリの移動や名前変更ができます。
mv [オプション] 移動元 移動先
オプション | 説明 |
---|---|
-b | ファイルを上書きする際にバックアップを作成 |
-f | 無条件に上書き |
-i | 移動先に同じファイル名がある場合、上書きするか確認 |
-u | 移動先に同名ファイルがある場合、それよりも新しいタイムスタンプを持つファイルでないと移動しない |
-v | 経過を表示 |
移動元 | 移動したい or 名前変更したいファイル名かディレクトリ名を指定 |
移動先 | 移動先 or 名前変更後のファイル名かディレクトリ名を指定 |
- | mvコマンドのポイント
- | —————————————————————————————————-
① | 移動元と移動先の両方にファイル名を指定した場合・・・ファイル名の変更
② | 移動元と移動先の両方にディレクトリ名を指定した場合
(a) 移動先ディレクトリ名だけない場合・・・ディレクトリ名の変更
(b) 移動元・移動先ディレクトリが既にある場合・・・ディレクトリの移動
③ | 移動元がファイル名、移動先がディレクトリ名の場合・・・ファイルの移動
※ディレクトリを移動した場合、そのディレクトリ内にあるファイル・ディレクトリも一緒に移動
実行例
コマンドの実行例です。
① ファイル名の変更(file1.txt →file2.txt)
$ mv file1.txt file2.txt
② ディレクトリ名の変更 (dir1 → dir2)
(※コマンド実行前、ディレクトリ「dir1」はあるが、ディレクトリ「dir2」はない)
$ mv dir1 dir2
③ ディレクトリの移動 (dir1, dir2 → dir2/dir1)
(※コマンド実行前、ディレクトリ「dir1」「dir2」が共に存在する)
$ mv dir1 dir2
④ ファイルの移動 (file1.txt, dir1 → dir1/file1.txt)
$ mv file1.txt dir1
※特に②と③はコマンドが全く同じ(前提条件が違う)なので要注意です
ファイル・ディレクトリの削除(rmコマンド)
rmは、ファイルやサブディレクトリを削除できます。
rm [オプション] ファイル名 or ディレクトリ名
オプション | 説明 |
---|---|
-i | 削除前に確認 |
-f | 削除前の確認なし |
-r | ディレクトリと配下のサブディレクトリ・ファイルを削除 |
ファイル名 or ディレクトリ名は複数指定も可能
実行例
コマンドの実行例です。
① ファイル(file.txt)の削除
$ rm file.txt
② ディレクトリ(dir)の削除 (dir内にサブディレクトリやファイルがあっても丸ごと削除)
$ rm -r dir
※特に②と③はコマンドが全く同じ(前提条件が違う)なので要注意です
ファイル検索(find)
findコマンドでは、ファイルを検索できます。
find [ファイルパス] [オプション] [処理方法]
オプション | 説明 |
---|---|
-empty | 空のファイルや中身のないディレクトリを検索 |
-group gname | グループ名がgnameのファイルを検索 |
-ctime -n | n時間以内にステータスが変更されたファイルを検索(※+nとするとn時間以前) |
-cmin -n | n分以内にステータスが変更されたファィルを検索 |
-mtime -n | n日以内に修正されたファイルを検索 |
-mmin n | n分以内に修正されたファイルを検索 |
-atime -n | n分以内にアクセスされたファイルを検索 |
-name pattern | 指定したパターンでファイル名を検索 |
-iname patter | 「大文字と小文字の区別しない」以外は-nameと同じ |
-perm mode | アクセス権がmodeのファイルを検索 |
-type c | 指定したファイル・タイプを検索(cがd:ディレクトリ、f:通常ファイル、l:シンボリック・リンク) |
-user uname | 所有者がunameのファイルを検索 |
-size n[bckw] | ファイルサイズがnのファイルを検索(nの後がc:バイト、k:バイト、デフォルト:ブロック(512バイト) |
-depth | デディレクトリ本体の前にディレクトリの中身を先に評価 |
-follow | シンボリック・リンクの参照先を検索 |
-xdev | 他のファイル・システムにあるディレクトリは探索しない |
検出結果を相対パスで標準出力 | |
-fprint file | 検索結果を指定したファイルに出力 |
-ls | 検索結果を「ls -l」で詳細表示 |
-exec | 検出された実行ファイルをそのまま実行 |
実行例
コマンドの実行例です。
①imgディレクトリ以下のjpgファイルを検索
$ find img/ -name “*.jpg” -print
②10分以内に変更されたファイルを検索
$ find . -cmin -10 -print
ファイルの中身表示(catコマンド)
catコマンドは、ファイルの内容を表示できます。
cat [オプション] ファイル名
オプション | 説明 |
---|---|
-A | 行末、タブ、CRを可視化 |
-b | 行番号を付加して表示(空行には行番号を付けない) |
-E | 各行末に $ を追加して表示 |
–help | ヘルプ表示 |
-n | 行番号を付加して表示(空行にも行番号を付ける) |
-s | 連続する空行を1つにまとめる(-n と併用した場合は結果として行番号がずれる) |
-T | タブを ^I として表示 |
-v | CR (0x0D) を ^M として表示 |
–version | バージョン表示 |
実行例
コマンドの実行例です。
cat -n test.txt 1 パンツァー フォー 2 戦車前進
上記の例は「test.txt」の中身を行番号を付けて表示しています。
more
ファイルの中身が一画面に収まりきれない場合、パイプ「|」を用いてmoreコマンドを実行します。
$ cat test.txt | more
コメント