アットウィキロゴ

Windowsとの違いやつまずきそうなところなどを集めるページ。

ディレクトリって何?

Windowsで言うところの「フォルダ」みたいなものです。

  • Windows でも 3.1 まではディレクトリと呼ばれていた。フォルダと呼び変えたのは Mac を意識してのこと。

パスの区切りが \ じゃないの?

パスの区切りは \ ではなく、/ を使います。

デーモンとサービスの違いはなんですか?

同じようなものです。Windows NT と UNIX で呼び方が違うだけ。

バイナリに .exe とかの拡張子はつかないのですか?

つきません。コマンド名を表す単語だけです。*1
実態がシェルスクリプトだったりしても、他のプログラムと合わせて拡張子は省略されることが多いです。拡張子が exe でなくてもファイルに実行権限がついていれば実行可能です。

マイコンピュータは無いのですか?

ありません。
ファイル操作をしたいなら、GUI のファイルマネージャを使うかシェルのコマンド操作でやってください。FD Clone とか Midnight Commander みたいなファイル管理ツールも使えます。
ハードウェアの情報を知りたいなら /proc ディレクトリ以下のファイルを見ましょう。例えば CPU の情報を知りたい場合は

cat /proc/cpu
cat /proc/cpuinfo

と入力すると CPU に関する情報が表示できます。

ドライブはどこにあるのですか?

Linux にはドライブというものは存在しません。
増設したハードディスクやパーティションは、デバイスをマウントすることでファイルシステムの任意の場所に追加します。

マウントってなんですか?

マウントとは、デバイスをファイルシステムに乗せ、1つのディレクトリとしてファイルを読み書きできるようにする事です。
udev というソフトが設定されているので自動でやってくれます。されてないときは mount/umount コマンドでマウントしたりアンマウントしたりできます。

文字コード関連

Windows で作ったテキスト文書がうまく読めません(文字コード変換)

文字化けの原因は OS ごとにと使用している日本語の文字コードが違うことに因ります。Windows では Shift JIS、Linux では UTF-8 が使われていることが多いようです。
それぞれの文字コードに対応したコマンド、エディタ、ページャで表示 or 変換してください。

Emacs

mule 機能が入っていれば問題なし。M-x set-buffer-file-coding-system 後の質問で utf-8-unix と指定すると UTF-8&改行LF で保存できる。

vim

問題なし。:set fileencoding=utf-8 とすると以降の保存時の文字コードが UTF-8 に、:set fileformat=unix とすると 以降の保存時の改行が LF になる。

cat

cat はファイルの内容をそのまま出力するので、端末の漢字コードの設定とファイルの内容の漢字コードが違うと表示できません。表示できない場合は lv などを使うか、nkf などの変換ソフトを通しましょう。

less

日本語は UTF-8 であれば、Windows や Mac の改行コードも自動認識して表示します。SJIS などを表示したい場合はこちらを見てください。

lv

問題なし。ページャながら出力もでき、lv -oej unicode.txt > eucjp.txt とすると utf8なファイルも変換できる。参考→@IT

iconv

日本語だけでなくさまざまな国の文字コードを扱える。ディストリビューション標準で入っていることもある。 使い方はUNIXの部屋 コマンド検索: iconv

nkf

nkf -w -d sjis.txt で UTF-8 に変換して出力できる。元のファイルを変換結果で置き換えたいときは、リダイレクトせずに --overwrite を使う。

改行コード

また、改行コードの違い (Windows では CR + LF、Linux/UNIX では LF) のため、Windows で作ったテキストファイルを Linux で表示したときに行末に変なゴミのような文字(CR)がついていたりする*2ことがあります。
nkf -Lu (-d) というオプションで、CR + LF な改行コードの文書は CR だけ取り除くことができます。LF だけの時は何もしないので、おまじないとして付けておくと良いでしょう。

Windows 領域のハードディスク, CD-ROM の日本語ファイル名が読めません

カーネル 5.15 以降の Linux では、標準の NTFS ドライバが自動で UTF-8 に変換します。文字化けする場合は、utf8 オプションを明示してマウントしてください。

$ sudo mount -t ntfs3 -o utf8 /dev/sdXN /mnt/windows

USB メモリや SD カードでは、FAT ファイルシステムのマウントが必要です。自動認識がおかしい場合は、以下のオプションを指定してみて下さい。

$ sudo mount -t exfat -o utf8 /dev/sdXN /mnt/usb             # 64GB 以上の場合
$ sudo mount -t vfat -o codepage=932,iocharset=utf8 /dev/sdXN /mnt/usb # 32GB 以下の場合

その他

Linux で Windows のプログラムが動きません。

Linux で Windows の実行ファイルを動かすことはできません。動作させるために足りないものが多すぎるし、実行ファイルの形式も異なる。Wine がWindowsの実行ファイルをそこそこ動作させています。

Windows と併用すると時刻が狂ってしまいます。

Linux と Windows を併用している場合、時刻設定でシステムクロックに UTC (協定世界時) を使用するように時刻設定していると 9 時間から 10 時間ぐらい時刻がずれる事があります。
インストール時にタイムゾーン設定でシステムクロックに UTC ではなく JST (日本標準時) を使用すると直ることがあります。Ubuntu ではインストール時に Windows を認識すると自動で現地時間に合わせます。
Windows と併用しない場合で、UTC でぴったりだった場合は JST にするとずれるので注意(逆も同様)。どちらがいいかはマシンによる。

Linux から Windows の exFAT, VFAT パーティションは読み書きできますか?

最近のティストリビューションは挿せば自動マウントして読み書きできます。マウントしない場合は、root で以下のように実行してください。*3

$ sudo mkdir /mnt/windows
$ sudo mount -t exfat /dev/sdXN /mnt/usb # 64GB 以上の場合
$ sudo mount -t vfat /dev/sdXN /mnt/usb  # 32GB 以下の場合

Linux から Windows の NTFS パーティションは読み書きできますか?

NTFS パーティションを読み込み専用でマウントするには cat /proc/filesystems のリストに"ntfs"があるかを確認し、root で

$ sudo mkdir /mnt/windows
$ sudo mount -t ntfs /dev/sdXN /mnt/windows

のようにマウントすればファイルが読み込み可能。*4

Windows から Linux の ext4 パーティションを読みたい。

Windows 標準機能の WSL 2(Windows Subsystem for Linux)で、システムと別ディスクの ext4 を読み書きできます。スタートボタンを右クリック→「ターミナル(管理者)」で管理者 PowerShell を開いて以下のように実行します。

PS> wsl --mount \\.\PHYSICALDRIVE<番号> --partition <パーティション番号>

システムディスク内の ext4 を読むソフトは、以下のものがあります。

LAN で繋がった Windows マシンと Linux マシンの間でファイル共有をしたい。

SambaFAQs を参照のこと。

関連リンク

最終更新:2026年06月23日 14:07

*1 mono の C# コンパイラ mcs でコンパイルした実行ファイルには .exe という拡張子がつきますが、実行するには .NET 環境が必要です。

*2 逆に UNIX 系 OS で作られたテキストファイルを Windows のメモ帳などで表示したときに正しく改行されないこともあります。正しく編集できる代替エディタを探してみてください。

*3 /dev/hdXX の部分は環境によって変更してください。

*4 /dev/sdXN の部分は環境によって変更してください。