ファイル
ファイルの情報とディスク容量
stat・file・du・df・wc・realpath など、ファイルの中身を変えずに情報を調べるコマンド。ディスクそのものの操作は「ディスクとファイルシステム」へ。
statファイルの詳しい情報
ファイルの大きさ・権限・所有者・日時などの詳しい情報を表示します。
$ stat notes.md
File: notes.md
Size: 4312 Blocks: 16 IO Block: 4096 regular file
Access: (0644/-rw-r--r--) Uid: ( 1000/ alice) Gid: ( 1000/ alice)
Modify: 2026-09-25 09:10:12.000000000 +0900
$ stat -c '%a %U %s %n' *.sh # 書式を指定(権限の数字・所有者・サイズ・名前)fileファイルの種類を判定する
拡張子ではなく中身から判定します。
$ file photo.jpg
photo.jpg: JPEG image data, JFIF standard 1.01, ...
$ file -i data.bin # MIMEタイプで表示
$ file * # まとめて判定duディレクトリの使用量
フォルダがどれだけの容量を使っているかを表示します。容量を食っているものを探すのに使います。
| オプション | 意味 |
|---|---|
-h | K・M・G で表示 |
-s | 合計だけ表示 |
-d N / --max-depth=N | N階層まで表示 |
-a | ファイルも表示 |
-x | 別のファイルシステムはたどらない |
$ du -sh ~/project # 合計だけ
$ du -h -d1 . | sort -h # 直下のディレクトリを小さい順に
$ du -ah . | sort -rh | head -20 # 大きいもの上位20dfディスクの空き容量
ディスクの空き容量を表示します。
$ df -h # 全体
$ df -h / # ルートのあるディスクだけ
$ df -hT # ファイルシステムの種類も表示
$ df -i # 空きinode数(ファイル数の上限)wc行数・単語数・バイト数を数える
ファイルの行数・単語数・文字数(バイト数)を数えます。
$ wc -l access.log # 行数
$ wc -c file.bin # バイト数
$ wc -m note.txt # 文字数(日本語も1文字として数える)
$ ls | wc -l # ファイルの数
$ git ls-files '*.go' | xargs wc -l | tail -1 # Goのコードの総行数realpath絶対パスにする
ファイルの場所を絶対パス(フルパス)で表示します。
$ realpath ../notes.md
/home/alice/notes.md
$ realpath --relative-to=/home/alice /home/alice/project/web
project/webbasename / dirnameパスを分解する
パスからファイル名だけ、またはフォルダの部分だけを取り出します。
$ basename /var/log/nginx/access.log
access.log
$ basename /path/photo.jpg .jpg # 拡張子も外す
photo
$ dirname /var/log/nginx/access.log
/var/log/nginxmd5sum / sha256sumハッシュ値を計算する
ファイルのハッシュ値を計算します。ダウンロードしたファイルが壊れていないかの確認などに使います。
$ sha256sum ubuntu.iso
$ sha256sum -c SHA256SUMS # 一覧と照合する
$ md5sum *.jpg | sort | uniq -w32 -D # 中身が同じファイルを探すtruncateファイルのサイズを変える
ファイルのサイズを変えます。ログを空にするのにも使えます。
$ truncate -s 0 app.log # 中身を空にする(ファイルは残す)
$ truncate -s 1G test.img # 1GBの空ファイルを作る