운영체제
컴퓨터사용자와 컴퓨터 하드웨어 간의 인터페이스로서 동작하는 시스템소프트웨어 중 일종으로, 다른 응용프로그램이 유용한 작업을 할 수 있도록 환경을 제공해준다.
커널
메모리에 상주하는 운영체제의 부분으로 하드웨어와 응용프로그램을 이어주는 운영체제의 핵심 시스템소프트웨어이다.
▶운영체제와 커널
리누스 토발즈가 작성한 커널 혹은 GNU 프로젝트의 라이브러리와 도구가 포함된 운영
체제로 PC와 모바일, 서버, 임베디드 시스템 등 다양한 분야에서 활용되고 있다.
GNU프로젝트
오픈 소프트웨어 자유성을 확보하기 위한 프로젝트(GNU == GNU is Not Unix ).
현재 많은 리눅스 GUI 버전이 생겼지만 아직도 터미널환경을 사용하는것이 GUI 처럼 직관적이지는 않지만 강력한 기능을 제공하기 때문에 여전히 많이 사용되고 있다. 이 때 터미널에 입력한 명령을 해석하고 관리해주는 프로그램인 shell을 이용한다.
터미널에 입력한 명령을 해석하고 관리하는 프로그램을 셸(shell) 이라고 한다. 즉, 운영체제의 커널과 사용자를 이어주는 명령어 해석기라고 할 수 있다.
쉘 명령은 GUI도구로는 수행하기 어려운 다양한 고급 기능을 제공하며, window의 명령 프롬프트와 비슷해보이지만 훨씬 강력한 프로그래밍 기능을 가지고 있다.
shell의 종류
- sh(Bourne Shell): AT&T Bell 연구소의 Steve Bourne이 작성한 유닉스 쉘
- csh: 버클리의 Bill Joy가 작성한 유닉스 쉘
- bash(Bourne Again Shell): Brian Fox가 작성한 유닉스 쉘, 다양한 운영체제에서 기본 쉘로 채택
- zsh: Paul Falstad가 작성한 유닉스 쉘, sh 확장형 쉘로 현재까지 가장 완벽한 쉘이라고 할 수 있다.
$
: shell이 사용자의 입력을 받을 준비가 되었다는 뜻.~
: 로그인한 사용자의 최상위 폴더를 의미..
: 상위폴더.
: 현재디렉토리-
: 옵션을 의미--
: 하이픈이 두개쓰이면 축약형이 뒤에 이름 그대로 사용
ls
: list segment, 현재 위치에서 접근할 수 있는 디렉토리나 파일의 이름을 보여줌pwd
: 현재 위치 확인cd 디렉토리이름
: 해당 디렉토리로 이동mkdir 생성할 디렉토리 이름
: 디렉토리 생성touch 파일명
: 파일 생성mv abc.txt practice
: abc.txt파일을 practice폴더로 이동(move)mv README.txt introduce.md
이름변경cp abc.txt practice
: abc.txt파일을 practice폴더로 복사(copy)rm abc.txt
: abc.txt파일을 삭제(remove) (폴더의 경우 -r을 붙임)cat abc.txt
: abc.txt파일의 내용을 출력vi readme.md
: vi편집기 실행
$ cd Documents : Documents폴더로 이동
$ mkdir dev : dev폴더 생성
$ ls -l : 한줄 한줄 표현
$ ls -a : 모든 숨긴 파일까지 표현
$ ls -al : 숨긴파일까지도 한줄한줄 표현
$ ls --help :어떤 플래그가 있고 어떤 역할을 하는지 확인할 수 있다.
입력모드 전환
i
: normal모드 -> insert모드
v
: normal모드 -> visual 모드
esc
: normal모드로 돌아감
저장과 종료
:q
- 나가기
:q!
- 저장하지 않고 나가기
:w
- 저장
:wq
- 저장 후 종료
커서이동
h
,j
,k
,l
: 좌,하,상,우 커서 이동:{number}
- jump to {number}th line.
편집
d
: deletedd
: 줄 삭제
참고자료