記事のディレクトリ
序文
Linux環境mount
コマンドはファイルシステムをマウントできます、コマンドは現在私が最も奇妙なことを知っているようにコマンドです、使用されていません、実際には一度もマウントされていません、通常最も使用されるのはWindwosシステムです、完全マウントする必要はありません、ドライブ文字新しいハードディスクをインストールすると自動的に表示されます。もう少し複雑なのは、ディスクマネージャを介してパーティションを作成するか、Magic PartitionAssistantを使用して少し複雑なパーティション分割またはフォーマット操作を実行することです。
Linuxシステムでは、アプリケーション開発機であれ購入サーバーであれ、ハードディスクがマウントされていますが、これまで手動でマウントする必要のある状況はなかったので、このコマンドに慣れていないので、本日決めました時間をかけて学ぶために機器、特にディスク関連の操作に関連する知識を要約しましょう。
ファイルの種類
「すべてがファイルである」(すべてがファイルである)はLinuxの機能なので、ディスクとデバイスについて学習する前に、ファイルの種類を見てみましょう。Linuxでは、ファイルの種類はサフィックスによって判断されません。コマンドを使用できますll
(またはls -l
)指定したディレクトリの内容を列挙でき、各行の最初の文字でファイルの大きなタイプを判断できます。
- -rw-rr-:
-
すべての通常のファイルの先頭 - brw-rr-:
b
先頭はブロックデバイスファイルです - crw-rr-:
c
先頭は文字デバイスファイルです - drw-rr-:
d
最初はディレクトリファイルです - lrw-rr-:
l
最初のファイルはソフトリンクであり、シンボリックリンクとも呼ばれます - prw-rr-:
p
最初はパイプラインファイルです - srw-rr-:
s
先頭はソケットファイルです
CentOSシステムデバイスディレクトリを確認できdev
ます。ここのファイルタイプは非常に豊富です。コンテンツが大きいため、コンテンツの一部のみをここに表示します。
[root@VM-0-3-centos ~]# ll /dev
total 0
crw------- 1 root root 10, 235 Feb 9 11:13 autofs
drwxr-xr-x 2 root root 120 Feb 9 11:13 block
drwxr-xr-x 2 root root 60 Feb 9 11:13 bsg
crw------- 1 root root 10, 234 Feb 9 11:13 btrfs-control
drwxr-xr-x 3 root root 60 Feb 9 11:13 bus
lrwxrwxrwx 1 root root 3 Feb 9 11:13 cdrom -> sr0
drwxr-xr-x 2 root root 2560 Feb 9 11:13 char
crw------- 1 root root 5, 1 Feb 9 11:13 console
lrwxrwxrwx 1 root root 11 Feb 9 11:13 core -> /proc/kcore
drwxr-xr-x 3 root root 60 Feb 9 11:13 cpu
crw------- 1 root root 10, 61 Feb 9 11:13 cpu_dma_latency
crw------- 1 root root 10, 62 Feb 9 11:13 crash
drwxr-xr-x 6 root root 120 Feb 9 11:13 disk
drwxr-xr-x 2 root root 60 Feb 9 11:13 dri
crw-rw---- 1 root video 29, 0 Feb 9 11:13 fb0
lrwxrwxrwx 1 root root 13 Feb 9 11:13 fd -> /proc/self/fd
crw-rw-rw- 1 root root 1, 7 Feb 9 11:13 full
crw-rw-rw- 1 root root 10, 229 Feb 9 11:13 fuse
crw------- 1 root root 10, 228 Feb 9 11:13 hpet
drwxr-xr-x 2 root root 0 Feb 9 11:13 hugepages
crw------- 1 root root 10, 183 Feb 9 11:13 hwrng
lrwxrwxrwx 1 root root 25 Feb 9 11:13 initctl -> /run/systemd/initctl/fifo
drwxr-xr-x 3 root root 240 Feb 9 11:13 input
crw-r--r-- 1 root root 1, 11 Feb 9 11:13 kmsg
srw-rw-rw- 1 root root 0 Feb 9 11:13 log
実際、コマンドであるfile
コマンドのファイルタイプをクエリするように設計された、より正確なものがあります。実行後にファイルタイプの説明が出力されると、以下をテストできます。
[root@VM-0-3-centos ~]# ll
total 12
-rwxr-xr-x 1 root root 67 Feb 9 13:44 connecttendis.sh
drwxr-xr-x 2 root root 4096 Feb 9 13:44 tarlist
drwxr-xr-x 4 root root 4096 Feb 9 13:40 tendis
[root@VM-0-3-centos ~]# file connecttendis.sh
connecttendis.sh: Bourne-Again shell script, ASCII text executable
[root@VM-0-3-centos ~]# file tendis/
tendis/: directory
説明は、connecttendis.shがシェルスクリプトであり、tendis /がディレクトリであることを示しています。
ファイルシステム
ファイルの種類について話した後、ファイルシステムについて話さなければなりません。ファイルシステムとは何ですか?実際、ファイルシステムがファイルを管理していることが名前からわかります。さまざまなファイルシステムでサポートされている最大容量、サイズ制限単一のファイルとストレージパフォーマンス、圧縮可能かどうか、検証を提供するかどうかなどは同じではありません。システムを作成するとき、Uディスクを書き込むとき、またはハードディスクをフォーマットするとき、ファイルシステムという用語はよく使われます。言及されました。
一般的に、Windowsのファイルシステムで使用されるFAT16
、FAT32
、NTFS
、exFAT
など、および一般的に使用されるLinuxファイルシステムext2
、ext3
、ext4
、tmpfs
、proc
これらのファイルシステムのすべてを覚えておく必要はありませんので、上、それは、Linux上で見ることができる/proc/filesystems
ファイルは、ファイルがで知っています現在のシステムサポートシステム。
[root@VM-0-3-centos ~]# cat /proc/filesystems
nodev sysfs
nodev rootfs
nodev ramfs
nodev bdev
nodev proc
nodev cgroup
nodev cpuset
nodev tmpfs
nodev devtmpfs
nodev debugfs
nodev securityfs
nodev sockfs
nodev dax
nodev bpf
nodev pipefs
nodev configfs
nodev devpts
nodev hugetlbfs
nodev autofs
nodev pstore
nodev mqueue
ext3
ext2
ext4
iso9660
nodev binfmt_misc
上記の結果を見ると、最初の列が空のファイルシステムは、その内容にアクセスするためにブロックデバイスにマウントする必要があります。そうすれば、通常どおりに使用できます。
ハードドライブをマウントします
Windowsのディレクトリはドライブ文字に分割されており、各パーティションにドライブ文字を割り当てることができます。各ドライブ文字はパーティションのルートであり、各ドライブ文字を介してコンテンツに順番にアクセスできます。Linuxでは、ドライブ文字の概念はありません。ルートディレクトリ/
と完全なディレクトリツリーは1つだけです。通常使用するには、このディレクトリツリーにハードディスクデバイスをマウントする必要があります。
/dev
ハードディスクデバイスを見つけることができるほぼすべてのデバイスファイルを格納するディレクトリがわかっています。
[root@VM-0-3-centos ~]# ll /dev/ | grep disk
drwxr-xr-x 6 root root 120 Feb 9 11:13 disk
brw-rw---- 1 root disk 7, 0 Feb 9 11:13 loop0
crw-rw---- 1 root disk 10, 237 Feb 9 11:13 loop-control
brw-rw---- 1 root disk 253, 0 Feb 9 11:13 vda
brw-rw---- 1 root disk 253, 1 Feb 9 11:13 vda1
コマンドの結果から、このコンピュータには通常のvda
ハードディスクが1つしかなく、ハードディスクにはパーティションが1つしかないことがわかりvda1
ます。これは現在の一般的な命名方法ですhd
。IDEインターフェイスを備えたハードディスク、sd
SATAインターフェース、およびvd
のvirtioディスクコア通常、ハードドライブ、リムーバブルハードディスク、Uディスク、等のSDX識別の形式、使用された最初のディスクa
サフィックスとして、例えばsda
順後ろ、ハードドライブsdb
、sdc
など、Aハードディスクサフィックスの最初のパーティション、パーティション番号の後ろ順番に増加します。
ハードディスクのパーティションを確認してください
ハードディスクデバイス/dev
はディレクトリを照会できますfdisk
が、より詳細な照会を行うことができます
[root@VM-0-3-centos dev]# fdisk -l
Disk /dev/vda: 53.7 GB, 53687091200 bytes, 104857600 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 label type: dos
Disk identifier: 0x000d64b4
Device Boot Start End Blocks Id System
/dev/vda1 * 2048 104857566 52427759+ 83 Linux
することによりfdisk -l
、クエリ結果の順序/dev
ディレクトリに見つかった情報と一致
現在マウントされているファイルシステムを表示する
現在マウントされているすべてのファイルシステムを表示するには、mount
十分なコマンドのみが必要です。-t tmpfs
パラメーターを追加して、ビューのタイプを指定することもできます。
[root@VM-0-3-centos ~]# mount
sysfs on /sys type sysfs (rw,relatime)
proc on /proc type proc (rw,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,size=930496k,nr_inodes=232624,mode=755)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,mode=755)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
...
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
configfs on /sys/kernel/config type configfs (rw,relatime)
/dev/vda1 on / type ext4 (rw,noatime,data=ordered)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime)
mqueue on /dev/mqueue type mqueue (rw,relatime)
tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,size=188204k,mode=700)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,relatime)
出力の各行の形式は同じで、スペースで区切られた6列のコンテンツが含まれ、特定の形式は次のとおりです。
<マウントディレクトリ>の<ブロックデバイスまたは他のファイルシステム>タイプ<ファイルシステムタイプ> <(ファイルシステムコンテンツに関連するオプション)>
'/ dev / vda1 on / type ext4(rw、noatime、data = ordered)'の場合、この動作/dev/vda
は、ハードドライブの最初のパーティションがext4
ファイルシステムのタイプをマウントすることを意味し、ルートマウントポイントディレクトリの/
括弧rw
は読み取りと書き込み、data=ordered
順序付けrelatime
は、ファイルアクセス時間属性を更新する方法でnoatime
あり、lazytime
タイプに加えて、このコンテンツはより多くなり、ここからは開始されません。興味がある場合は、記事「atime、lazytime、および詳細については、「ファイルシステムのrelatime」を参照してください。
ディスクパーティションをフォーマットする
使用mkfs
はディスクパーティションをフォーマットでき、同時にフォーマットするとファイルシステムタイプを変更できます
[root@VM-0-3-centos ~]# mkfs -t ext4 /dev/sda2
新しいディスクパーティションをマウントします
mount
コマンドを使用して、新しいディスクパーティションをディレクトリツリーにマウントできます
通常のマウント
[root@VM-0-3-centos ~]# mkdir -p /mnt/data
[root@VM-0-3-centos ~]# mount /dev/sda2 /mnt/data
読み取り専用としてマウント
[root@VM-0-3-centos ~]# mount -o ro /dev/sda2 /mnt/data
読み取り専用マウントが読み取り/書き込みモードに変更されました
[root@VM-0-3-centos ~]# mount /mnt/data -o rw,remount
オプティカルドライブをマウントします
CD-ROMドライブのマウント方法はハードディスクと同じですが、CD-ROMドライブは別のデバイスであり、異なるファイルに対応しています。
[root@VM-0-3-centos ~]# mount /dev/cdrom /media/cdrom
Windows共有ファイルをマウントする
Windows共有ファイルをマウントするには、WindowsコンピューターのIP、ユーザー名、およびパスワードが必要です。
[root@VM-0-3-centos ~]# mkdir -p /mnt/share
[root@VM-0-3-centos ~]# mount -t cifs -o username=admin,password=94741 //10.2.49.172/share /mnt/share
iOSファイルをマウントする
ISOファイルを直接マウントするのにCD-ROMドライブは必要ありません。最初に、ISOファイルの作成をシミュレートして使用する方が便利です。
[root@VM-0-3-centos ~]# genisoimage -o test.iso tendis/
I: -input-charset not specified, using utf-8 (detected in locale settings)
Using TENDI000.;1 for tendis/bin/tendisplus (tendisplus_static)
2.77% done, estimate finish Sat Feb 27 23:03:08 2021
5.53% done, estimate finish Sat Feb 27 23:03:08 2021
8.30% done, estimate finish Sat Feb 27 23:03:08 2021
...
49.78% done, estimate finish Sat Feb 27 23:03:10 2021
...
99.55% done, estimate finish Sat Feb 27 23:03:11 2021
Total translation table size: 0
Total rockridge attributes bytes: 0
Total directory bytes: 6144
Path table size(bytes): 50
Max brk space used 1a000
180825 extents written (353 MB)
/mnt/iso
ISOはその上のディレクトリに直接マウントされ、ディレクトリファイルtest.isoの内容にアクセスできます。
[root@VM-0-3-centos ~]# mkdir -p /mnt/iso
[root@VM-0-3-centos ~]# mount test.iso /mnt/iso
mount: /dev/loop0 is write-protected, mounting read-only
コンピュータ機器の概念
コンピュータサイエンスには多くの概念があり、それらを読んだ後に毎回忘れられるセクター、ブロック、クラスター、ページなどの内容が不明確であるか、混同されていることがよくあります。簡単な要約を次に示します。
セクタ
物理レベルの概念に属するユニットとしてのハードディスクセクターの読み取りと書き込み。オペレーティングシステムはセクターと直接対話せずfdisk -l
、セクターサイズを表示できます。
[root@VM-0-3-centos dev]# fdisk -l
Disk /dev/vda: 53.7 GB, 53687091200 bytes, 104857600 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 label type: dos
Disk identifier: 0x000d64b4
Device Boot Start End Blocks Id System
/dev/vda1 * 2048 104857566 52427759+ 83 Linux
その中で、セクターサイズはセクターサイズを表しており、結果から論理セクターと物理セクターに分けられますが、この例ではどちらも512バイトです。
ブロック、クラスター
ブロックとクラスターは実際には一種のものです。通常、Linuxシステムはブロックと呼ばれ、Windowsシステムはクラスターと呼ばれます。これはデータの読み取りと書き込みを行うファイルシステムの最小単位です。各ディスクブロックには、隣接する2、4、8を含めることができます。 16、32、または64セクターは、オペレーティングシステムで使用される論理概念であり、コマンドをstat /boot
表示できます。
[root@VM-0-3-centos mnt]# stat /boot
File: ‘/boot’
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: fd01h/64769d Inode: 18 Links: 5
Access: (0555/dr-xr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2018-08-08 11:20:35.109000000 +0800
Modify: 2021-02-09 11:14:21.799238058 +0800
Change: 2021-02-09 11:14:21.799238058 +0800
Birth: -
その結果、IOブロックは4096バイトのディスクブロックサイズ、つまり4Kになります。そのため、ディスクスペースをより効率的かつ適切に管理するために、隣接するセクターがブロックにマージされてデータにアクセスします。オペレーティングシステムでは、ディスクブロックに配置できるファイルは1つだけであると規定されているため、スペースが無駄になります。つまり、ほとんどの場合、ファイルが占めるディスクスペースはファイルサイズよりも大きくなります。
ページ
これはメモリ関連の概念であり、メモリの最小ストレージユニットです。そのサイズは通常、ディスクブロックサイズの2 n 2 ^ nです。2n回、コマンドgetconf PAGE_SIZE
を使用してページのサイズを取得します
[root@VM-0-3-centos mnt]# getconf PAGE_SIZE
4096
総括する
mount
Linuxシステムでは非常に重要なコマンドですが、あまり使われていないように感じます- シャットダウンシステムで新しくマウントされたハードディスクがアンロードされた後、
/etc/fstab
ファイルをマウントするための情報を追加して、ブートを自動的にマウントできます。 - 複数のデバイスを同じディレクトリにマウントできます。デフォルトでは、後でマウントされたコンテンツは以前にマウントされたコンテンツを非表示にし、後続のマウントはマウント解除され、以前にマウントされたコンテンツも表示されます
- 同じデバイスを異なるディレクトリにマウントでき、マウント時に異なるアクセス許可を指定できるため、異なるディレクトリにある同じコンテンツを異なるアクセス許可で表示できます。
- セクターは、物理的な概念に属するハードディスクの読み取りと書き込みの基本単位です。
- ブロック/クラスターは、論理的な概念に属する、データを読み書きするためのオペレーティングシステムの基本単位です。
- ページはメモリの最小ストレージユニットであり、通常はディスクブロックサイズの2 n 2 ^ nです。2n回
何千マイルもの山や川が世界中を旅してきましたが、誰が入っても春と秋は数十年しか経っていません〜
「あなたは私に何かをするように教えていますか?」