ドライブ名?「/ dev / sda」の「sda」部分の正しい用語は何ですか?


16

fdisk(8)言う:

通常、デバイスは/ dev / sda、/ dev / sdbなどです。デバイス名はディスク全体を指します。libata(ATAホストコントローラーとデバイスをサポートするためにLinuxカーネル内で使用されるライブラリ)のない古いシステムは、IDEディスクとSCSIディスクを区別します。そのような場合、デバイス名は/ dev / hd *(IDE)または/ dev / sd *(SCSI)になります。

パーティションは、デバイス名の後にパーティション番号が続きます。たとえば、/ dev / sda1はシステムの最初のハードディスクの最初のパーティションです。 Linuxカーネルのドキュメント(Documentation / devices.txtファイル)も参照してください。

これに基づいて、Linuxのコンテキストでは、/dev/hdaまたはのような文字列/dev/sdaが「デバイス名」であることを理解しています。そうでなければ、私は上記強調してきた2番目の文が意味を成さない。その代わりに、と言うでしょう「例えば、sda1には、システムの最初のハードディスクの最初のパーティションです。

このビューは、Linux Partition HOWTOによって裏付けられています。

慣例により、IDEドライブにはデバイス名/ dev / hda〜/ dev / hddが与えられます

部分文字列hdaまたはsdaそのようなデバイス名の技術的に正しい(そして、できれば、明確で簡潔な)英語の用語はありますか?たとえば、この場合sda、ドライブを呼び出すのは正しいでしょうか?

  • 「短い名前」; または
  • 「非修飾デバイス名」; または
  • 他に何か?

(私は、たとえそれらが一般的に使用されているとしても、技術的に不正確な口語表現を求めていません。)


3
FWIW、dkinfoのマニュアルページは、ディスクデバイスのフルパス名を使用しない、私が遭遇した唯一のコマンドで、「ディスク名」と呼ばれます。
マークPlotnick

@MarkPlotnick、ありがとう。ただし、この質問はLinuxまたはGNU / Linuxに関するものであり、他のOSに関するものではありません。そのため、dkinfoLinuxまたはGNU / Linuxの一部ではない(ただし、代わりにSunOSの一部である)は、範囲外です。申し訳ありません。
サンパブロクパー

回答:


25

sdaはデバイスです。/dev/sdaはデバイスのパスです。

考えて/sbin/fdiskfdiskファイルのある名前ながら、/sbin/fdiskファイルのあるパス


5
あなたはそれのいくつかの意味が...あるとして、「デバイスパス」と注意する必要がありますが
derobert

1
ありがとう:)「sdaはデバイス名です。/dev/sdaはデバイスパスです。」あなたが与えた理由から、それも私の最初の見方でしたが、私の質問で引用されたutil-linux fdiskのmanページの抜粋をよく読むことによってサポートされていません。(私は今、これをより強調するために質問を編集しました。)したがって、私はここでSEに関する問題について尋ねます。NBこれはあなたの答えが間違っているという意味ではありません-おそらくmanページのその部分はだらしなく書かれていますか?-答えとutil-linux fdiskのmanページが対立しているように見えることを意味します。答えを裏付ける情報源はありますか?再度ありがとう:)
sampablokuper

6
/dev/sdaブロックデバイスへのパスですが、実際のデバイスパスがようなものになるだろう/devices/pci0000:00/0000:00:17.0/ata2/host1/target1:0:0/1:0:0:0/block/sda
ディートリッヒエップ

2
@jiggunjer:ただしmount、デバイスドライバーにRAM(ボリュームではなく)をファイルシステムとしてマップしたり--bind、ファイルツリーの一部をサブツリーとしてマップしたりすることもできます。複数のボリュームを持ち、その一部にアクセスまたはアクセス解除するもの。要するに、mount多くのことができますが、最も典型的なのは、ファイルシステムをファイルツリーのどこかに表示させることです。
ウォリック

1
@jiggunjerあなたはファイルシステム形式を意味するかもしれませんが、それはそのような形式のインスタンス化と同じではなく、通常はボリュームと呼ばれるファイルシステムと呼ばれます。それが技術的に間違っていても、それは人々がファイルシステムによって意味するものです。ボリュームとしてのファイルシステム形式のインスタンス化を審判する誰にも会ったことがありません。私がこのトピックについて読んだ本の中で、「ボリューム」という言葉を「ファイルシステム」(どちらの意味でも)を意味するものとして使用したことはありません。
鮮明

6

