리눅스(Linux) 복습
리눅스(Linux)는 오픈 소스 기반의 유닉스 계열 운영 체제이다.
커널은 리누스 토르발스(Linus Torvalds)가 1991년에 개발했으며, 현재는 전 세계 커뮤니티와 기업이 협력해 발전시켜 오고 있다.
리눅스의 주요 특징
- 오픈 소스: 누구나 소스 코드를 확인하고 수정할 수 있음.
- 다중 사용자 지원: 여러 사용자가 동시에 시스템에 접근 가능.
- 다중 작업 지원: 여러 프로세스를 동시에 실행 가능.
- 안정성과 보안성: 서버, 네트워크 환경에서 널리 사용됨.
- 배포판 다양성: Ubuntu, CentOS, Debian, Fedora 등 다양한 배포판 제공.
리눅스에서 파일 구조
리눅스는 모든 것을 파일로 취급한다.
이는 하드웨어 장치, 디렉토리, 실행 파일까지 포함한다.
리눅스 파일 시스템 구조
/ (루트 디렉토리):
/home:
- 사용자 데이터(개인 파일)가 저장되는 디렉토리.
- 예:
home/username
/etc:
/var:
/bin:
- 기본 명령어 실행 파일(예:
ls, cat, cp 등).
/dev:
/tmp:
리눅스의 쉘(Shell)
쉘이란?
쉘은 사용자가 운영 체제와 상호작용할 수 있는 명령어 해석기이다.
사용자가 명령어를 입력하면 이를 커널이 이해할 수 있는 형태로 전달한다.
쉘의 종류
- Bash (Bourne Again Shell):
가장 널리 사용되는 쉘. 대부분의 리눅스 배포판에서 기본으로 제공.
- Zsh (Z Shell):
고급 기능과 플러그인 지원이 강화된 쉘.
- Fish (Friendly Interactive Shell):
사용자 친화적인 UI와 자동 완성 기능 제공.
- Ksh (Korn Shell):
성능이 우수하며, 프로그래밍에 적합.
- Tcsh:
C 언어 스타일의 명령어 문법 제공.
리눅스 기본 명령어
whoami 명령어
설명
- 현재 로그인한 사용자의 사용자 이름을 출력한다.
사용법
whoami
출력 예시
ubuntu
활용 예
sudo 명령어
설명
- 관리자 권한(superuser)으로 명령을 실행한다.
- "superuser do"의 줄임말.
사용법
sudo [명령어]
예시
sudo apt update
- 시스템 패키지를 업데이트하려면 관리자 권한이 필요하다.
특징
- 권한 제한:
일반 사용자는 기본적으로 관리자 권한이 없으며, sudo를 사용해 일시적으로 권한을 획득.
- 패스워드 요청:
보안 목적으로 sudo 실행 시 사용자 패스워드를 요구.
정리
리눅스는 강력한 파일 관리와 권한 제어 시스템을 통해 다중 사용자 환경에서의 안정성과 보안을 제공한다.
whoami: 현재 사용자를 확인.
sudo: 관리자 권한으로 명령 실행.
- 쉘 환경(Bash, Zsh 등)을 통해 명령어를 실행하며 파일/디렉토리를 효과적으로 관리할 수 있다.