리눅스
[리눅스 구조]
1. 리눅스 구조
2. 커널
2-1. 커널과 프로세스의 차이점
프로세스
- 프로세스는 컴퓨터에서 실행되고 있는 프로그램을 의미한다.
- 스케줄링의 대상이 되는 작업(task)라는 용어와 같은 의미로 쓰인다.
- 멀티프로세싱: 여러 개의 프로세서를 사용하는 것을 의미한다.
커널
- 커널은 컴퓨터 자원을 관리하는 중간 매개체라고 한다.
- 다른 프로세스에서는 불가능한 장치 제어, 시스템 관리 혹은 배분 기능 제공 등 장치 제어만이 아닌 시스템 내부의 모든 프로세스가 공유하는 자원을 한곳에서 관리한다.
- 공유하는 자원을 프로세스에 배분할 목적으로 커널 모드로 동작하는 프로그램을 의미한다.
2-2. 프로세스의 명령어 처리 시 발생 이유
- 데이터 손상 이슈가 있다.
- 명령어 실행 순서를 올바르게 제어하지 않을 땐 위험해진다.
2-3. 대안책 커널처리 방식
- 리눅스의 경우엔 커널 모드가 가능하다.
- 이 커널 모드는 장치에 접근을 제어한다.
- 프로세스 같은 경우엔 커널을 통해 장치에 간접적으로 접근한다.
[VB 가상 머신과 우분투]
1. 가상 머신이란?
- 진짜 컴퓨터가 아닌 가상으로 존재하는 컴퓨터를 의미한다.
- 이때 하드웨어적으로 이미 정해진 값이 있기 때문에 이를 해결하기 위해선 실제 하드웨어를 업그레이드 하는 방법 밖엔 없다.
[리눅스 환경에서 ip 확인]
1. 명령어
ifconfig
: 해당 명령어를 사용하면 windows에서 사용하는 ipconfig와 같은 역할을 한다.
2. ifconfig를 사용할 수 없는 경우라면?
sudo apt install net-tools
: 관리자 권한으로 해당 net-tools를 다운받아 준다.
[명령어 사용]
1. 리눅스내에서 디렉토리와 관련된 명령어
pwd
: 현재 경로 표시
cd /
: 최상단 경로로 이동
cd ~/
: 홈 디렉토리 경로로 이동
touch 만들파일명.확장자
: 파일 만들기
mkdir 만들폴더명
: 폴더 만들기
2. 루트 디렉토리를 나타내는 기호?
/
는 루트 디렉토리를 나타낸다. 루트 디렉토리는 파일 시스템의 최상위 디렉토리를 의미합니다.
- cd /test로는 못감 cd ~/test, cd ./test로는 현재 디렉토리의 하위 디렉토리에 있는 곳으로 이동이 가능
3. 리눅스 종료
- 터널시스템, 어드민 계정에서 종료하는 방법
shutdown -P now
halt -p
init 0
- 시스템 재부팅
shutdown -r now
reboot
init 0
- 로그아웃
[package 관련 명령어]
[vi 명령어]
1. 입력 모드
- vi 내에서
insert
키나 i
를 입력하면 명령 모드에서 입력 모드로 전환
2. 명령 모드
- 문서 내용을 편집하거나 검색, 치환, 저장 및 종료와 같은 기능을 수행할 수 있다.
- 입력한 단어는 vi 에디터에서 명렁어 역할을 한다.
3. 유용한 명령어
i
: 입력 모드로 변경
x
: 커서 위치의 문자를 삭제(명령모드에서만 사용 가능)
dd
: 커서 위치의 한 줄을 삭제(명령모드에서만 가능 입력모드에선 작동 X)
u
: 마지막으로 수행한 명령을 취소(명령모드에서만 사용 가능)
:wq!
: 현재 파일을 저장
:e!
: 편집 취소
:q
: vi 종료
:q!
: vi 편집한 내용 저장 없이 종료