Linux home directory
리눅스 사용자 디렉토리 설명 (홈 디렉토리)
리눅스에서 '사용자 디렉토리' 또는 '홈 디렉토리(Home Directory)'는 각 개별 사용자를 위해 할당된 특정 디렉토리를 의미합니다. 이는 사용자의 개인 파일, 설정, 애플리케이션 데이터 등을 저장하는 기본 공간입니다.
1. 기본 위치
- 대부분의 일반 사용자는
/home
디렉토리 아래에 자신의 사용자 이름과 동일한 이름의 디렉토리를 홈 디렉토리로 가집니다. - 예를 들어, 사용자 이름이
user1
이라면 홈 디렉토리는/home/user1
이 됩니다. - 시스템의 최고 권한자인
root
사용자의 홈 디렉토리는 관례적으로/root
디렉토리입니다.
2. 사용 목적
홈 디렉토리는 다음과 같은 목적으로 사용됩니다.
- 개인 파일 저장: 문서, 사진, 음악, 다운로드 파일 등 사용자의 개인적인 데이터를 저장합니다.
- 설정 및 환경 정보 저장: 사용자가 사용하는 쉘(Bash, Zsh 등), 애플리케이션, 데스크톱 환경 등의 설정 파일이 저장됩니다.
- 애플리케이션 데이터 저장: 일부 애플리케이션은 사용자의 설정이나 데이터를 홈 디렉토리 내의 특정 위치에 저장합니다.
3. 주요 내용 (숨김 파일/디렉토리)
홈 디렉토리에는 사용자의 개인 파일 외에도 시스템 및 애플리케이션 설정을 위한 다양한 숨김 파일과 디렉토리가 존재합니다. 이들은 파일명 앞에 점(.
)이 붙어 있으며, 일반적인 파일 목록 보기에서는 보이지 않습니다 (ls -a
명령어로 확인 가능).
- 설정 파일 (Dotfiles): 쉘 설정 파일(
.bashrc
,.profile
,.zshrc
등), SSH 설정(.ssh/
), Git 설정(.gitconfig
) 등 사용 환경을 정의하는 파일들입니다. - 설정 디렉토리:
.config/
,.local/
,.cache/
등 XDG Base Directory Specification을 따르거나 따르지 않는 다양한 애플리케이션 및 시스템 설정 디렉토리들이 있습니다. - 애플리케이션별 데이터: 웹 브라우저 프로필, 메일 클라이언트 데이터, 개발 도구 설정 등 사용자가 설치한 애플리케이션 관련 파일들이 저장됩니다.
- 사용자 생성 파일/폴더: 사용자가 직접 만들거나 다운로드한 문서, 사진, 동영상 등이 저장되는 일반적인 폴더들 (예: Documents, Downloads, Pictures 등)입니다.
4. 권한
홈 디렉토리와 그 안의 파일/디렉토리는 기본적으로 해당 사용자만 읽고, 쓰고, 실행할 수 있는 rwx
권한을 가집니다. 다른 사용자는 기본적으로 해당 사용자의 홈 디렉토리 내 파일에 접근할 수 없습니다. 이는 사용자의 개인 정보 및 설정의 보안을 보장합니다.
5. 틸드(~) 기호
쉘 환경에서 ~
기호는 현재 로그인된 사용자의 홈 디렉토리를 나타내는 약어(shortcut)로 사용됩니다.
cd ~ # 현재 사용자의 홈 디렉토리로 이동
cd ~/Documents # 홈 디렉토리 아래 Documents 디렉토리로 이동
ls ~ # 홈 디렉토리의 내용을 출력
6. /etc/skel 디렉토리
새로운 사용자가 시스템에 추가될 때, 해당 사용자의 홈 디렉토리는 /etc/skel
디렉토리의 내용(숨김 파일/디렉토리 등)을 복사하여 초기 설정됩니다. 이 디렉토리는 새로운 사용자를 위한 기본 환경을 정의하는 역할을 합니다.
요약
리눅스의 사용자 디렉토리(홈 디렉토리)는 각 사용자의 독립적인 작업 공간이자 설정 공간입니다. /home/사용자명
에 위치하며, 개인 파일, 애플리케이션 데이터, 그리고 사용자 환경을 정의하는 다양한 숨김 설정 파일들을 포함합니다. ~
기호로 쉽게 접근할 수 있으며, 사용자별로 권한이 분리되어 보안이 유지됩니다.