될때까지

((Database)) Linux & Terminal 본문

학습/개념정리

((Database)) Linux & Terminal

랖니 2022. 6. 28. 18:25
728x90

운영체제(OS)란? 

윈도우, 맥OS, 리눅스 등을 컴퓨터 운영체제라고 한다. 운영체제란 컴퓨터 시스템의 자원들을 효율적으로 관리하며 사용자가 컴퓨터를 편리하고 효과적으로 사용할 수 있도록 환경을 제공하는 여러 프로그램들의 모임이라고 할 수 있다. 

 

리눅스란? 그리고 리눅스를 사용하는 이유는?

리눅스는 1991년 리누스 토발즈에 의해 개발되었다. 리눅스는 오픈 소스이기 때문에 누구든지 소프트웨어를 자유롭게 수정하고 배포할 수 있어서 전 세계 개발자들에 의해 계속해서 발전하고 있다. 또한 다수의 사용자가 동시에 컴퓨터 시스템을 사용할 수 있어서 서버 기능을 수행할 수 있고(멀티태스킹) 다수의 작업 공간을 제공하기 때문에 하나의 컴퓨터 시스템에서 여러개의 프로그램을 동시에 실행할 수 있다.(멀티스레드). 리눅스 커널을 이용하여 우분투, 레드햇 등과 같은 배포판들이 만들어졌다.

 

OS의 역할은?

컴퓨터는 0과 1밖에 모르기 때문에 우리가 사용하는 명령어들을 이해하지 못한다. 따라서 0과 1로 번역해주는 역할이 필요한데 지금은 그 역할을 OS가 해주고있다고 간단하게 생각하고 넘어가자. 우리의 말을 컴퓨터가 알아들을 수 있게 0과 1로 번역해주는 아이가 운영체제의 역할이다. 

리눅스는 쉘, 커널, FHS로 이루어져있다.

은 키보드로 입력한 명령을 받아 OS가 해당 명령을 수행할 수 있도록 번역해주는 아이다. 사용자와 운영체제가 대화할 수 있도록 해주는 명령어 해석기라고 생각하자. 사용자와 리눅스사이의 인터페이스이며 사용할 수 있는 쉘의 종류는 다양하다. 취향에 따라 sh, csh, ksh, bash등 여러가지 쉘 중에서 선택하여 사용할 수 있다. 사용자가 입력한 명령은 해석이 되어 커널로 전달된다. 

커널은 응용 프로그램(쉘)의 요청을 하드웨어에 전달해서 수행하고, 수행 결과를 다시 응용 프로그램으로 전달해주는 전달자일 뿐만 아니라 이 모든 과정을 관리하는 중요한 역할을 한다. 

* 운영체제는 꼭 꼭 중요하므로 3개월 위코드가 끝나고 나서 추가로 공부해야합니다!!!

 

리눅스의 파일 시스템과 구조

 

/ 파일 시스템 최상위 디렉토리
/bin binary의 약자로 os최소한의 구동을 위해 필요한 프로그램이 있는 폴더
/home home
유저의 공간
터미널을 실행하면 있는 기준 위치
/usr 지금은 필요없지만 배포판 리눅스가 가지고 있는 그들만의 특징이 담긴 디렉토리

- 환경변수가 뭐지? : OS도 프로그램이기 때문에 OS가 동작하기 위해 변수가 필요한데 이 변수들을 환경변수라고 한다.

터미널에 env 명령어를 입력하면 리눅스의 환경변수들이 나온다. 그중에서 path를 보면, 저 경로를 다 치기 번거로우니까 PATH로 저장되어있는 걸 확인할 수 있다. (이게 맞겠지?)

 

터미널 명령어

/home/eun/bin 절대경로 : 실제 파일이 존재하는 변하지 않는 위치다.
cd.. 상대경로 : 현재 위치를 기준으로 경로를 찾아간다.
. 현재경로
.. 상위경로
cd change directory
폴더이동
ls list segments
현재 경로 내 파일의 목록 출력
ls a 숨겨있는 파일(.이 찍힌 파일)들까지 보여준다.
ls / 루트에 있는 파일들의 목록들을 출력한다.
pwd print working directory
현재 내 위치를 출력한다.
mkdir make directory
디렉토리 생성
디렉토리를 생성하고 싶은 위치로 이동한 후 'mkdir 디렉토리이름' 하면 디렉토리가 생성된다.
잘 생성됐는지 확인할 때는 ls라는 명령어를 사용하면 된다.
touch 파일 생성(디렉토리는 mkdir 명령어로 생성한다)
'touch 파일이름'
현재 위치한 곳 말고 다른 곳에 만들고 싶으면 해당 경로를 다 적어줘야한다. 적어주지않으면 현재 위치에 생성된다.
vi vi (파일명.확장자) 파일을 편집할 수 있는 에디터를 활성화하는 명령어다.
- i : insert 편집모드
- esc : 나가기
- :wq : write and quit 저장하고 나가기
- :q! : 저장안하고 나가고 싶으면 느낌표를 사용한다.
cp copy 
cp 복사하고싶은파일이름 이동할위치
cp 35_test.md ./test
-> 35_test.md파일을 복사해서 현재 같은 디렉토리에 있는 test디렉토리에 복사한다.
mv move
잘라내기
mv 옮기고싶은파일이름 이동할위치
mv 35_test.md ./test
35_test.md파일을 잘라내서 현재 같은 디렉토리에 있는 test디렉토리에 옮긴다.

파일이름 변경하기
mv 35_test.md 35.md
35_test.md파일을 35.md로 이름을 변경한다.
rm remove
rm 파일이름
rmdir 디렉토리 제거
rm -r remove -recursive
디렉토리 폴더 삭제
디렉토리는 r을 붙여줘야 삭제할 수 있다.
(rm -rf* : 왠만하면 절대 사용하지 말것!!!! 현재 위치에서 에러가 나도 모든 걸 삭제하겠다는 뜻)

 

 

https://beginnersforum.net/blog/2014/11/08/structure-of-linux/

https://www.leafcats.com/184

https://reakwon.tistory.com/135

728x90