대용량의 데이터를 다루다 보면 로컬 컴퓨터가 아닌 서버에서 작업을 하게 되는데, 서버에 분석 환경을 구축하고 관리를 원활하게 하기 위해서 리눅스 공부를 시작했습니다.
이번 포스팅은 리눅스를 처음 접하는 사람들에게 좀처럼 익숙해지지않는 디렉터리 구조를 살펴보려고 합니다.
윈도우는 윈도우 탐색기에서 눈으로도 전체 구조를 볼 수 있고 마우스로 간편...하게 확인할 수 있는 반면, 리눅스는 명령어를 입력해서 무엇이 어디 있고 속성을 어떤지 확인을 해야 하기 때문에 보이지 않는 진입장벽이 저를 힘들게 하더군요.
저와 비슷한 어려움을 느끼시는 분들과 저를 위해 가장 기본이 되는 디렉토리 구조에 대해 살펴보도록 하겠습니다.
아래에서 설명드릴 내용은 모두를 위한 리눅스 프로그래밍이라는 책과 구글링을 바탕으로 작성되었습니다.
리눅스 디렉토리 전체 구조
리눅스 파일 시스템은 루트 디렉터리를 시작으로 트리 구조(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 * |
현재 디렉터리의 사용량을 파일 단위로 출력 총 사용량 확인 보기 좋게 바꿔줌 한단계 서브 디렉터리 기준 |
'Programming > Others' 카테고리의 다른 글
BentoML로 모델 서빙하기(우당탕탕 ver.)| BentoML, Docker, k8s, Prometheus 그리고 Grafana (0) | 2023.04.04 |
---|---|
BentoML이란?! (0) | 2023.03.15 |
도커 & 쿠버네티스 설치에 필요한 기본 개념 정리 (1) | 2023.03.15 |