Eu sou novo no Linux, então me perdoe pela possível confusão que você possa encontrar nesta pergunta.
Pelo que entendi, o sistema de arquivos especifica como uma partição armazena / gerencia arquivos, com padrões como ext2, ext3, reiserfs, xfs, etc. Ocasionalmente, vejo que as pessoas parecem se referir a cada " directory
" como
/boot filesystem
/usr/bin filesystem
/root filesystem
/bin filesystem
Por que nos referiríamos a eles como filesystems
?
Se cada um deles é uma partição, isso me confunde porque, tanto quanto eu sei, /usr
e /usr/bin
tendem a estar na mesma partição, mas vi pessoas se referirem a ambos /usr filesystem
e /usr/bin filesystem
.
Se filesystem
aqui é equivalente ao do Windows directory
, não está claro para mim, pois aparentemente o sistema de arquivos é algo mais do que apenas diretórios. Além disso, até onde eu sei, o Linux não tem directory
conceito; todos são arquivos.
fonte
/root
, acho que isso é descartável, considerando a complexidade do situação.Respostas:
Como escrevi em https://superuser.com/a/293160/38062 :
O problema aqui é a palavra "sistema de arquivos". Nos mundos POSIX / Unix / Linux, é usado para significar várias coisas diferentes.
/
e apresentado aos softwares de aplicativos pelo kernel do sistema operacional. Com esse significado, as pessoas falam de sistemas operacionais POSIX com uma "única árvore de sistema de arquivos ", por exemplo./usr
sistema de arquivos ". "/usr
" aqui está o ponto de montagem (esperado) do volume ou (em alguns esquemas de particionamento) seu rótulo de identificação./proc
" ou "usar um sistema de arquivos tmpfs/tmp
".Você está vendo o significado nº 1 quando vê "
/usr/bin
sistema de arquivos". É uma árvore de arquivos raiz no diretório/usr/bin
. Sim, Linux muito faz tem o conceito de diretórios.O significado 2 e 3 são o que você está lendo errado. As pessoas não estão falando
/usr/bin
como um conjunto de dados em disco, demarcado pela divisão / divisão de disco. Eles também não estão falando de/usr/bin
um tipo específico de driver de sistema de arquivos ou de um formato específico de volume de disco.Leitura adicional
fonte
Claro que o Linux usa o conceito de diretórios. O conceito de diretórios é o mesmo do Windows.
O conceito de sistema de arquivos também é muito semelhante ao usado no Windows. O Windows geralmente usa NTFS ou FAT - o Linux geralmente usa ext2, ext3, ext4 e assim por diante, essa é a diferença.
O que é diferente é que no Linux os arquivos / diretórios de todas as partições disponíveis são organizados em uma única árvore. No Windows, você se refere a diferentes partições usando uma letra, fe "a:", "c:", no Linux, o caminho completo para qualquer arquivo disponível começa com "/" - o diretório raiz. Por exemplo, existe uma partição separada no seu HDD com arquivos necessários para inicializar o sistema: você executa o comando 'mount' com argumentos apropriados e o conteúdo dessa partição fica disponível no caminho "/ boot /". Portanto, os caminhos fe "/ boot" e "/ home" podem se referir a dados em diferentes partições, essas partições podem ter sistemas de arquivos diferentes. Provavelmente causou seu mal-entendido.
Os diretórios localizados fisicamente na mesma partição sempre "teriam o mesmo sistema de arquivos". Quando alguém fala sobre o sistema de arquivos de algum diretório, na verdade é sobre o sistema de arquivos da partição em que esse diretório está localizado.
(Correção menor e provavelmente não importante: às vezes o sistema de arquivos é virtual e não existe nenhuma partição correspondente. Por exemplo, "/ proc" contém algo que se parece muito com arquivos, mas esses "arquivos" são virtuais, não residem em qualquer disco rígido e contém informações sobre os processos em execução. Existe um sistema de arquivos "procfs" especial que fornece uma interface semelhante a arquivo para esses dados)
fonte
Um disco é dividido em uma ou mais partições . Para o Windows, geralmente há apenas um, talvez com uma partição de recuperação oculta em algum lugar. Uma partição é uma área logicamente contígua do disco, por exemplo, "setores 1 a 10.000.000".
Em uma partição pode ser construído um sistema de arquivos. Para Windows, isso é NTFS ou FAT; para Linux, esta é uma das
ext
versões ou várias outras opções.Dentro de um sistema de arquivos existem arquivos e diretórios. O Linux tem diretórios, não tenho idéia de como você teve a ideia de que não.
Como um sistema operacional apresenta várias partições em vários discos para o usuário? No Windows, isso é feito com letras de unidade :
C:
,D:
etc. No Linux, não há letras de unidade e tudo é feito com pontos de montagem : em um diretório específico, o acesso reroute para um sistema de arquivos diferente (+) Muitas vezes, se você inserir um CD. ou stick USB, ele aparecerá em algum lugar abaixo/media
ou/mnt
./usr
e/usr/bin
geralmente estará no mesmo sistema de arquivos, mas não é necessário. As pessoas podem significar "o sistema de arquivos que contém o/usr/bin
diretório" quando usam esse fraseado.(+) Você também pode fazer isso com pontos de junção NTFS, mas as pessoas raramente o fazem. Até ficarem sem letras de unidade.
fonte
É possível manter um sistema Linux inteiro em uma partição, com todos os subdiretórios em um sistema de arquivos.
Também é possível espalhá-lo por várias partições, com determinadas subárvores de diretório em diferentes sistemas de arquivos. Por exemplo, é comum colocar
/home
,/tmp
,/usr
, e/var
em sistemas de arquivos separados. Para resolver uma de suas perguntas, às vezes/usr/bin
também estará em seu próprio sistema de arquivos.Existem vantagens para esse esquema. Por exemplo, se
/var
muitos emails forem preenchidos, o restante do sistema não será afetado. Da mesma forma, se um sistema de arquivos está corrompido devido a uma falha ou algo assim, outros sistemas de arquivos ainda são bons e é mais fácil recuperar o sistema.Quando o sistema é inicializado, inicialmente apenas o sistema de arquivos raiz está disponível. Os programas mantidos lá são executados durante o processo de inicialização. Um desses programas
mount
é executado várias vezes, usando dados do arquivo/etc/fstab
, a tabela do sistema de arquivos. Para dar um exemplo: originalmente,/home
é apenas um diretório comum no sistema de arquivos raiz. Em seguida, executamos este comando como root:Isso informa ao sistema que o sistema de arquivos na partição
/dev/sda7
deve ser montada no diretório/home
. Então agora, tudo nesse sistema de arquivos é considerado inferior/home
.Você pode ver o que está montado atualmente executando
df
.fonte
Às vezes nos referimos a eles como
filesystems
, porque às vezes esses diretórios são pontos de montagem. Tanta coisa para a única pergunta que você fez ...filesystem
pode se referir a duas coisas diferentes ... ou, na verdade, dois aspectos muito diferentes da mesma coisa:O conceito de arquivos e diretórios é uma metáfora. Para um computador, existem apenas dados e toda mídia não passa de dispositivos que podem armazenar dados. Alguns dispositivos permitem a leitura e gravação de dados (por exemplo, HDD), outros dispositivos apenas permitem a leitura de dados (por exemplo, CD-ROM) e existem até dispositivos que permitem apenas a gravação de dados (por exemplo, impressora). Usamos a metáfora de arquivo e diretório para estruturar dados, para que possamos acessar pequenos pedaços de dados, em vez de tudo ao mesmo tempo.
Os sistemas de arquivos que colocamos na mídia de armazenamento, por exemplo, ext4, xfs, fat fazem a parte da estruturação. Nós os usamos para colocar rótulos em blocos de dados (arquivos) e ter uma lista estruturada consistente de todos os rótulos (diretórios). A lista estruturada é na verdade uma árvore. O aspecto mais importante é que uma árvore tem exatamente um começo, sua raiz. Manter essa estrutura e garantir que os dados estejam e permaneçam acessíveis é bastante uma tarefa, e é por isso que não há apenas um sabor do sistema de arquivos.
O outro aspecto dos sistemas de arquivos é que é tarefa do sistema operacional tornar os dados armazenados nos dispositivos de armazenamento acessíveis a todos os programas. Isso é realizado por duas coisas:
O sistema operacional oferece precisamente uma interface (de programação) para acessar e interagir com arquivos e diretórios. Para programas / processos, não importa se o sistema de arquivos no dispositivo de armazenamento é ext2, xfs, fat ou qualquer outra coisa. Os programas / processos acessam arquivos e diretórios de maneira uniforme.
O sistema operacional organiza toda a mídia de armazenamento, ou seja, seus sistemas de arquivos, em uma estrutura superordenada. Os programas acessam arquivos e diretórios por meio dessa estrutura superordenada e não precisam interagir diretamente com os dispositivos de armazenamento. Dessa forma, os programas não precisam se preocupar com qual dispositivo os dados realmente residem. Essa estrutura superordenada é frequentemente chamada de "sistema de arquivos virtual" do kernel.
Adicionar o sistema de arquivos de um dispositivo de armazenamento ao sistema de arquivos virtual é chamado "montar" um sistema de arquivos. Quando o Linux está inicializando, o kernel cria o sistema de arquivos virtual (VFS). Logo após a criação, ele está vazio e consiste apenas em seu ponto de entrada, também conhecido como raiz, transcrito
/
. Em seguida, o kernel monta um sistema de arquivos na raiz do VFS. Este é um ramdisk ou imediatamente um sistema de arquivos em uma partição no disco rígido. Como é adicionada na raiz do VFS, essa partição é frequentemente chamada de sistema de arquivos raiz.Agora, aqui vem a parte em que as linhas ficam borradas e vemos que os sistemas de arquivos nos dispositivos de armazenamento e o VFS do kernel são na verdade dois aspectos da mesma tarefa do sistema operacional: Com a montagem de um sistema de arquivos raiz, o VFS contém muitos arquivos e diretórios, todos eles existe na partição raiz. No entanto, todo diretório pode se tornar um "ponto de montagem". Um ponto de montagem é onde o VFS coloca o ponto de entrada em um sistema de arquivos em um dispositivo de armazenamento. Isso significa que, sempre que montamos um sistema de arquivos em um diretório, informamos ao VFS que, em vez de acessar os dados armazenados nesse diretório, preferimos acessar os dados em um dispositivo de armazenamento diferente. Os pontos de montagem são geralmente diretórios vazios, para que não tornemos os dados inacessíveis montando outros sistemas de arquivos na parte superior.
Quando você instala o sistema operacional, cabe a você decidir se deseja colocar todos os dados em um sistema de arquivos que se torna seu sistema de arquivos raiz ou se deseja dividir seus dados entre vários sistemas de arquivos. O último requer que seu sistema operacional monte todos os sistemas de arquivos individuais, para tornar todos os dados acessíveis. Como você divide as coisas é uma questão de como você projeta seu sistema. É por isso que às vezes os diretórios que você conhece da sua instalação são referidos como sistemas de arquivos.
Para os computadores que geralmente temos em casa, dividir sua instalação em vários sistemas de arquivos não é mais necessário. Ainda pode haver boas razões para fazê-lo, mas isso está fora do escopo desta publicação.
Para manter o restante desta postagem curta: Partições são outro meio de estruturar dados em dispositivos de armazenamento. Com as partições, é possível extrair espaço de armazenamento contíguo de um dispositivo de armazenamento físico e oferecê-lo como dispositivo de armazenamento individual ao sistema operacional (no qual é possível colocar sistemas de arquivos para montar no VFS). Uma razão para fazer isso pode ser porque um possui apenas um disco rígido, mas deseja empregar muitos sistemas de arquivos diferentes. A partição na qual o sistema de arquivos raiz vive é frequentemente chamada de partição raiz.
fonte
Você está fazendo um pouco de confusão.
Filesystem
indica um mecanismo pelo qual os arquivos estão localizados e organizados em um dispositivo de armazenamento ou em uma memória de massa, como um disco rígido ou um CD-ROM e, em alguns casos, também na RAM.Até o Windows usa sistemas de arquivos como
NTFS
ou, anteriormenteFAT
.Seu exemplo mostra uma prática comum para sistemas linux e unix, para ter seu próprio sistema composto por diferentes sistemas de arquivos montados em diretórios denominados ponto de montagem. Isso permite, em caso de problemas, limitar o dano a um ou mais, mas não a todos os sistemas de arquivos.
Portanto, FS não é equivalente a diretório, e também no linux existem diretórios, que são um tipo especial de arquivo
fonte