• 카테고리

    질문 & 답변
  • 세부 분야

    시스템

  • 해결 여부

    미해결

리눅스 계층구조 질문

21.06.20 10:16 작성 조회수 128

1

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
안녕하세요, 본 강의를 듣다가 궁금한 점이 생겨 질문드립니다.
리눅스는 디스크를 마운트 하여 윈도우같이 드라이브가 나뉜것이 아니라 설명해주셨는데 이 개념이 sda, sdb와 같이 리눅스에서도 드라이브가 나뉘는 것과 다른건지.. 아니면 실제론 윈도우처럼 구분은 되있으나 사용자에게는 루트 디렉토리에서 한번에 보이게 되는건지, 질문드립니다.
또, 리눅스 상에서 새로 디스크가 추가되었다면 새로운 디렉토리를 만들어서 마운트한다 하셨는데, 이경우 기존 디스크에서 동일한 경로의 디렉토리를 생성한다면.. 예를들어 추가한 디스크가 /dir/에 마운트되어있고, 기존에 있던 디스크에서 /dir/... 등의 디렉토리나 파일을 생성한다면 어떻게 되는건가요?

답변 1

답변을 작성해보세요.

2

안녕하세요. 김우준님

좋은 질문 주셨네요. 답변 드리겠습니다.

리눅스는 디스크마다 hda, hdb, sda, sdb와 같은 디바이스 이름이 붙습니다. 특정 디스크에 sda와 같은 디바이스 이름을 붙여줌으로써 소프트웨어에서 그 디스크를 원하는 대로 설정해 사용할 수 있습니다. 그래서 "/dev/sda 디바이스를 /dir에 마운트 해라" 라는 명령이 가능해 집니다. 이 명령으로 마운트 된 디스크는 파일 시스템 상에서 /dir 하위에서 액세스할 수 있게 됩니다. /dir 과 같이 루트 디렉터리 바로 아래에만 마운트 할 수 있는 것은 아닙니다. 가령 "/var/log/hugedata"와 같이 디렉터리 깊이(depth)가 있더라도 마운트가 가능합니다. 

반면 윈도우즈는 디스크마다 드라이브 명이 붙게 되며 파일 경로에 드라이브 명이 포함되게 됩니다.  그리고 드라이브 명은 항상 경로의 최상위에 붙게 되죠. "C:\program files\xxx" 이런 식으로요. 

예를 들어 어떤 디스크에 "a.txt" 라는 파일과 "data" 디렉터리가 있고, data 디렉터리 하위에는 "score.txt라는 파일이 있다고 해보죠. 이 디스크를 "/dir" 디렉터리에 마운트했을 때 각각의 파일과 디렉터리는 아래의 경로로 접근할 수 있습니다.

"/dir/a.txt"

"/dir/data"

"/dir/data/score.txt"

이 디스크를 "/var/log/hugedata"라는 디렉터리에 마운트하면 각각의 파일과 디렉터리는 아래의 경로로 접근할 수 있습니다.

"/var/log/hugedata/a.txt"

"/var/log/hugedata/data"

"/var/log/hugedata/data/score.txt"

이제  이해가 되셨을까요? 더 궁금한 사항 있으시면 추가 질문 남겨주세요~