sda部分は/dev/sda、あなたの視点に応じていくつかのことを表します:

  1. ファイル名
    一般に、これはファイルの名前であり、ディスクの場合はブロックデバイスであるため、デバイス名です。

    ルートとして:

    $ ls -la /dev/sd*
    brw-rw---- 1 root disk 8, 0 Sep 11 22:01 /dev/sda
    brw-rw---- 1 root disk 8, 1 Sep 11 22:02 /dev/sda1
    brw-rw---- 1 root disk 8, 2 Sep 11 22:01 /dev/sda2
    
  2. ディスク名
    sdaは、ディスクに名前を付ける文字列です(パーティションsda1、sda2、sdXなどとは異なります)。通常、適用されるデバイスルールに基づいてudevによって生成されます。

  3. ディレクトリパス
    sdaは、パスのベース名です/dev/sda


ディスク名に関連する解釈に限定:

昔:sdaはSCSIディスクaのデバイス名でし

同じライブラリがSATAドライブに拡張されたので、私は今それを呼び出すべきだと思います:

device name: SATA/SCSI/SAS disk a

または単に:

device name: first SATA/SCSI/SAS disk

3

それはカーネルが生成したブロックのディスク/パーティションデバイス名

sdaカーネルによって生成されたディスク名です。カーネルドライバー(SATAディスクの使用に非常に便利なSCSIスタックを含む)disk_nameは、gendisk構造のフィールド(SCSIの場合:drivers / scsi / sd.c#L3338)を埋めてsda名前を生成します。

この名前は、後にブロックデバイスの対応する名前にするために使用され/dev/sysそして/proc/{partitions,diskstats}。ただし、procfsのマニュアルではパーティション名proc(5))とディスクの統計に関するドキュメントではデバイス名iostats.txt)と呼びます。


興味深いことに、私は推測sda/dev/sda、交換可能であり、両方ともデバイス名と呼ばれます。(通常のシステムでは)あなたがマウントので、私はそれだと思うdevfs上の/devような名前ので、sda同様の経路へのターン/dev/sda(あなたも名前を呼び出すことができます)。
ピーターコーデス

1

Linux / Unixでは、すべてがファイルです。デバイスはファイルとして表されます。/ devの場所にあるすべてのデバイスタイプファイル。したがって、sdaはブロックデバイスタイプの特殊ファイルです。

hd(x) - IDE
sd(x) - SATA,SSD,ISCI,SAS

:xは変数です。xはハードディスクの位置を表します。

if x = a for IDE disk means hda represents primary master disk
   x = b for IDE disk means hdb represents primary slave disk

今SDで*

if x = a for SATA/SSD/ISCI/SAS sda represents first disk
   x = b fo SATA/SSD/ISCI/SAS sdb represents second disk

IIRC、IDE(PATA)ディスクでさえsd*、いくつかのドライバーで名前を取得しますか、それとも常に最新のカーネルで名前を取得しますか?忘れてしまいましたが、PATAと最新のカーネルを備えたアクティブなマシンはありません。
ピーターコーデス

