1 / 37

[2011-2] 시스템 프로그래밍 [ 리눅스 ] 기본 명령어

[2011-2] 시스템 프로그래밍 [ 리눅스 ] 기본 명령어. 담당교수 : 최 윤 정 2011. 11. 8. Log-in / log-out File 관련 명령어 Re-direction Network 명령어 압축 관련 명령어 VI 에디터 Compile 명령어 gcc ^Z , ^D, ^C 의 의미 Shall ** 개인적으 로 공부해 두어야 할 부분입니다. Linux 의 소개. Linux 의 정의 컴퓨터에서 프로그램을 실행시키고 자원을 관리하는 운영체제의 일종

Download Presentation

[2011-2] 시스템 프로그래밍 [ 리눅스 ] 기본 명령어

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. [2011-2] 시스템 프로그래밍[리눅스] 기본 명령어 담당교수 : 최 윤 정 2011. 11. 8

  2. Log-in / log-out • File 관련 명령어 • Re-direction • Network 명령어 • 압축 관련 명령어 • VI 에디터 • Compile 명령어 • gcc • ^Z , ^D, ^C 의 의미 • Shall • ** 개인적으로 공부해 두어야 할 부분입니다.

  3. Linux의 소개 • Linux의 정의 • 컴퓨터에서 프로그램을 실행시키고 자원을 관리하는 운영체제의 일종 • 주로 대형 서버나 Workstation 에서 사용됨 • System V계열과 BSD계열이 있음 • PC 에서 사용하는 Linux역시 UNIX 계열의 OS임 • Linux의 특징 • Multi-user : 다중 사용자의 사용 가능 • Multi-tasking : 사용자가 여러 프로그램을 동시 실행 가능 • Multi-choice : 다양한 사용자 인터페이스의 지원 • Hierarchical File Structure • 이식성(Portability)이 용이 • 컴퓨팅 환경의 확장(Scalability) 이 용이

  4. Utilities Shell Additional Utilities Communications Networking Kernel Text Processing Software Development Information Management Linux 시스템의 구조

  5. Login • login • Consol이나 Terminal을 이용해서 Linux 서버에 접속하는 과정 • Linux가 Multi-user 환경이기 때문에 각각의 사용자들의 정보를 보호하기 위함 • login 과정 • telnet <자신이 접속하고자 하는 서버 이름> • 예) telnet home.konkuk.ac.kr • 예) putty로 sslab에 접속하기 • login: <사용자 계정> • 예) login : bkkim • Password: <사용자 계정 비밀번호> • 예) password : (활성화 되지 않음 )

  6. Unix OS 버전 login 프롬프트 Password 프롬프트 마지막 종료시간 접속 주소, 서버 환경 Root 메시지 자신의 banner 메시지 초기 프롬프트 Login (cont.)

  7. Linux 기본 명령어 • options expression filename(s) • filename • up to 14 characters long • a-z , 0-9 , _ , . , - • uppercase letters and lowercase letters • option • a literal • - , + • Format of UNIX System Commands • command argument

  8. Linux 기본 명령어(cont.) • passwd (change login passwd) • 패스워드를 바꾸는 명령 • 영문, 숫자를 섞어서 6~8자 내외 • /etc/default/passwd file 에서 정의하고 있음 • 첫번째로 숫자나 특수문자가 올 수 없음 • exit, logout • 접속을 종료할 때 사용

  9. Linux 기본 명령어(cont.) • who (who is logged in, what are they doing) • 현재 시스템에 로그인하고 있는 사림들의 리스트를 출력 • Username • 접속 방법 • login time • 접속 IP Address 등 • whoami • 현재의 user name을 나타내 줌 • finger • who와 유사하지만 더 많은 정보를 얻을 수 있음 • finger -i • finger -b • finger -q • users • 현재 시스템에 로그인한 사용자 계정 조회

  10. Linux 기본 명령어(cont.) • id • user id 와 user가 속한 group id를 알려줌 • cal [month] [year] • cal 3 2008 => 2008년 3월 달력을 보여줌 • env • 자신의 설정된 환경 변수들을 보여줌 • pwd • 현재 자신의 directory 를 보여줌 • cd (change working directory) • cd => user의 Home directory로 이동 • cd .. => 현재 directory의 상위 directory로 이동 • cd [directory 경로] => 정해진 directory로 이동 • cd ~계정명=> 다른 계정의 home directory 이동

  11. Linux 기본 명령어(cont.) • ls (list contents of directory) • 현재의 directory 내용을 보여줌(DOS의 dir 명령과 같다) • ls [-option] [filename] • option • -a : 숨겨진 파일(‘.’으로 시작하는 파일)까지 보여줌 • -l : file에 대한 자세한 내용을 보여줌 -rw-r-- r-- 1 ghkim prof 3059 8월 12일 12:24 pr 허가 상태 링크수 소유자 Group 크기 생성된 날짜 시간 • -R : 하위 directory의 내용까지 보여줌 • root directory에서는 사용하지 말 것. • -s : file의 대략적인 크기를 보여줌 • -t : 최근의 사용순서대로 정렬하여 보여줌 • (최근에 사용한 file을 찾을 때)

  12. Linux 기본 명령어(cont.) • cat • 파일 내용 출력하거나 텍스트파일 생성 • cat [-option] [filename] • touch • 비어있는 새로운 파일을 생성 • 파일의 액세스 시간이나 갱신 시간을 수정 • touch [filename]

  13. whereis , which, whatis, man 명령어에 대한 도움말. 직접 수행해 보세요 #whereisls #which ls #whatisls #man ls

  14. redirection & pipe • redirection • 입출력 방향을 변경시킴 • pipe • 한번에 여러가지 명령을 처리할수 있음 • 출력 방향 변경 (‘>’) • 우선 file을 생성 • touch touch_test : 빈 file 생성 • cat touch_test : 아무것도 나타나지 않음 • ls –al > touch_test : ls –al 의 출력을 touch_test로 보냄. 그러나 화면상엔 변화가 없음 • cat touch_test : touch_test 의 내용 변경됨

  15. redirection & pipe(cont.) • 출력 방향 변경 및 추가 (‘>>’) • ls –al >> touch_test : 역시 화면 변화 없음 • cat touch_test : test file에 내용 추가됨 • rm test* : test로 시작하는 모든 파일 지움 • cat을 이용하여 편집하는 방법 • cat > test 이것은 test입니다. : 문자열 입력후 enter ^Ctrl-D • cat test : ?? • cat을 이용한 문자열 추가 방법 • cat >> test 이번엔 추가입니다. : 문자열 입력후 enter ^Ctrl-D • cat test : 내용이 추가됨

  16. redirection & pipe(cont.) • 입력 방향 변경 (‘<‘) • wc(display a count of lines, words and characters in a file) • File안의 line수와 단어 수 그리고 문자의 수를 세를 명령 • option : -l : 라인수 –w : 단어의수 –c : 문자의 수 • wc test • wc < test • cat test | wc : 모든 라인, 단어, 문자의 수가 출력됨 • Pipe : 파이프 • Pipe는 명령의 출력을 다른 명령으로 연결할 때에 사용됨 • who > wc –l • ls –al • who | wc –l

  17. File 관련 명령어 • mkdir (make directory) • 새로운 directory를 만드는 명령 • mkdir [디렉토리명] • rmdir (remove directory) • Directory를 삭제하는 명령 • mv (move file) • File을 옮기는 명령, 사용법은 cp와 같음. • Mv명령으로 file명을 바꿀 수 있음 • 예) mv test.filetest.test • rm (remove) • File을 지우는 명령 • 예) rm test* • rm [–r option]은 아주 강력하고도 위험한 명령임.

  18. File 관련 명령어 (cont.) • cp (copy files) • File을 복사하는 명령 • 예) cp [복사할 file name] [복사될 경로] • cp 명령은 Meta 문자(‘*’, ‘?’)의 사용이 가능함 • 예) cp test* ../ • echo (echo argument) • 입력된 인수를 반향(반복)한다. • 예) echo [문자열] • echo * : ls와 같은 기능을 함. ‘*’는 임의의 문자를 의미 • echo ? : ls ? 와 같음 ‘?’는 한 문자를 의미 • echo t* : t로 시작하는 모든 문자열

  19. File 관련 명령어(cont.) • chmod (change mode) : 파일 액세스 모드의 변경 • 형식 chmod mode files(s) • 기능 파일의 사용 허가권(모드)를 변경한다. • option • mode u g o a user group other all(ugo) • + add permission • - remove permission • = reset permission • permission set number • 0 none • 1 execute • 2 write • 4 read

  20. File 관련 명령어(cont.) • access permission • r read • w write • x execute • 예)chmod 644 test chmod 755 test chmod a+x test chmod o-w test

  21. File 접근 권한의 의미 Directory File Permission r read read a file list files in . . . w write write a file create file in . . . rename file in . . . delete file . . . execute a shell script x execute read a file in . . . write to a file in . . . execute a file in . . . execute a shell script in . . .

  22. File 관련 명령어(cont.) • chown (change file ownership) • File의 소유권을 다른 사람에게 넘겨주는 명령 • 예) chown [소유자] [file name] • Root 사용자만 가능 • chgrp (change file group ownership) • File의 소유권을 다른 그룹으로 넘겨주는 명령 • 예) chgrp [group] [filename or directory] • Root 사용자만 사용 가능 • chsh (change shell) • 자신의 shell을 바꾸는 명령 • 시스템에 따라 명령이 없는 경우도 있음 • ‘sh’는 bourne shell, ‘ksh’은 korn shell, ‘csh’ 은 C shell로 바꿈

  23. File 관련 명령어(cont.) • touch (change file access and modification times) • file의 최종 수정시간을 변경시켜줌 • 예) touch [filename] • 만약 file name에 해당하는 file이 없는 경우 file 생성 • du (disk usage) • 현 directory의 하위 directory들이 사용하고 있는 디스크 용량을 보여줌 • option • -s : 사용 총량만을 알려줌 • -a : 모든 file의 사용량을 알려줌 • df (disk free) • 디스크의 총량과 사용량 남은 량 들을 알려줌 • -k option 사용 시 킬로바이트 단위로 보여줌

  24. 정보 검색 명령(cont.) • find (find files) • 찾고자 하는 file의 위치를 알려주는 명령 • find [path] [-option] [pattern] • option • -atime [n] : file이 n일 전에 touch(접근)되었으면 ‘true’ • -ctime [n] : file이 n일 전에 생성되었으면 ‘true’ • -exec [command] : 명령을 실행 • -mtime [n] : file이 n일 전에 수정되었으면 ‘true’ • -name [pattern] : 패턴에 맞는 file명이면 ‘true’ • -type [file 종류] : file이 종류가 맞으면 ‘true’ • ‘d’ : directory, ‘f’ : file, ‘l’ : link • -user [name] : file의 사용자가 name이면 ‘true’ • find . –name “*.c” : 현재 디렉토리 밑에 .c로 끝나는 file 검색 • find / –user “ghkim” : file의 소유자가 ghkim인 모든 file 검색

  25. 정보 검색 명령(cont.) • file (display file type) -파일 형의 유추 • 매개변수로 지정된 파일에 어떤 형의 정보가 저장되는지를 확인 • 파일의 앞부분 1000 바이트 정도를 조사하여 파일의 종류가 무엇인지를 알려줌 • file [filename] • file test • file * • 현재 디렉토리에 있는 모든 파일 type 확인 • od (octal dump) • 사용자가 파일 내에 어떤 2진 코드가 포함되어 있는지를 정확하게 확인하기 위해 사용 • od [filename] • od -c test1 • ASCII 형식으로 덤프하는 방식

  26. 압축 명령어 • tar (crete tape archives, and add or extract files) • file을 묶어주는 명령(압축은 하지 않음) • file을 묶을 때 • tar cvf [만들 filename.tar] [압축하고자 하는 대상] • file을 풀 때 • tar xvf [풀고자 하는 filename] • file을 풀지 않고 내용만 보고자 할 때 • tar tvf [보고자 하는 filename]

  27. 압축 명령어(cont.) • compress • File 압축 명령 • 예) compress [filename] : filename.Z가 생성됨 • compress temp.tar : temp.tar.Z라는 file이 생성됨 • zcat temp.tar • 표준출력에 압축되기 전의 내용을 보여줌 • option • -v : 압축률을 보여줌 • 예) compress –v temp.tar • uncompress • File 압축 해제 명령 • 예) uncompress [압축된 filename] : 원래의 file이 됨.

  28. 압축 명령어(cont.) • pack • file 압축명령 • Huffman 압축방법 사용 • pack -f test1 • 자동적으로 확장자 .z가 붙음 • option • -f : 강제적으로 파일을 압축 • - : 압축하는 여러 통계 값을 출력(디폴트는 압축률) • unpack • 압축된 파일을 해제 • unpack test1

  29. 압축 명령어(cont.) • gzip • File 압축 명령 • gzip [압축할 filename] • gzip test1 • 확장자 “gz” 가 붙은 test1.gz 가 생성됨 • gzip -v test2 • 압축률을 보여주면서 압축함 • gzip test* • test로 시작되는 모든 파일들을 압축함 • gzip -d [압축된 filename] • 압축해제(decompress) 명령 • gzip –d test1.gz • gzip –h • gzip 에 대한 help 기능 제공

  30. Text file utility – head, tail • head (display first a few lines of files) • file의 처음 몇 개의 행을 보여주는 명령 • 기본으로 10 라인을 보여줌 • head [-n] [filename] • ‘n’개의 line을 보여줌 • tail (deliver the last part of a file) • file의 끝부터 몇 개의 행을 보여주는 명령 • tail [-n] [filename] • 끝에서 ‘n’개의 line을 보여줌

  31. <주의>: rm(remove) • rm [옵션] 파일명 • (예) rm–d test #디렉토리 삭제 • (예) rm–f test #삭제할 것인가라는 메시지 없이 그대로 강제 삭제 • (예) rm–r test #하위 디렉토리를 포함한 파일들을 모두 삭제 • (예) rm–i test #삭제 시 일일이 삭제할 것인지 물음

  32. du(disk usage) • du [옵션] 디렉토리 • (예) du –k ./ #현 위치, 그 이하의 모든 디렉토리를 KB 크기로 나열 • (예) du –sh #총량을 알기 쉽게 M 단위로 표현해줌

  33. df(disk free) • df [옵션] 디렉토리 • (예) df -i ./ #파일 크기를 inode로 디스크 정보 표시 • (예) df–k ./ #KB로 표시 • (예) df–T ./ #파일 시스템 종류 • (예) df–t ./ #fstype값을 가진 파일 시스템에 대한 정보 • (예) df–h ./ #쉬운 용량 표시 단위로 표시

  34. ps 와 kill • ps : 프로세스 보기 • kill [옵션] 시그널 • kill –HUP 시그널 #프로세스를 재활성화 한다 • kill -9 시그널 #프로세스를 강제로 종료시킨다

  35. fsck(file system check) • fsck –t 파일시스템유형 장치

  36. shutdown • shutdown <옵션> <시간> [경고 메시지] • (예) shutdown –h +7 #7분 후에 셧다운 후 시스템 정지 • (예) shutdown –r now #지금 바로 리부팅하기

  37. grep(get regular expression & print) • 특정한 문자열을 찾아주는 grep • grep옵션 패턴 파일명 • 옵션 -c : 일치되는 라인의 수만을 출력 -i : 패턴에서 대소문자 무시 -l : 패턴에 일치하는 파일의 파일명만 출력 -n : 라인 번호 포함 • 예) grep–i love test.txt : test.txt 파일에서 대소문자를 무시하고 love를 포함하는 라인을 찾아줌 • 예) ls –al | grep test: ls의 결과 중 test가 있는 라인만 표시

More Related