기본 unix 명령어

30
SPARCS 10 이 이 이 이이 UNIX 이이이

Upload: karen-horn

Post on 02-Jan-2016

49 views

Category:

Documents


1 download

DESCRIPTION

기본 Unix 명령어. SPARCS 10 이 가 영. 일단 로그인 !. Linux login 시 계정을 입력하거나 root 를 입력 Root -> # 일반 사용자 -> $ 패스워드 : echo 기능을 꺼서 볼 수 없다 . 대소문자 구분 패스워드 처음 설정 시 : ~$ passwd 패스워드 변경 시 : ~$ passwd 예전 패스워드 입력 후 새로운 패스워드를 입력한다. 셸 (S hell ) 사용. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: 기본  Unix  명령어

SPARCS 10

이 가 영

기본 UNIX 명령어

Page 2: 기본  Unix  명령어
Page 3: 기본  Unix  명령어

일단 로그인 !• Linux login 시 계정을 입력하거나 root 를 입력• Root -> # 일반 사용자 -> $

• 패스워드 : echo 기능을 꺼서 볼 수 없다 . 대소문자 구분• 패스워드 처음 설정 시 : ~$ passwd

• 패스워드 변경 시 : ~$ passwd

예전 패스워드 입력 후 새로운 패스워드를 입력한다 .

Page 4: 기본  Unix  명령어

셸 (Shell) 사용• 셸 (Shell) : 사용자가 입력하는 명령어를 기계어로 변역하여 커널에

전달하는 역할을 하는 명령해석기

• 자신이 사용하고 있는 셸의 확인$echo $shell

• 로그인 셸을 바꿀 때 :

$chsh 입력Enter password: ( 암호 입력 )

Login Shell [ 현재 셸 ] : ( 바꿀 셸 입력 )

Page 5: 기본  Unix  명령어

UNIX 명령어의 기본적인 사용• $ls -l -a bobby

쉘 구문의 일반적인 사용법은 명령어뒤에 공백을 두고 옵션들이 따라온다 .

• $ls -la bobby

옵션들은 다음과 같이 한꺼번에 쓸 수도 있다 .

• $ls -l bobby joe maria

대상으로 하는 파일명이 하나이상 주어질 경우 , 공백으로 구분을 해주어 입력할 수도 있다 .

Page 6: 기본  Unix  명령어

엄청난 종류의 명령어들• 외워두면 좋지만 이 많은 명령어를 기억하기에는 무리수

• man 과 help 라는 명령어가 있다 .

$man ( 명령어 ) 또는 $info ( 명령어 )

$( 명령어 ) –help

• 어떠한 주제에 관한 명령어를 찾고 싶을 때$apropos [ 주제어 ]

Page 7: 기본  Unix  명령어

일일히 찾기 귀찮으므로 기본적인 것들은외워두자 .

Page 8: 기본  Unix  명령어

디렉토리 만들기 , 삭제

• 디렉토리 만들기$mkdir [ 디렉토리 이름 ] : 현재 디렉토리에서$mkdir 위치 / 디렉토리이름

• 비어있는 디렉토리 삭제$rmdir [ 디렉토리 이름 ]

Page 9: 기본  Unix  명령어

내 위치 ( 디렉토리 ) 보기 , 바꾸기

• $ pwd : 내 위치를 볼 수 있다 .

• $ cd [ 하부 디렉토리 ] : 하부 디렉토리로 이동• $ cd .. : 상위 디렉토리로 이동• $ cd : 홈 디렉토리로 이동• $ cd /[ 디렉토리 ] : 현재 위치한 디렉토리의 상위나 하위 디렉토리가 아닌

별개의 디렉토리로 이동 –절대경로 지정

Page 10: 기본  Unix  명령어

ls : 파일 목록을 보여주는 명령어• $ ls [ 옵션 ]

• [ 옵션 ] : -a 디렉토리 안에 있는 모든 파일과 디렉토리를 보여준다 .

-l 파일에 대한 자세한 정보를 보여준다 .

• 첫번째 글자의 의미d : 디렉토리l : 링크 그 외에 c( 특성 장치 , 파일 ), b( 블럭 장치 , 파일 ), p( 파이프 ), f( 스택 )

• 파일의 소유주 / 그룹 / 나머지 그룹

Page 11: 기본  Unix  명령어

• 각 그룹을 이루고 있는

• 첫번 째 문자 :

- : 파일을 읽을 수 있는 권한이 없다 . 만약 디렉토리라면 디렉토리에 들어있는 파일의 목록을 볼 수 없다 .

r : 읽을 수 있는 권한이 있다 .

• 두번째 문자 :

-: 파일에 덮어 쓰거나 정보를 추가할 수 없다 . 만약 디렉토리라면 파일을 그 디렉토리에 새로 만들거나 지울 수 없다 .

