[OS] 리눅스

리눅스란?

리눅스(Linux)는 리누스 토발즈가 커뮤니티 주체로 유닉스(UNIX) 운영체제를 기반으로 만들어진 컴퓨터 운영체제입니다. 리눅스(Linux)는 유닉스(UNIX)와 마찬가지로 다중 사용자, 다중 작업(멀티태스킹), 다중 스레드를 지원하는 네트워크 운영 체제(NOS)입니다. 현재는 상당수의 웹 서버와 모바일 장치(안드로이드 등)를 구동하는 운영체제로도 많이 이용이 되고 있습니다.

리눅스를 사용하는 이유?

  • 모든 소스가 오픈되어 있어 광범위하게 사용된다.
  • 다중사용자, 다중작업을 지원하기 때문에 시스템적으로 서버를 운영하기에 적합하다.
  • 리눅스는 무료이며 개발 환경이 풍부하다.

가상머신

  • 하드웨어를 소프트웨어적으로 구현해서 그 위에서 운영체제가 작동하도록하는 기술이다.

가상머신을 사용한 이유

  • 다른 운영체제를 사용해야 하는 경우(Windows에서 Linux)
  • 독립된 작업공간이 필요한 경우(바이러스 회피, 백업)

VirtualBox

오라클에서 만든 가상머신 솔루션으로 오픈소스이다.

가상머신을 이용하여 리눅스 설치하기

VirtualBox 설치

Ubuntu 다운로드

리눅스 명령어

디렉토리와 파일

  • pwd : 현재 경로 보기
$ pwd
  • cd : 해당 디렉토리 이동하기
$ cd {옵션}
. : 현재 디렉토리로 이동
.. : 상위 디렉토리로 이동
~ : 홈 디렉토리로 이동
- : 이전 작업 디렉토리로 이동
  • ls : 파일 내역 출력
$ ls {옵션} {디렉토리/파일}
-a : 모든 파일과 디렉토리 표시
-l : 자세히 출력
  • cp : 파일, 디렉토리 복사
$ cp {옵션} {복사파일} {복사위치}
-f : 강제로 복사
-r : 하위 경로 포함하여 복사
-v : 복사 진행 상황 출력
  • mkdir : 디렉토리 생성
$ mkdir {옵션} {이름}
-m: 디렉토리 생성 시 기본 권한 설정
-p: 상위 디렉토리 생성
--help: 도움말
  • mv : 파일, 디렉토리 이동
$ mv {옵션} {이동소스} {이동타겟}
-f: 강제로 이동
-v: 이동 진행 상태 출력
  • rm : 파일, 디렉토리 삭제
$ rm {옵션} {디렉토리/파일}
-f: 강제삭제
-r: 디렉토리 삭제 시 하위 경로와 파일 삭제
-v: 파일 삭제 정보를 자세히 보여줌
  • cat : 텍스트 파일 내용 출력
$ cat {옵션} {파일 이름}
>: 내용 덮어 씌우기
>>: 기존 파일 내용 추가
  • touch : 비어있는 파일 생성
$ touch {파일이름}
  • head : 파일 내용 중 처음부터 10줄 출력
$ head {파일이름}
  • tail : 파일 내용중 마지막부터 10줄 출력
$ tail {파일이름}
  • chown : chown(change the owner of a file) 파일의 소유권을 바꾸기 위해 사용
$ chown {옵션} {변경할유저이름:변경할그룹이름} {파일이름}
-R : 하위 디렉토리에도 모든 권한 변경
- chown {변경할유저이름} – 소유자만 변경
- chown {:변경할그룹이름} – 그룹만 변경
- chown {변경할유저이름:} – 소유자와 그룹 모두 동일한걸로 변경
- chown {변경할유저이름:변경할그룹이름} – 소유자와 그룹을 서로 다른걸로 변경
  • chmod : 파일의 권한을 변경

    • 8진수 형태와 심볼릭 형태로 사용 가능

    • 심볼릭이 기능적인 면으론 좋지만 조금 복잡

    • 쉽게 쓸려면 8진수 형태

      chmod 명령어 8진수
      
      8진수 0~7은 아래와 같이 2진수로 표현이 가능
      0 : 000
      1 : 001
      2 : 010
      3 : 011
      4 : 100
      5 : 101
      6 : 110
      7 : 111
      위 2진수 세자리는 rwx 세자리와 일치하며 2진수가 1이면 해당 권한을 부여, 0이면 해당 권한을 제거
chmod 명령어 심볼릭

- 대상

u : user의 권한
g : group의 권한
o : other의 권한
a : 모든 사용자 권한

- +/-/=

+ : 해당 권한을 추가
– : 해당 권한을 제거
= : 해당 권한을 설정한데로 변경

- rwx

r : 읽기 권한
w : 쓰기 권한
x : 실행 권한
$ chmod {옵션} {8진수Permission} {파일명}8진수 형태
$ chmod {옵션} {대상}{+/-/=}{rwx} {파일명} – 심볼릭 형태
-R : 하위 디렉토리에도 모든 권한 변경
-c : 권한 변경 파일내용을 출력

검색

  • find : 파일찾기
  • grep : 텍스트 검색 기능을 가짐
$ grep {검색어} {파일이름}

프로세스

  • ps : ps(process status) 시스템에서 현재 수행되고 있는 프로세스를 확인
$ ps aux
  • kill : 프로세스를 종료
$ kill {SIGNAL} {프로세스명}
$ kill -9 {프로세스명}   # 응답없어도 강제종료
$ kill -15 {프로세스명}  # 일반적 종료
  • top : 시스템의 운용사항을 실시간으로 모니터링할 수 있는 유틸리티로, 윈도우의 작업관리자를 연상하면 된다. CPU, 메모리, 프로세스등을 확인할 수 있다.
$ top
  • daemon : 데몬 실행 및 종료
$ sudo service {데몬이름} start # 데몬 실행
$ sudo service {데몬이름} stop # 데몬 중지
$ sudo service {데몬이름} restart # 데몬 재시작

좋은 웹페이지 즐겨찾기