
新Linux入門|Linuxのファイル名のルールをわかりやすく解説
Linuxを使っていて、「ファイル名が認識されない」「コマンドがうまく動かない」といった経験はありませんか?
それは、ファイル名のルールを守っていないことが原因かもしれません。
Linuxでは、ファイル名の付け方にいくつかの決まりがあります。
これらを理解しておくことで、システム管理やスクリプト作成がぐっとスムーズになります。
ここでは、AlmaLinux 9.6 を例に、ファイル名のルールや注意点をわかりやすく解説します。

📁ファイル名に使える文字
Linuxでは、ファイル名に使える文字が決まっています。
基本的に、英数字・ピリオド( . )・アンダースコア( _ )・ダッシュ( - ) が安全に使用できます。
| 使用できる文字 | 説明 |
|---|---|
| 英字(a~z, A~Z) | 大文字・小文字どちらも使用可能 |
| 数字(0~9) | ファイル名の途中や末尾に使用可能 |
| ピリオド( . ) | 拡張子の区切りや隠しファイルの先頭に使われる。 |
| アンダースコア( _ ) | スペースの代わりに使うのに便利 |
| ダッシュ( - ) | シンプルな区切りとしてよく使われる。 |
💬 ポイント
ファイル名に スペースや記号 を使うと、コマンドラインで扱いにくくなります。
「レポート 2025.txt」ではなく、「report_2025.txt」とするのがおすすめです。
🔠 大文字と小文字は区別される
Linuxでは、ファイル名の 大文字と小文字は別物 として扱われます。
[suzuki@AlmaLinux ~]$ touch File.txt file.txt
[suzuki@AlmaLinux ~]$ ls
File.txt file.txt💬 解説
Windowsでは同じ名前とみなされる「File.txt」と「file.txt」も、
Linuxでは別のファイルとして存在できます。
スクリプト作成時などに混乱しやすいため、ファイル名の命名規則は統一しておくと良いでしょう。
⚠️ 使用を避けるべき特殊文字
一部の文字は、Linuxのシェル(bashなど)で特別な意味を持つため、ファイル名には使用しないのが安全です。
| 使用を避ける文字 | 理由 |
|---|---|
| / | ディレクトリを区切るために使用される。ファイル名に使うとパスと誤認される。 |
| * | ワイルドカードとして、任意の文字列にマッチする特殊記号として扱われる。 |
| ? | 任意の1文字を表すメタ文字として使われる。 |
| : | パスやコマンドの区切り記号として使われる(PATH変数など)。 |
| ; | コマンドを連続して実行する区切り記号として扱われる。 |
| ! | bashの履歴展開(history expansion)に使われるため、思わぬコマンドが実行される危険がある。 |
| ` | コマンド置換(command substitution)に使われるため、意図しないコマンド実行を招く可能性がある。 |
| & | コマンドをバックグラウンドで実行する制御演算子。 |
| \ | エスケープ文字として使われる。特別な意味を無効化するための文字。 |
| " ' | 文字列を囲むクォートとして使われるため、誤って閉じないと構文エラーになる。 |
| (スペース) | コマンドや引数の区切りとして扱われるため、ファイル名に含めると誤動作の原因になる。 |
💬 補足
これらの文字はすべて bashシェルで特別な意味を持つ「メタキャラクタ」 です。
ファイル名に含めると、意図しないコマンド実行や構文エラーの原因になります。
もしどうしても使う必要がある場合は、ダブルクォーテーション(" ")で囲むか、
バックスラッシュ(\)でエスケープして安全に扱いましょう。
💬 例:スペースを含むファイル名を作成した場合
[suzuki@AlmaLinux ~]$ touch "my file.txt"
[suzuki@AlmaLinux ~]$ ls
my file.txt⚙️ ポイント
スペースや特殊文字を使いたい場合は、ダブルクォーテーション(" ") で囲むか、
バックスラッシュ(\) でエスケープします。
例:エスケープ
[suzuki@AlmaLinux ~]$ cat my\ file.txt📏 ファイル名の長さの制限
Linuxのファイル名には長さ制限があります。
一般的なファイルシステム(ext4など)では、1ファイル名につき最大255文字 まで使用できます。
| 項目 | 制限値 |
|---|---|
| ファイル名の長さ | 最大255文字 |
| パス全体の長さ | 最大4096文字 |
💬 注意
ファイル名が長すぎると、バックアップソフトやファイル転送ツールで扱えないことがあります。
命名は短く、意味が分かる範囲にまとめるのがベストです。
👀 隠しファイル(ドットファイル)
ファイル名の先頭に ピリオド(.) が付いているファイルは、隠しファイルとして扱われます。
[suzuki@AlmaLinux ~]$ ls
Desktop Documents
[suzuki@AlmaLinux ~]$ ls -a
. .. .bashrc .bash_profile Desktop Documents💬 解説
.bashrc や .profile のような設定ファイルは通常、非表示になっています。
ls -a オプションを使うことで、すべてのファイルを表示できます。
🔄 ファイル名を変更する(mvコマンド)
ファイル名を変更するには mv(move)コマンド を使用します。
mvは「移動(move)」のほかに「リネーム(rename)」の意味も持ちます。
コマンド書式
mv [オプション] 旧ファイル名 新ファイル名| オプション | 説明 |
|---|---|
| -i | 上書き前に確認する。 |
| -v | 実行した処理を表示する。 |
| -n | 上書きしない(安全モード) |
使用例
[suzuki@AlmaLinux ~]$ mv -v old_name.txt new_name.txt
renamed 'old_name.txt' -> 'new_name.txt'💬 ポイント
mvは上書きの危険があるため、-i を付けて確認するのがおすすめ。- ファイルを別のディレクトリに移動する際にも使用できます。
🧰 ファイル名を扱う基本コマンド
| コマンド | 主な用途 | 使用例 |
|---|---|---|
| ls | ファイルの一覧表示 | ls -a で隠しファイルも表示 |
| mv | ファイル名変更・移動 | mv old new |
| cp | ファイルコピー | cp file1 file2 |
| rm | ファイル削除 | rm file.txt |
| touch | 新規ファイル作成 | touch newfile.txt |
💬 注意
削除(rm)コマンドは取り消せないため、ファイル名のタイプミスに要注意です。
📋 Linuxのファイル名ルールまとめ

| ルール | 説明 |
|---|---|
| 大小文字の区別 | "File.txt" と "file.txt" は別ファイルとして扱われる。 |
| 使用可能な文字 | 英数字、ピリオド、アンダースコア、ダッシュが安全 |
| 特殊文字の制限 | スペースや「*」「?」などは避けるべき |
| 最大長 | 255文字以内(ext4ファイルシステムの場合) |
| ドットで始まるファイル | 隠しファイルとして扱われる(例:.bashrc) |
| 予約語の回避 | システムファイル名やデバイス名(例:/dev/null)は避ける。 |
| 命名のコツ | スペースの代わりに「_」や「-」を使用する。 |
💬 おすすめ命名例
report_2025.txt
config-backup.tar.gz
my_script_v2.sh🌱 まとめ:正しい命名はLinux管理の第一歩!
Linuxでは、ファイル名の付け方一つでコマンド操作の効率が変わります。
大文字・小文字の区別や特殊文字の扱いに気をつけることで、
スクリプトの誤動作やファイル操作のミスを防げます。
💬 一言でまとめると
「Linuxのファイル名は自由度が高いけど、ルールを守るともっと快適!」
