O fdisk (8) diz:
O dispositivo geralmente é / dev / sda, / dev / sdb ou mais. Um nome de dispositivo refere-se ao disco inteiro. Sistemas antigos sem libata (uma biblioteca usada dentro do kernel do Linux para suportar dispositivos e controladores de host ATA) fazem a diferença entre os discos IDE e SCSI. Nesses casos, o nome do dispositivo será / dev / hd * (IDE) ou / dev / sd * (SCSI).
A partição é um nome de dispositivo seguido por um número de partição. Por exemplo, / dev / sda1 é a primeira partição no primeiro disco rígido do sistema. Consulte também a documentação do kernel do Linux (o arquivo Documentation / devices.txt ).
Com base nisso, entendo que, no contexto do Linux, uma string como /dev/hda
ou /dev/sda
é um "nome do dispositivo". Caso contrário, a segunda frase que enfatizei acima não faz sentido: ela diria: " Por exemplo, sda1 é a primeira partição no primeiro disco rígido do sistema " .
Essa visão é corroborada pelo HOWTO da Partição do Linux :
Por convenção, as unidades IDE receberão nomes de dispositivos / dev / hda para / dev / hdd .
Existe um termo em inglês tecnicamente correto (e, de preferência, inequívoco e conciso) para a substring hda
ou o sda
nome desse dispositivo? Por exemplo, seria correto neste caso chamar sda
as unidades:
- "nome curto"; ou
- "nome não qualificado do dispositivo"; ou
- algo mais?
(Não estou pedindo coloquialismos tecnicamente incorretos, mesmo que sejam de uso comum.)
fonte
dkinfo
que não faz parte do Linux ou GNU / Linux (mas faz parte do SunOS ), está fora do escopo, desculpe.Respostas:
sda
é o nome do dispositivo ./dev/sda
é o caminho do dispositivo .Pense em
/sbin/fdisk
,fdisk
é o nome do arquivo , enquanto/sbin/fdisk
é o caminho do arquivo .fonte
/dev/sda
é o caminho para o dispositivo de bloco, mas o caminho real do dispositivo seria algo parecido com/devices/pci0000:00/0000:00:17.0/ata2/host1/target1:0:0/1:0:0:0/block/sda
mount
também direciona um driver de dispositivo para mapear alguma RAM (não um volume) como um sistema de arquivos, pode--bind
uma parte da árvore de arquivos como uma subárvore etc. Além disso, montar um "disco" RAID pode ser útil e / ou bizarro coisas com vários volumes para acessar ou desativar partes dele. Em resumo,mount
pode fazer muitas coisas, mas o mais típico é fazer com que um sistema de arquivos apareça em algum lugar da árvore de arquivos.A
sda
parte de/dev/sda
pode representar várias coisas, dependendo do seu ponto de vista:Nome do arquivo
Em geral, é o nome de um arquivo que, se for um disco, é um dispositivo de bloco , portanto, um nome de dispositivo
Como raiz:
Nomes de disco
sda
é a string que atribui um nome a um disco (diferente das partições sda1, sda2, sdX, etc.). Geralmente é gerado pelo udev com base nas regras de dispositivo aplicadas.Caminho do diretório
sda
é o nome base do caminho/dev/sda
Limitado à interpretação relacionada aos nomes de disco:
Antigamente: sda costumava ser o nome do dispositivo do disco SCSI a .
Como a mesma biblioteca foi estendida para unidades SATA, acho que agora ela deve ser chamada:
Ou simplesmente:
fonte
É o nome do dispositivo de disco / partição de bloco gerado pelo kernel :
sda
é um nome de disco gerado pelo kernel. Os drivers do kernel (incluindo a pilha SCSI, que é muito conveniente de usar para discos SATA) preenchem odisk_name
campo dagendisk
estrutura (por exemplo, para SCSI: drivers / scsi / sd.c # L3338 ) para gerar osda
nome.Este nome é usado posteriormente para ser o nome do dispositivo de bloco correspondente em
/dev
,/sys
e/proc/{partitions,diskstats}
. No entanto, o manual para procfs nomeia o nome da partição ( proc (5) ) e a documentação sobre estatísticas do disco chama-o nome do dispositivo ( iostats.txt ).fonte
sda
e/dev/sda
são intercambiáveis, e ambos chamados de nome do dispositivo. Eu acho que é porque (em um sistema normal) você montardevfs
em/dev
, por isso, nomes comosda
transformar-se em caminhos como/dev/sda
(que você também pode chamar um nome).No Linux / Unix, tudo é um arquivo. Um dispositivo representa como um arquivo. Todo o arquivo de tipo de dispositivo localizado no local / dev. Então sda é um arquivo especial do tipo dispositivo de bloco.
Nota : onde x é uma variável. x representa a posição do disco rígido.
Agora em sd *
fonte
sd*
nomes com alguns drivers, ou sempre com kernels modernos? Eu esqueço, não tenho máquinas ativas com PATA e um kernel moderno./dev/sda
,sda
é um arquivo, e também entendo o que o arquivo representa. Minha pergunta era sobre o que chamar de substringsda
e strings como ele, quando se refere a eles verbalmente.sdX
nomes e também se misturam com o SATA e o SUB.Parece haver pelo menos duas respostas válidas
sda
pode ser chamado corretamente de "nome da base" da unidade.sda
também pode ser chamado corretamente de "nome do disco do kernel" para a unidade.Como você chegou a essa conclusão?
Por processo de eliminação em cada um dos candidatos plausíveis:
Este não pode ser o termo correto. Como observado na pergunta original , refere-se ao nome completo (por exemplo
/dev/sda
), não ao fragmento final (por exemplosda
).Existem evidências corroboradoras em fontes adicionais, como na p.68 do Guia Definitivo do SUSE Linux Enterprise Server 12 :
e p.94 da Linux Bible 2008 Edition :
Este também não pode ser o termo correto, pois é usado na documentação técnica como sinônimo do nome completo (por exemplo
/dev/sda
), não apenas do fragmento final (por exemplosda
):NOME DE BASE (1) :
DIRNAME (1) :
Este também não pode ser o termo correto, pois é usado na documentação técnica como sinônimo do nome completo (por exemplo
/dev/sda
), não apenas do fragmento final (por exemplosda
):GNU Coreutils: invocação de nome de base :
GNU Coreutils: invocação de dirname :
Este também não pode ser o termo correto. Não consigo encontrar nenhuma documentação técnica que se refira à última parte do nome de um dispositivo como "nome abreviado" ou "nome abreviado". Esses termos parecem ser usados, no Linux ou GNU, apenas no contexto das opções de montagem VFAT ou nos nomes de host nas redes .
Este termo parece ser uma resposta válida, com base na p.149 de Instalando o Red Hat Linux 7 :
e as notas do curso para CST8207 (Sistemas operacionais GNU / Linux) no Algonquin College :
e p.1456 de Um Guia Prático do Red Hat Linux 8 :
Felizmente, o GNU / Linux também possui um
basename
comando, que pode ser usado para obter o nome da base:Este termo também parece ser uma resposta válida, devido à p.100 do Linux Kernel em poucas palavras :
Aliás, "nome do disco do kernel" também parece ser uma terminologia válida no contexto do Solaris :
fonte
/dev/sda
são referidas por: BASENAME (1) como "filenames"; DIRNAME (1) como "nomes de arquivos"; o GNU Coreutils documenta como "nomes"; & por FDISK (8) e TLDP como "nomes de dispositivos". Portanto, nenhum desses termos pode ser usado inequivocamente para se referir apenas ao componente final delimitado por barra da string. Portanto, se queremos um termo que possa ser usado para se referir inequivocamente a essa parte da cadeia, devemos usar outra coisa. As fontes da minha resposta, em conjunto, dizem que a parte antes da barra final é o "dirname" e a parte depois é o "nome da base". Voilà .sda
e não/dev/sda
, poderia chamá-lo de "nome da base". Ou você pode simplesmente usar "nome" vs. "caminho" nessa documentação e dar um exemplo, como a maioria da documentação. Não acho que exista um termo comum que não seja "nome", embora alguns documentos usem "nome" para incluir o caminho completo."Tudo é um arquivo" - então,
sda
o simples nome do arquivo,/dev
o diretório (e a string vazia, a extensão) do dispositivo são disponibilizados por todo o caminho/dev/sda
, que por convenção é o primeiro disco não IDE? Assim comopasswd
o nome e/etc
o diretório do arquivo, acessíveis/etc/passwd
por convenções, contêm dados de senha (ed)?fonte