なぜls /dev/sda1をしてはいけないのですか?

なぜls /dev/sda1をしてはいけないのですか?

USBスティックを介して外部microSDカードをコンピュータに接続しました。見ることができるので自動的にインストールされたと思います。

$ ls /media/me
7538-3DFD

/dev/sda1見てインストールされたと思います。

$ sudo fdisk -l
Disk /dev/loop0: 4 KiB, 4096 bytes, 8 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

...    

Disk /dev/nvme0n1: 476.94 GiB, 512110190592 bytes, 1000215216 sectors
Disk model: SAMSUNG MZVKW512HMJP-00000              
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 00330861-D059-4F2E-8AAD-204F67A60293

Device           Start        End   Sectors   Size Type
/dev/nvme0n1p1    2048    1050623   1048576   512M EFI System
/dev/nvme0n1p2 1050624 1000214527 999163904 476.4G Linux filesystem

...

Disk /dev/sda: 29.73 GiB, 31927042048 bytes, 62357504 sectors
Disk model:  Storage Device 
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x00000000

Device     Boot Start      End  Sectors  Size Id Type
/dev/sda1        8192 62357503 62349312 29.7G  c W95 FAT32 (LBA)

(... /dev/loop__の多くのアイテムを移動しました)

lsを実行し/media/me/7538-3DFDてそのディレクトリ内のファイルを見ることはできますが、/dev/sdaまたはから直接lsを実行することはできません/dev/sda1。私が見るのは/dev/sdaまたはです/dev/sda1。なぜそんなことですか?私のMicroSDカードは別の場所にインストールされていますか?それではなぜ見ることができないのですかfdisk -l

答え1

/dev/sda/dev/sda1「ディスクブロック(クラスタ)」のみを読み書きする「ブロックデバイス」です。ブロックデバイスが「マウント」されると、man mountデバイスは「ファイルシステム」によって解釈され、そのデバイスのファイルシステムに接続されます/media/me/7538-3DFD

答え2

/dev/sda1パーティションであるブロックデバイスのフラグメントにアクセスできる特別なファイル。あなたの場合、そのデバイスはmicroSDカードです。/dev/sdaカード全体へのアクセスを提供します。十分な権限があれば、パーティションまたはカード全体を最初から最後まで単一のデータストリーム(単一の「BLOB」)として読み取ることができます。十分な権限があれば、データをパーティションまたはカード全体にストリーミングできます。

パーティション/dev/sda1にはファイルシステムが含まれており、「blob」には内部構造があります。 tar、rar、またはzipアーカイブに多少似ています。ファイルとディレクトリツリーもメタデータとともにこれらのアーカイブに書き込むことができます。

通常、tarまたはzipを抽出します。しかし、これらのアーカイブを見て、個々のファイルを取得し、ファイルを追加して変更することができるプログラムがあります。

のファイルシステムで同様のことができますが、/dev/sda1使用するプログラムは(通常)適切なファイルシステムドライバを持つカーネル自体です。マウントポイントにファイルシステムをマウントすると(あなた/media/me/7538-3DFDの場合は/dev/sda1いいえマウントポイント)、ファイルシステムの「アーカイブ」に簡単にアクセスできます。マウントポイントでファイルを読み書きするとき、カーネルは実際に「blob」への読み書きをスケジュールし、それを/dev/sda1正しい方法で実行するため、ファイルシステムはまだ有効なファイルシステムです。タイプ。

ただし、tarファイルと同様に、tarファイルは、一部のプログラムでコンテンツを表示してもまだtarファイルであり、ファイルシステムがマウント/dev/sda1されて使用されていても、パーティションに関連する特別なファイルです。 tarファイルや/dev/sda1ディレクトリを期待しないでください。マウントされたファイルシステムの場合、マウントポイントは次のようになります。これファイルシステム内のファイルにアクセスするには、このディレクトリを使用する必要があります。

答え3

  • の項目は/devデバイスです。あなたはあなたのシステムに接続されている各デバイスに対して(少なくとも)1つを受け取ります。たとえば/dev/sda/dev/sda1
  • 以下のディレクトリ/mediaは通常、リムーバブルストレージ接続時に自動的にマウントされるファイルシステムです。たとえば、/media/me/7538-3DFD

関連情報