w: 쓸 수 있는 권한을 가지고 있다 .

• 세번째 문자 :

-: 파일을 실행할 권한이 없다 . 만약 디렉토리라면 접근할 수 없다 .

x: 실행할 수 있는 권한을 가지고 있다 .

s: 이 속성은 실행할 수 있는 파일에만 있다 . 사용자의 권한대신에 파일 소유자의 권한으로 파일을 실행할 수 있다 .

Page 12: 기본  Unix  명령어

chmod : 권한을 변경하는 명령어 • ex) $ chmod ug+rw sample

• 레퍼런스u : 사용자 g : 그 파일의 그룹 멤버o : 나머지 사람들a : 위의 셋 모두다

• 연산자+ : 권한을 부여한다 .

- : 권한을 삭제한다 .

= : 정확한 모드 지정

Page 13: 기본  Unix  명령어

사실 굳이 연산자를 쓸 필요가 없다 .

$ chmod 644 sample -> rw_r_ _ r_ _

$umask 숫자 : file 은 666 에서 , Directory 는 777 에서 빼준 값으로 변경한다고 생각하면 된다 .

Page 14: 기본  Unix  명령어

• setUID : 실행 시 파일 소유자의 권한을 임의로 가진다 .

$ chmod 4xxx file/directory

• setGID : 실행시 해당 그룹에 포함된 계정은 사용자 권한을 임의로 가진다 .

$ chmod 2xxx file/directory

• Sticky bit : 이동 , 삭제에 대한 권한은 root 와 소유자만이 가진다 . 그러나 수정은 가능하다 .

$ chmod 1xxx file/directory

Page 15: 기본  Unix  명령어

파일의 복사 , 이동 , 삭제• 복사

$ cp [ 파일명 ] [ 목적지 ]

• 이동

$ mv [ 파일명 ] [ 목적지 ]

** 목적지가 없으면 단순히 파일명의 복사와 고치기로 인식• 삭제

$ rm [ 파일 이름 ]

< 옵션 >

-i : 지우기 전에 사용자에게 지울 파일인지를 확인을 받는다 .

-r : 디렉토리와 그 디렉토리가 가지고 있는 내용물들을 모두 지운다 .

-rf : 사용자에게 확인 받지 말고 디렉토리와 들어있는 파일들을 지운다 .

Page 16: 기본  Unix  명령어

ln : 다른 파일로의 연결 만들기

• $ ln [ 원본 파일 ] [ 목적 파일 ] : 하드링크 원본 파일을 삭제해도 하드링크는 원래의 내용을 가지고 있다 .

• $ ln –s [ 원본 파일 ] [ 목적 파일 ] : 심볼릭링크원본 파일을 삭제하면 심볼릭링크는 무용지물

Page 17: 기본  Unix  명령어
Page 18: 기본  Unix  명령어

cat 과 more : 파일 내용 보기• $ cat [ 옵션 ] [ 파일명 ]

• 파일의 내용을 확인할 때 사용• 옵션

-b : 출력되는 각행에 행번호를 부여하여 출력 . 공백행은 행번호를 부여하지 않음-v : 출력할 수 없는 문자들이 있으면 출력할 수 있는 문자로 바꿔서 출력한다-n: 행마다 앞에 행번호를 붙인다 .

Page 19: 기본  Unix  명령어

• $ more : 파일 내용이 길 때 사용 .

• $ more [ 옵션 ] [ 파일명 ]

• 한 화면이 출력되고 , 다음 화면을 출력하라는 키를 눌렀을 때 , 다음 화면을 출력하는 방식

• < 키 >

스페이스바 : 한페이지 다음 내용을 출력b : 바로 앞 페이지의 내용을 본다 .

엔터 : 한줄 다음으로 이동한다 .

/[ 문장 ] : 파일에서 현재 위치 다음에 [ 문장 ] 이 나타나는 곳으로 이동?[ 문장 ] : [ 문장 ] 들 중 파일의 제일 마지막에 위치한 곳으로 이동q : 끝마친다 .

v: vi 편집기로 전환h : 도움말

Page 20: 기본  Unix  명령어

와일드카드 문자• * : 모든 문자열 의미

$ rm * : 모든 파일을 지운다 .

$ rm a* : a 로 시작하는 이름의 모든 파일을 지운다 .

$ rm hi*bat : hi 로 시작하고 bat 으로 끝나는 모든 이름의 파일을 지운다 .

• ? : 어떤 문자열 의미$ cat c?t : c, 어떤 글자 , t 라는 이름을 가진 파일을 실행

• [ 그룹 ] : 문자 집합 $ mv *[a-z] hi : 소문자로 끝나는 모든 파일을 hi 디렉토리로 옮긴다 .

