티스토리 뷰
* 참고 *
- 리눅스 마스터 출제 배가 Rocky Linux에 초점이 맞추어져 있다. 따라서 Rocky Linux로 리눅스를 시작하게 되면 실무와 리눅스 마스터 자격증을 모두 대비가 가능하다.
- 리눅스는 서버를 위한 운체이며, 윈도우는 클라이언트를 위한 운체이다.
1. 운영체제의 개요
1) 운영체제(OS)란?
- 컴퓨터는 소프트웨어와 하드웨어로 이루어짐
- 운영체제 또한 소프트웨어
- "관리" -> 여러 개가 등장한다는 의미
2 ) 운영체제(OS)의 종류
- 윈도우는 2개로 나뉨. 윈도우 + 버전(일반 사용자용)과 Windows Server 2022
- 마이크로 소프트 계열 운영체제와 Unix 운영체제(Linux, Unix)로 크게 나뉨.
- Linux는 자유롭게 소스를 수정하고 배포를 할 수 있으며 무료(Free)
3) 운영체제(OS)의 목적
- 처리 능력 향상
- 사용 가능도 향상
- 신뢰도 향상
- 반환 시간 단축
- 이것들은 운영체제의 성능을 평가하는 기준이 됨
4) 운영체제(OS)의 5대 기능(=커널의 기능)
- 프로세서 관리(CPU) ⭐
- 메모리 관리
- 프로세스 관리(보조 기억 장치에서 주 기억장치로 로드되어 실행중인 프로그램)
- 입출력 관리
- 파일시스템 관리 ⭐
2. 리눅스 개요
1) 리눅스란?
- 리눅스 배포판을 개발한 것이 아닌, 리눅스 커널 0.01 버전을 개발한 사람.
- 리눅스는 100% C언어로 되어 있음
- C언어는 리눅스 커널 소스 코드로 공부 가능
2) 리눅스의 배포판
- redhat 회사의 영향은 리눅스 성장의 기반이 됨
- 리눅스와 배포판의 차이?
아무리 배포판의 이름이 달라도, 커널은 동일하다. 삼성/현대/기아 등 자동차 이름은 달라도 '엔진' 사용은 동일하다.
- 가장 중요한 계열은 redhat 계열과, debian 계열
3) GNU 프로젝트
- 리차드 스톨만: 제 1세대 해커. 리눅스 발전에 지대한 영향을 미침
- GNU : "GNU is Not Unix"
- 리눅스는 라이선스가 있지만, 리눅스 활용 프로그램 개발 시, 판매 가능
- FSF(Free Software Foundation): 리차드 스톨만이 세운 재단.
4) 리눅스의 장·단점
장점 | 단점 |
- 무료 제공 - 공개 운영체제 - 강력한 보안 기능 - 다양한 하드웨어 지원 - 무료로 고가의 유닉스 서버와 동일한 성능 제공 - 유닉스와 완벽하게 호환 가능 - C언어, JAVA, Python과 같은 대부분의 개발 언어 지원 - 특정 기계에 의종하지 않아 어떤 시스템에도 변경 가능 | - 공개 운영체제로 문제 발생시 보상X - 한글 입출력 어려움 - 기술지원 부족(회사는 기술력이 필요하게 됨) - 특정 하드웨어에 대한 자원 부족 - 사용자의 숙련된 기술 요구 ※ 기술지원은 회사 차원이 아닌 숙련된 개발자들이 해야함 |
5) 리눅스의 구조
- application은 client의 프로그램.
리눅스의 3요소
1️⃣ Kernel(커널) 2️⃣ Shell(셸) 3️⃣ FileSystem(파일시스템)
6) Shell 톺아보기
- 깜빡이는 커서가 shell, 요청에 대한 응답을 kernel이 수행함
7) Kernel 톺아보기
- 주 버전은 쇼킹할 만한 특별한 기능이 새로 생겼을 때 올라감
- 부 버전 홀수는 아직 개발중인 버전을 의미함
- 부 버전을 확인하여 불안정 버전인 홀수 버전보다 안정 버전인 짝수 버전을 다운 받는 것이 좋음
- 최신 버전이 아닌 다른 버전을 다운 받고 싶은 경우: HTTP ▶ linux ▶ kernel 으로 들어간 후 원하는 버전 선택
3. 리눅스 설치
1) Rocky Linux
2) Rocky Linux 배포(Rocky Linux의 탄생 비화)
3) Rocky Linux 설치
- 설치는 아래 링크 참고
- 별도의 게시물로 작성해두었습니다.
CTRL + G -> VM 내부 진입
CTRL + ALT -> VM 나오기
CTRL + C ->
4) Rocky Linux 시작
1️⃣ 로그인/로그아웃
2️⃣ 프롬프트(사용자)
- 일반 사용자: test
[root@localhost ~]$
- 관리자: root
[root@localhost ~]#
3️⃣ 시스템 시작/재시작/종료 명령어
<종료>
#shutdown [옵션] [시간] (가장 무결성을 보장하는 종료 명령어)
#shutdown -h now (지금 당장 종료하라)
#shutdown -h +1 (1분 후 종료하라)
#init 0
#halt
#poweroff
<옵션>
-h: 종료
-c: 명령 취소
===========================================================
<재시작 - 편한 것을 사용하면 됨>
#shutdown [옵션] [시간]
#shutdown -r now (지금 당장 종료하라)
#shutdown -r +1 (1분 후 종료하라)
#init 6
#reboot
CTRL+ALT+DEL(리눅스만 운영체제에 설치되어 있을때만 가능. 안그러면 VM과 충돌한다.)
<옵션>
-r: 재시작
4️⃣ 프롬프트의 구성
[root@localhost ~]#
[test(사용자)@(구분자)localhost(호스트명) ~(디렉터리명)]$
5️⃣ 이전 명령어 확인
#history: 이전 명령어 리스트 확인
#history -c: 전체 삭제
6️⃣ 현재 디렉터리 확인
pwd(printing work directory)
- root계정은 /root로 시작, 일반 사용자 계정은 /home/사용자명 으로 시작
- 리눅스에서는 최상위 디렉터리가 root 디렉터리(/)임.
- 계층형 트리구조
- /(root 디렉터리) 밑에 root 디렉터리가 한 번 더 있음. (사장실 역할)
- /bin/: 기본 명령어 ⭐ ⭐
- /boot/: 부팅과 관련된 명령어. 커널 관련이 여기 들어 있음 ⭐
- /dev/: 모든 장치 파일들이 들어 있음. 리눅스는 모든 장치들을 파일 시스템으로써 인식함 ⭐
- /etc/: 시스템의 모든 환경설정 관련이 여기 들어 있음. 서버 설정까지도 모두 들어 있음⭐ ⭐ ⭐
- /home/: 일반 사용자의 홈 디렉터리 ⭐ ⭐ ⭐
- /lib/: 동적 라이브러리. 필요할 때마다 불러서 쓸 수 있는 모듈들이 있음.(lib64는 64비트용. 이건 32비트용)
-/media/
- /mnt/: 마운트
-/proc/: 가상 파일시스템 디렉터리
-/opt/
-/root/: root 사용자의 홈 디렉터리
- /sbin/: 시스템 관리 명령어들이 들어 있음.(system binary) ⭐ ⭐
- /srv/
- /tmp/: 파일을 공유할 때 이 디렉터리를 이용해서 공유하게 됨. 그래서 보안상 특수 비트가 설정되어 있음.
- /usr/bin/: 일반 사용자의 기본 명령어
- /usr/include/
-/var/: 시스템 운영중에 변동되는 것들에 관한 명령어. log혹은 mail 관련 등 ⭐ ⭐
-/var/mail
* 이 모든 것이 파일 시스템이다.
===========================================================
<번외>
Tab키: 명령어 자동 완성 기능
위 또는 아래 방향키: 이전 명령어 사용. (천 개까지 이전 명령어가 저장되어 있음)
windows에서 > shutdown -s -t 1 (1초뒤에 셧다운. 지금 당장이면 0)
#clear: 터미널창 초기화
~: 사용자의 홈디렉터리
[런 레벨 - 시그널 넘버]
0: 종료
1: 단일 사용자 모드(긴급 모드)
2: 다중 사용자 모드(Not NFS)
3: 다중 사용자 모드(Text Mode)
4: Not Used
5: 다중 사용자 모드(GUI)
6: 재시작
[account: 계정] = ID(식별자) + 권한
[identifier: 식별자]
- Total
- Today
- Yesterday
- 앱개발
- 데이터추상화
- Abstraction
- 데이터구조
- 비주얼스튜디오
- 익스플로러
- 구글크롬
- D&C
- vscode
- 브라우저뜻
- VisualStudio
- 크롬
- 프론트엔드
- SW생명주기
- javase
- 브라우저
- jre
- 기계어
- 의사코드
- 개발계발
- 사이트만들기
- 알고리즘
- 소스파일
- ADL
- 프로그래밍언어
- SWLIfeCycle
- jvm
- 구현
- 바이트코드
- 웹개발자
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |