Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
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 31
Tags
more
Archives
Today
Total
관리 메뉴

으나님의 잡다한 개발상식

운영체제 / 리눅스 명령어 본문

CS지식

운영체제 / 리눅스 명령어

스위트치즈 2019. 12. 30. 15:23

1. 운영체제(OS)

- 시스템의 모든 자원(하드웨어)을 운영하는 것

- 전원이 켜지자 마자 '스케줄링'이라는 것을 함 : 언제 어떤 자원을 사용할지 공간 배분

- 그런 저장 공간들이 배분되어 있는 것을 레지스트리라고 함. 즉 레지스트리로 스케줄링을 함.

- 화면을 송출할 때 운영체제를 사용.

- 화면을 바꾸는 속도가 60hz라면 이 속도로 화면이 바뀌므로 영상이 될 수 있음..

- 구조(=리눅스 구조)

-분류

1) 유닉스 기반 운영체제

2) 리눅스 기반 운영체제

- redhat계열 : 리눅스 레드헷(유료) / 최신버전이 안 나옴

- debian 계열 : 우분투(무료) / 이제는 debian을 많이 씀

3) 윈도우 기반 운영체제

 

있었으나 리눅스가 처음에 무료로 뿌리면서 비약적으로 성장하게 됨.

나중에 리눅스를 사용해서 개발할 경우 커널까지만 공개해야한다고 라이선스를 정함.

 

 

2. 우분투

- ubuntu 14.04.6(LTS) : 14년도 4년에 나온 6번째 버전 / 짝수년도에 정식버전을 출시함

- 최신버전도 버그가 많은 테스트 버전이라서 리눅스 서버 업데이트는 거의 하지 않음.

- 우분투와 윈도우를 같이 돌리려면 가상머신을 깔아야 함 - 버추얼박스(무료) / VMWare(유료)

- 또는 듀얼부팅을 해야 함(처음에 부팅하면 롬에서 바이오스가 실행되면서 어떤 OS로 부팅할지 선택함).

- intel계열의 cpu에서 돌도록 설정되어 있음

- 5년 동안 업데이트를 보장함

- 데스크탑용 우분투(개인사용자) / 서버용 우분투(GUI 환경 제공하지 않음, 모든 작업을 콘솔에서 진행해야 함)가 있음

- deb는 패키지 파일 확장자. apt는 패키지 관리 프로그램 확장자. apt 프로그램을 이용하여 deb 설치

- 근데 확장자 없어도 돌아감

 

3. 커널

- 운영체제의 핵심 기능을 관리(프로세서, 메모리, 네트워크, 저장장치, 응용프로그램)

- 공개되어 있음

- 드라이버를 관리

 

4. GNU(유닉스 x 리눅스 o)-정처기 시험에 많이 나온다고 함.

그래서 반드시 소스를 공개해야 한다.

 

5. 리눅스 터미널 명령

gedit : txt 파일 켬

cd .. : 상위 파일로 올라가기

cd 파일명 : 해당 파일로 찾아가기

 

ls : 폴더를 보여줌

$ : 사용자 권한

사용자ID@컴퓨터이름 : 현재 디렉토리 $(사용자)

사용자ID@컴퓨터이름 : 현재 디렉토리 #(root-관리자)

$ gedit a.txt

# cd abc/

cd - : 한 번만 뒤로 갈 수 있음

cd ./ : 현재 디렉토리

 

sudo su : super user 권한으로 실행/ 관리자 권한으로 들어가면 $ → #이 됨

 

ls-al : 모든 파일 보기(숨김파일까지). 여기서 '.'으로 시작되는 파일은 숨김파일임.

 

nautilus : 파일 브라우저(현재 폴더를 띄워라)

 

cp : 복사

rm : 삭제

rmdir : 디렉토리 지우기(그 폴더 안에 파일 있을 경우 지워지지 않음)

rm -rf : 모두 삭제(폴더 안에 뭐가 있어도 지워지고 안내멘트도 안나옴 근데 루트는 못 지우게 되어 있음)

 

mkdir : 디렉토리 만들기

mv text1 text2 : text1을 text2로 바꾸기// 파일을 움직이거나 폴더명 바꾸기

 

apt-get install vim : vim 패키지 깔기

apt-get remove vim : vim 패키지 지우기

vi : 마우스를 사용하지 않고 키보드만 사용(키보드 방향키도 안먹음) - HJKL로 이동할 수 있음

vim : vi와 동등하게 사용 가능, 마우스와 키보드 방향키도 사용 가능

 

ifconfig = ipconfig

 

top : 현재 메모리나 cpu사용량을 체크할 수 있음

 