2
答えてくれましたが、私が尋ねた質問に対処していないようです:(のようなコンテキスト/dev/sdasdaはファイルであることを理解し、ファイルが何を表しているのかも理解しています。私の質問はサブストリングとストリングを何と呼ぶかについてでしたsda口頭でそれらを参照するとき、それが好きです。
sampablokuper17年

1
@PeterCordesはしばらくの間openSUSE Leap 42.2を使用していましたが、IDE PATAドライブがハードおよびオプティカルの両方でsdX名前を取得し、SATAおよびSUBとも混在していることを確認できます。
ジプシースペルウィーバー

1

少なくとも2つの有効な回答があるようです

  1. sdaドライブの「ベース名」と正しく呼ぶことができます。

  2. sdaドライブの「カーネルディスク名」と正しく呼ぶこともできます。

どのようにしてこの結論に達しましたか?

もっともらしい候補のそれぞれの除去のプロセスによって:

  • "装置名"

これは正しい用語ではありません。元の質問で述べたように、最終的なフラグメント(例)ではなく、完全修飾名(例/dev/sda)を指しsdaます。

補強法則は、次のような追加のソースに存在するP.68SUSE Linux Enterprise Serverの12 Definitive Guideの

使用することもできます…デバイス名に基づくマウント(など/dev/sdb1)…

そして、P.94Linuxの聖書2008年版

[デバイス]タブをクリックし、デバイス名(など/dev/cdrom)を入力します…

  • 「ファイル名」または「ファイル名」

技術文書では、最終的なフラグメント(例)だけでなく、完全修飾名(例/dev/sda)の同義語として使用されているため、これも正しい用語にすることはできませんsda

BASENAME(1)

basename-ファイル名からディレクトリとサフィックスを削除します

DIRNAME(1)

dirname-ファイル名から最後のコンポーネントを取り除く

  • "名前"

技術文書では、最終的なフラグメント(例)だけでなく、完全修飾名(例/dev/sda)の同義語として使用されているため、これも正しい用語にすることはできませんsda

GNU Coreutils:ベース名の呼び出し

basenamenameから先頭のディレクトリコンポーネントを削除します。

GNU Coreutils:dirname呼び出し

dirnamenameの最後のスラッシュ区切りコンポーネントを除くすべてを出力します。

  • 「ショートネーム」または「ショートネーム」

これも正しい用語ではありません。デバイス名の最後の部分を「ショートネーム」または「ショートネーム」と呼ぶ技術文書が見つかりません。これらの用語は、LinuxまたはGNUで、VFATマウントオプション、またはネットワーク上のホスト のコンテキストでのみ使用されるようです

  • 「ベース名」

この用語は、Red Hat Linux 7のインストールのp.149に基づいた有効な答えのようです。

パーティションを作成しようとしているディスクのベース名がリストされていないことを絶対に確認してください(これはhdb、追加したドライブの場合です)。

そして、Algonquin Collegeの CST8207(GNU / Linuxオペレーティングシステム)のコースノート

ベース名の定義:パス名のベース名は、右端のスラッシュの右にある右端の名前コンポーネントです。

そしてp.1456Red Hat Linuxの8の実用ガイド

basename:パス名とは対照的に、ファイルを含むディレクトリのいずれにも言及していない(したがって、スラッシュ[/]を含まない)ファイルの名前。たとえばhosts、はのベース名です/etc/hosts

幸いなことに、GNU / Linuxにはbasenameコマンドがあり、ベース名を取得するために使用できます。

$ basename '/dev/sda'
sda
  • 「カーネルディスク名」

この用語はまた起因して、有効な回答のように見えるP.100一言でLinuxカーネル

/dev/<diskname>

<diskname>ルートディスクとして指定されたカーネルディスク名を使用します。

ちなみに、「カーネルディスク名」は、Solarisのコンテキストでは有効な用語のようにも見えます

このバージョンのiostatコマンドの場合、出力には、論理カーネルディスク名ではc0t0d0なく(つまり、sd0)物理デバイスパスごとに、アクティビティがゼロ以外のディスクデバイスのみの拡張統計が表示されます。


はい、パスの分割について話しているときにベース名を言うことができますが、デバイスについて話しているときに「ベース名」を見たことはありません。「名前」はい、「ベース名」はい。質問内のリンクはどちらも「ベース名」または「ベース名」という用語を使用していません。質問のソースがベース名の呼び出しをサポートしているとはどういう意味ですか?
ピーター

@PeterCordes、次のような文字列/dev/sdaが参照されることを意味しました:BASENAME(1)as "filenames"; 「ファイル名」としてのDIRNAME(1); 「名前」としてのGNU Coreutilsドキュメント。&FDISK(8)およびTLDPによる「デバイス名」。そのため、これらの用語はいずれも、文字列の最後のスラッシュで区切られたコンポーネントのみを指すために明確に使用することはできません。エルゴ、文字列のその部分を明確に参照するために使用できる用語が必要な場合は、別のものを使用する必要があります。私の答えのソースは、まとめて、最後のスラッシュの前の部分が「dirname」であり、その後の部分が「basename」であると言います。ほら
サンパブロクパー

それは公平だと思います。あなただけ受け入れ何かを文書化していた場合sdaとではない/dev/sda、あなたは「ベース名」を呼ぶかもしれません。または、そのドキュメントで「名前」と「パス」を使用して、ほとんどのドキュメントと同じように例を示すこともできます。一部のドキュメントでは完全なパスを含めるために「名前」を使用しているにもかかわらず、「名前」以外によく同意されている用語はないと思います。
ピーターコーデス

0

「すべてがファイル」- sda単なるファイル名ではなく、/devデバイスのディレクトリ(および空の文字列の拡張子)が、/dev/sda慣例により最初の非IDEディスクであるフルパスを介して利用可能になりますか?同じようにpasswd、ファイル名とである/etcとしてアクセス可能なファイルのディレクトリ/etc/passwd大会含まれ(ED)パスワードデータによるものでは?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.