ファイル・ディレクトリを操作するコマンド(Linux)
Linuxにおけるファイルやディレクトリの操作、及びそれらに関連するコマンドの一覧です。
システム関連の基本的なコマンドは Linuxの基本的なコマンド をご覧下さい。
基本操作
cp
ファイルをコピーする。
cp コピー前のファイル名(パス) コピー後のファイル名(パス) cp example.html /home/test/test.html
mv
ファイルを移動する。
mv 移動前のファイル名(パス) 移動後のファイル名(パス)
example.html が test ディレクトリに移動
mv ./abc/example.html /home/test/
example.html を test.html というファイル名で test ディレクトリに移動。
mv ../example.html /home/test/test.html
rm
ファイルを削除する。
rm 削除するファイル名(パス) rm ./test/example.html rm -rf /home/test/
オプション
- -r
- ディレクトリ内にファイル等があっても削除。
- -f
- 強制削除。削除するか否かの確認メッセージを表示せず即削除。
- -d
- 空のディレクトリを削除。
mkdir
ディレクトリを作成する。
mkdir ディレクトリ名 mkdir ./example
rmdir
ディレクトリを削除する。 ディレクトリ内にファイル等が存在する場合は削除されない。
rmdir ディレクトリ名 rmdir ./example
ls
ディレクトリ内にあるファイル等の一覧を表示する。
ls ls -la
オプション
- -l
- パーミッション、ユーザー、タイムスタンプなど詳細情報を表示。
- -a
- ピリオド「.」で始まるファイル等も表示。
- -A
- 「.」で始まるファイル等を表示するが、「.」と「..」は表示しない。
pwd
カレントディレクトリのパスを表示する。
pwd
オプション
- -P
- シンボリックリンクをたどって表示。
*
ファイル名の省略が可能(ワイルドカード)。
拡張子が .html のファイルを全て example ディレクトリへ移動する。
cp ./*.html ./example/
touch
タイムスタンプを変更する。
ファイルが存在しない場合は、新しく空のファイルが作成される。
touch ファイル名
example.txt の更新日時を現在の時刻に変更。
touch ./example.txt
data ディレクトリ以下の全てのファイルのタイムスタンプを更新。
touch ./data/*
タイムスタンプを指定した日時に変更する。
touch -t 202512050310 example.txt
オプション
- -a
- アクセス日時を変更。
- -c, --no-create
- ファイルが存在しない場合はファイルを作成しない。
- -m
- 更新日時を変更。
- -r, --reference=FILE
- 指定したファイルの時刻に変更する。
- -t
- 指定した時刻に変更する。時刻は [[CC]YY]MMDDhhmm[.ss] 形式で指定する。
scp
SSHを使用して他のサーバーなどへファイル等をコピーする。
scp -r /htdocs/example/index.html ユーザ名@サーバ名:/htdocs/example/ scp -r /htdocs/example/* ユーザ名@サーバ名:/htdocs/example/ scp -r ./* ユーザ名@サーバ名:/htdocs/example/
検索
find
ファイルを検索する。
find パス名 -name ファイル名
カレントディレクトリ以下から exapmle.php を検索
find . -name exapmle.php
/test ディレクトリ以下から exapmle.php を検索
find /test/ -name exapmle.php
which
コマンドのパスを表示する。
which コマンド名 which php
whereis
コマンド用のファイルを表示する。
whereis コマンド名 whereis php
権限
chmod
アクセス権限(パーミッション)を変更する。 数値またはシンボルで指定。
chmod モード パス名
chmod 755 ./example.txt
| 数値 | 内容 |
| 4 | 読み取り可 |
| 2 | 書き込み可 |
| 1 | 実行可 |
chmod o+w ./example.txt
| 記号 | 内容 |
| u | オーナー |
| g | グループ |
| o | その他 |
| a | すべて |
| + | アクセス権追加 |
| - | アクセス権削除 |
| = | 指定したアクセス権に変更 |
| r | 読み取り可 |
| w | 書き込み可 |
| x | 実行可 |
オプション
- -R
- ディレクトリ内にあるファイルの権限も変更する。
- -f
- 強制的に実行する。
chown
所有権を変更する。
chown オーナー名 パス名 chown suzuki ./example.txt
chgrp
グループ所有権を変更する。
chgrp グループ名 パス名 chgrp tanaka ./example.txt
ファイル閲覧
grep
パターンにマッチした行だけを表示する。
yum list available | grep httpd
tail
ファイルの中身の末尾(後方)を表示する。 Apacheのアクセスログやエラーログを見るときなどに便利。
「tail ファイル名(パス名)」でファイルの末尾を表示。
tail access_log
「-n」で表示する行数を指定。 デフォルトは10行。
tail -n 20 access_log
「-c」で表示するバイト数を指定。
tail -c 100 access_log
「-f」でファイルの末尾にデータが追加されるたびに随時表示。
tail -f access_log
コマンドを組み合わせて使用。
tail -n 20 -f access_log
「-s」で更新する秒数を指定。 デフォルトは1秒。
tail -s 10 -n 20 -f access_log