$ more [tp] ine : tine 과 pine 을 한 페이지씩 출력한다 .

Page 21: 기본  Unix  명령어

REDIRECTION• 평상시 표준 출력과 표준 에러는 화면 , 표준 입력을 자판으로 받는다 .

• 명령 > outfile : 출력을 outfile 에 덮어쓴다 .

• 명령 >> outfile : 덮어쓰지 않고 outfile 의 내용에 연결하여 출력한다 .

• 명령 < infile : 입력을 infile 으로부터 받는다 .

Page 22: 기본  Unix  명령어

평상시의 모습 출력이 지정되었을 때

입력이 지정되었을 때 입출력이 지정되었을 때

Page 23: 기본  Unix  명령어

표준 에러도 REDIRECTION 가능• >& : 표준 출력 , 표준 에러 모두 리다이렉트

$ gcc invinitjig.c >& error-msg

• 2> : 표준 에러만 리다이렉트$ gcc invinitjig.c 2> error-msg

• 2> : 표준출력은 버리고 , 표준에러 리다이렉트 ( 화면에 출력이 안뜬다 )

$ gcc invinitjig.c 2>error-msg >/dev/null

Page 24: 기본  Unix  명령어

PIPE(|) : 명령의 출력과 입력의 연결• 한 프로세스의 출력을 다른 프로세스와 연결하려면 , 명령을 수직 막대 (|) 로

분리한다 .

• command1 | command2 | ... | commandN

$ 명령 1 >  중간파일 $ 명령 2< 중간파일이러한 두 개의 명령을 파이프를 이용해 하나로 쓸 수 있다 .

$ 명령 1 | 명령 2

Page 25: 기본  Unix  명령어

foreground 와 background• 화면에 보여주면서 명령을 수행하는 것이 foreground, 보여주지 않고

뒤에서 작업하는 것이 background 프로그램이다 .

• 즉 background 상태는 입력이 불가능

• background 로 실행시키기 : 명령어 끝에 & 를 붙인다 .

• 정지된 작업을foreground 로 보내기 : $fg (%) 작업번호 background 로 보내기 : $bg (%) 작업번호

Page 26: 기본  Unix  명령어

• $ jobs : fore/background 작업 수 확인

• $ kill [ 시그널 ] 작업번호 : 작업번호의 일에 시그널을 보낸다 .

시그널의 예HUP: 연결 끊기 . 프로세스의 설정을 다시 읽을 때 사용TERM: 소프트웨어 종료 시그널CONT : 멈춤상태에서 다시 진행KILL : 강제종료

Page 27: 기본  Unix  명령어

Daemon Programs• background 에서 돌아가고 있는 서버 프로그램• 단독으로 실행되는 데몬이 있고 , 여러가지 서비스를 한꺼번에 관리하는 슈퍼데몬이 있다 . (standalone, inetd)

• 단독 데몬의 실행 / 중지 / 재시작 :

#service 데몬이름 start/stop/restart

• 부팅 시 자동실행되는 데몬의 관리# ntsysv : 현재 레벨의 데몬 관리 지정#ntsysv –level3 : 3 번 레벨의 데몬 관리 지정

Page 28: 기본  Unix  명령어

• 데몬의 예NetworkManager : 자동으로 최대 사용가능한 연결에 네트워크 연결을 스위칭한다 .

acpi : 커널로부터 ACPI 이벤트들을 받아서 처리한다 .

apmd : 베터리 상태를 모니터링하고 기록 (syslog(8)) 한다 . 고급 전원

atd : 백그라운드 작업을 수행하거나 예약 명령을 처리한다 .

cups : 프린터 데몬

daytime : 현재 시스템 시간을 가져와 프린트해주는 내부 xinetd 데몬 (tcp버전 )

• $ nohup (command) & : 해당 명령을 데몬’처럼’ 백그라운드에서 지속적으로 동작하게 한다 . 로그아웃 시에도 작업이 계속된다 .

Page 29: 기본  Unix  명령어

Process• 실행 중인 프로그램 . 순차적으로 실행한다 .

• Process 의 상태는 생성 , 준비 , 실행 , 대기 , 종료 중 하나이다 .

• $ ps [ 옵션 ] : 프로세서의 상태 점검옵션-l : 자세한 형태의 정보를 출력한다 . -u : 각 프로세서의 사용자 이름과 시작 시간을 보여준다 . -m : 메모리 정보를 출력한다 . -a : 다른 사용자들의 프로세서도 보여준다 .-x : 로그인 상태에 있는 동안 아직 완료되지 않은 프로세서 보기

• $ kill (process-id) : 실행 중인 프로세스를 중지한다 .

Page 30: 기본  Unix  명령어

• 출처 : 인터넷과 선배님의 세미나 자료

• 이상으로 세미나를 마치겠습니다 : )