pwd : 현재 폴더

 

ctrl+c : 강제종료

ctrl+z : 일시 정지

 

ctrl+alt+t : 새로운 터미널 열기

ctrl+shift+t : 여러 터미널을 하나의 창에서 쓰기

 

~ : 홈디렉토리(사용자) ex) /home/k

. : 현재 디렉토리 ex) cd ./

.. : 상위 디렉토리

/ : 루트

 

sudo shutdown [시간] : 종료하기(ctrl+z를 통한 정지가 안먹음)

sudo reboot : 리부트하기

 

df : 파일구조에 대해 볼 수 있음 여기서 /dev/sda1는 하드디스크임

 

mount : 

 

<파일 디렉토리>

R : Read 읽기 권한

W : Write 쓰기 권한

X : 실행 권한

 

파일디렉토리 -d

소유자  소유그룹  제3자

rwx       rwx         rwx

ex) -rw--rw--r : 소유자는 읽고 쓰기 권한 있음 / 소유그룹은 읽고 쓰기 권한 있음 / 제3자는 읽기 권한만 있음

 

★cfmod : 권한변경

- *** *** ***

d *** *** ***

 

***부분은 비트연산임 따라서 읽기 권한은 4, 쓰기 권한은 2, 실행권한은 1임 합치면 7임

ex) cfmod 777 파일이름으로 하면 소유자, 소유그룹, 제3자 모두에게 모든 권한을 준다는 의미가 됨.

앞에 -, d는 파일구성을 뜻함.

 

 

chown 새로운유저 : 새로운그룹 파일명

ex) sudo chown aaa:foo A.txt

 

# : 주석

 

bashrc : 내의 alias에 단축명령어를 쓸 수 있음

gedit ~/.bashrc로 접속

 

echo '내용': '내용'을 화면에 찍으라는 명령어. ex) echo '1'

echo '내용' > '파일' : '파일'에 '내용'을 넣으라는 명령어(이전 내용은 지워짐) echo '1'>test

 

 

ln : link하는 기능

 

-R : 하위폴더

 

★find : 파일 검색 ex) find -name '파일명'

grep : 파일 내용 검색 ex) grep -R '문자열' .

 

cat : 파일보기 ex) cat  '파일명'

 

 

vim에서 입력모드를 진입하는 명령어

1) i: 커서 위치에서 입력

2) a: 커서 위치 뒤에서 입력

3) o: 다음 줄로 넘어가서 입력

4) ESC : 입력모드에서 나가기

 

vim 명령모드 명령어

1) b : 단어의 맨 앞으로 이동

2) B : 문장의 맨 앞으로 이동

3) e : 단어의 맨 뒤으로 이동

4) E : 문장의 맨 뒤으로 이동

5) gg : 파일의 첫 번째 문장으로 이동 / 5gg : 5번째 라인으로 이동

6) G : 파일의 마지막 문장으로 이동

7) yy : 한 줄을 복사함 / 5yy : 커서부터 5줄을 통째로 복사(명령모드에서는 복붙이 안됨.)

8) p : 복사한 한 줄을 붙여넣기

9) dd : 한 줄 삭제/ 3dd : 커서부터 3줄을 통째로 삭제

10) u : 되돌리기(undo)

11) ESC : 비주얼모드에서 나가기

 

vim 비주얼모드(블럭모드) 명령어

1) v : 블럭모드에 진입. 블럭을 잡을 수 있음

2) x : 잘라내기(붙여넣기 가능)

3) ESC : 비주얼모드에서 나가기

 

EX 모드(도구창)

1) : : EX모드 진입

2) w : 저장

3) q : 나가기  ex) :wq  - 저장하고 나가기

4) ! : 무시

5) :5 : 5번째 라인으로 점프

6) e 파일명: 파일 새로 열기

7) new : 창을 가로로 나누기 (중첩해서 분할 가능)

8) vs : 창을 세로로 나누기 (중첩해서 분할 가능)

9) :%s/찾을문장/바꿀문장 : 찾아바꾸기

10) /찾을문장 : 문장을 찾음. 다음으로 넘어가려면 n으로 넘길 수 있음

 

 

ctrl+alt+F1~F6 : 터미널모드

ctrl+alt+F7 : 그래픽모드(X-Windows)

 

vim 내에서 esc+set number

 

gedit~/.vimrc 수정

set nu #줄 번호 보이기

set shiftwidth=4

set showmatch

set smartcase

set ruler

set cursorline

set hlsearch

set tabstop=4

syntax on

 

 

vim의 설정 : gedit ~/.vimrc

 

vim 애드온 : vim을 좀더 효율적으로 사용

ctag, cscope, taglist