Programming/Others

[Linux] 리눅스 디렉토리 구조 초간단 살펴보기(+ 기본 단축키)

어쩌다통계 2022. 10. 19. 00:59
728x90

대용량의 데이터를 다루다 보면 로컬 컴퓨터가 아닌 서버에서 작업을 하게 되는데, 서버에 분석 환경을 구축하고 관리를 원활하게 하기 위해서 리눅스 공부를 시작했습니다.

이번 포스팅은 리눅스를 처음 접하는 사람들에게 좀처럼 익숙해지지않는 디렉터리 구조를 살펴보려고 합니다.

윈도우는 윈도우 탐색기에서 눈으로도 전체 구조를 볼 수 있고 마우스로 간편...하게 확인할 수 있는 반면, 리눅스는 명령어를 입력해서 무엇이 어디 있고 속성을 어떤지 확인을 해야 하기 때문에 보이지 않는 진입장벽이 저를 힘들게 하더군요.

저와 비슷한 어려움을 느끼시는 분들과 저를 위해 가장 기본이 되는 디렉토리 구조에 대해 살펴보도록 하겠습니다.

 

아래에서 설명드릴 내용은 모두를 위한 리눅스 프로그래밍이라는 책과 구글링을 바탕으로 작성되었습니다.

 

리눅스 디렉토리 전체 구조

리눅스 디렉토리 구조

리눅스 파일 시스템은 루트 디렉터리를 시작으로 트리 구조(directory tree)로 구성됩니다.

유닉스의 긴 역사 동안 파생된 운영체제별로 디렉터리 트리 구조에 차이가 있었지만, 차이로 인한 불편함을 해소하기 위해 FHS(File system Hierarchy Standard)라는 표준 규격을 만들었습니다.

이제 디렉토리 하나씩 역할을 알아보겠습니다.

 

/

루트 디렉토리는 디렉터리 트리의 뿌리이면서 가장 상위 디렉터리입니다.

/bin

실행 파일이 보관되는 디렉터리로 부팅에 필요한 기본 명령어가 포함되어 있으며 ls, cat, rm, vi과 같은 기본적인 명령어가 /bin에 있습니다.

/sbin

관리자용 명령어들이 위치하는 디렉토리로 시스템 관리(재부팅, 포맷)와 같은 명령어를 포함합니다.

/lib

부팅과 시스템 운영에 필요한 공유 라이브러리와 커널 모듈이 위치합니다.

/usr

기본적으로 여러 컴퓨터에서 공유할 수 있는 파일을 보관(일반 사용자용...?)하며 윈도우의 programs files폴더와 유사한 기능을 합니다. 

흥미로웠던 점은 user의 약자인 줄 알았는데, User Services and Routines라고 하네요.

/usr/bin

- 일반 사용자들을 위한 응용 프로그램의 실행 파일

/usr/sbin

- 평상시 사용하는 시스템 관리 명령어나 서버 프로그램

/usr/local

- /usr를 거울로 비춘 것처럼 bin, sbin, share 등의 디렉터리를 포함(각 시스템 관리자가 관리 책임)

/usr/src

- 명령어의 소스코드나 리눅스 커널의 소스 코드

/usr/share/man

- 시스템에서 사용하는 모든 도움말(manual) 파일

/var

시스템 운용 중에 자주 바뀌는 파일을 저장하기 위한 디렉터리로 시스템 자료 데이터가 변경되면 해당 변경 내용이 이곳에 저장됩니다.

거의 모든 시스템 로그 파일은 /var/log에 저장됩니다.

/home

일반 사용자들의 홈 디렉터리가 생성되는 곳입니다.

/root

관리자 계정 root의 홈 디렉터리입니다.

/etc

시스템의 환경 설정 파일이 있는 디렉터리로 passwd, shadow 파일이 여기에 존재합니다.

 

 

명령어  
ls /경로 파일목록(-l: 자세히, a:숨길파일포함, R:하위디렉터리까지
cd
cd ..
경로 안적으면 홈 디렉터리로 이동
상위디렉터리로 이동
pwd 현재 경로 확인
grep wheel /etc/group
gpasswd -a hikim wheel
su 명령어 권한 획득을 위해 wheel 그룹에 저장된 계정 확인
wheel그룹에 hikim 추가
cat /etc/passwd 계정확인
docker ps -a
docker version
docker images
docker start/stop/rm/rmi "컨테이너이름" docker exec "옵션" "이름" "커맨드"
컨테이너 생성목록과 현재 상태 확인
도커 버전확인
저장된 이미지 확인
시작/정지/컨테이너삭제/이미지삭제컨테이너 내부에서 커맨드라인 수행
netstat -tnlp 현재 열려있는 포트 확인
df -P
df -P | grep -v ^Filesystem | awk '{sum += $2} END { print sum/1024/1024 " GB" }'
df -P | grep -v ^Filesystem | awk '{sum += $4} END { print sum/1024/1024 " GB" }'

서버 전체 용량 확인
전체 사용량

전체 남은 사용량

du -a
du -s
du -h
du -sh *
현재 디렉터리의 사용량을 파일 단위로 출력
총 사용량 확인
보기 좋게 바꿔줌
한단계 서브 디렉터리 기준
반응형