개발에서 Mac 을 사용하면 반드시 terminal, iTerm 과 같은 터미널 에뮬레이터(Terminal Emulator)를 사용하게 됩니다.
패키지 사용을 위한 환경변수 세팅이나, 시스템 상의 커스텀이 필요한 날이 반드시 찾아오게 되기 때문입니다.
목차
리눅스기반 시스템의 주요 디렉토리
- / (루트 디렉토리): 리눅스 파일 시스템의 최상위 디렉토리로 모든 파일과 디렉토리의 출발점.
- /bin: 일반 사용자와 시스템 관리자가 사용할 수 있는 기본 실행 파일(명령어) 저장. 예:
ls
,cp
,mv
. - /sbin: 시스템 관리 명령어 저장. 예:
ifconfig
,reboot
. - /etc: 시스템 설정 파일 저장. 예:
passwd
(사용자 계정 정보),hosts
(호스트 네임 설정). - /home: 일반 사용자들의 홈 디렉토리. 예:
/home/username
. - /var: 가변 데이터 저장. 예:
/var/log
(로그 파일). - /tmp: 임시 파일 저장. 재부팅 시 삭제.
- /dev: 장치 파일 저장. 예:
dev/sda1
(하드디스크 파티션). - /usr: 사용자 관련 프로그램과 라이브러리 저장. 예:
/usr/bin
,/usr/lib
. - /boot: 부팅과 관련된 파일 저장. 예: 커널 이미지(
vmlinuz
), 부트로더 설정 파일(grub
).
이해의 관점에서..
- 리눅스 파일 시스템 구조 이해: 시스템 전반
- 시스템 설정 파일 탐색: 주요 설정 파일을 탐색하고 관리
- 프로그램 및 라이브러리 위치 파악: 프로그램 실행 파일과 라이브러리 관리
- 로그 파일 분석: 시스템 로그를 통해 문제
실질적인 활용 예시
- 개발 환경 설정: 설정 파일(
/etc
)과 라이브러리(/usr/lib
)를 활용한 환경 설정. - 문제 해결 및 디버깅: 로그(
/var/log
)를 확인하여 문제 원인 분석. - 장치 관리:
/dev
디렉토리를 활용해 장치 파일로 직접 작업.
연관 명령어
- Linux 명령어: 파일 디렉토리 탐색 명령어(
ls
,cd
,pwd
)와 파일 관리 명령어(cp
,mv
,rm
). - 시스템 관리:
/etc
설정 파일 수정 및 사용자 관리(passwd
,adduser
). - 로그 분석:
/var/log
에서syslog
,auth.log
를 분석 - 파일 및 디렉토리 권한 관리:
chmod
,chown
명령어로 권한관리
리눅스 파일 시스템과 명령어에 대한 이해는 개발자에게 필수적인 스킬입니다.
레퍼런스 링크
개발에서 주로 사용하지 않다고 하더라도, 실제로 최근 용량 관련 문제 때문에 CLI를 사용해 시스템 최적화를 진행한 적 있습니다.
그 과정에서 리눅스기반의 명령어를 알아두는 것이 중요하다고 생각했습니다.
요즘에 종종 vim 을 학습하는 컨텐츠도 보이는 것 같은데, 인공지능으로 각광 받는 요즘 개발씬에서.. 이런 기본기들을 잘 익혀두는 것이 오히려 좋은 개발자로 성장하는 것이 아닐까 생각됩니다.
'Develop' 카테고리의 다른 글
tailwindCSS safelist와 동적클래스 classname (0) | 2024.12.08 |
---|---|
React18 설치 및 시작 방법 및 레퍼런스링크 (1) | 2024.12.05 |
데이터베이스 정규화 이해하기 (1) | 2024.11.17 |
pytest로 이해하는 팩토리함수 (1) | 2024.11.16 |
메시징 애플리케이션의 시스템 디자인에 관한 글을 읽고 정리 (3) | 2024.11.08 |