제2장 사용자를 위한 UNIX 숙명여대 창병모 2011 가을
2.1 시작
Unix의 기본 사항 로그인/로그아웃, 패스워드, 매뉴얼 X-윈도우 파일 시스템 파일 및 디렉토리 관련 명령어 파일 특성 에디터
실습: 로그인 사용할 시스템 직접 로그인 원격 로그인 개인별 Linux 1대 Unix 서버: cs.sookmyung.ac.kr Linux 서버: cs2.sookmyung.ac.kr 직접 로그인 Console를 통한 로그인 X-window 로그인 원격 로그인 telnet cs.sookmyung.ac.kr ssh cs2.sookmyung.ac.kr X-manager을 통한 원격 X-window 로그인
실습: 패스워드 설정 passwd 로그아웃 패스워드 설정 혹은 변경 at least six letters, should not a word from a dictionary 로그아웃 Logout Ctrl-D
2.2 X-윈도우
X-윈도우 X-윈도우 X-윈도우의 종류 MIT에서 개발된 윈도우 시스템 클라이언트/서버 모델을 기반으로 한 윈도우 시스템 UNIX와 Linux의 표준 윈도우 시스템 X-윈도우의 종류 X11 by MIT OpenWin on Sun Solaris, HP/UX, IBM AIX, ... X11R6 on Linux
X-윈도우 로그인 Unix/Linux Console에서 직접 로그인 Window PC에서 원격 로그인 login and startx on Linux openwin on Solaris Window PC에서 원격 로그인 Windows PC에서 Xmanager를 이용한 원격 로그인 http://www.netsarang.co.kr
X-윈도우 동작 과정 Monitor Display X client X server X client X client Keyboard Mouse
X-윈도우 동작 과정 디스플레이(Display) X 서버(server) 모니터, 키보드, 마우스로 구성 디스플레이의 모든 입출력 처리 각 디스플레이 당 하나의 X 서버
X-윈도우 동작 과정 X 클라이언트(client) 디스플레이의 사용자와 대화하는 X 응용 프로그램 X 클라이언트의 예 xterm, xclock, netscape, …. 출력을 X 서버에 요청 X 서버로부터 입력을 받음 마우스 클릭, 윈도우 이동, 키보드 누름, …
X-윈도우 특징 클라이언트/서버 기반 윈도우 시스템 네트워크 기반 윈도우 시스템 X 서버와 X 클라이언트 다른 호스트에 위치할 수 있다.
X-윈도우의 윈도우 관리자 윈도우 관리자(Window manager) 역할 윈도우 관리자 종류 스크린에 나타나는 윈도우를 조정하고 관리한다. 윈도우 확대, 축소, 이동, 아이콘으로 변환 등 윈도우 관리자 종류 KDE on Linux http://www.kde.org GNOME on Linux http://www.gnome.org Xfce http://www.xfce.org CDE on Sun Solaris, IBM AIX, HP/UX, ... Twm, Mwm, Fvwm, Window Maker …
GNOME
KDE
Xfce
윈도우 관리자 GNOME Panel(패널) Main Menu Button(메인 메뉴) Desktop(바탕화면) panel applet과 menu 들을 포함한다. Panel applets은 패널 내의 작은 프로그램 예 : the clock applet Main Menu Button(메인 메뉴) Window의 시작 버튼과 같은 역할 Desktop(바탕화면) 프로그램 데이터 폴더
윈도우 관리자 GNOME 파일 관리자(File Manager) 참조 기본 메뉴에서 “내 폴더” 선택 파일 이동, 실행, 복사, 이름 변경, 삭제 등 마우스 오른쪽 버튼을 이용 참조 http://www.gnome.org/users-guide/index.html
윈도우 관리자 변경 switchdesk GNOME, KDE 등의 윈도우 매니저 중 선택
에디터 gedit Designed as a general purpose text editor like WordPad, gedit emphasizes simplicity and ease of use. 파일 편집, 저장, 자르기, 복사, 붙이기, 찾기 등의 기능 It includes tools for editing source code and structured text such as html.
에디터 kate KDE Advanced Text Editor Editing Text documents and programs
Web browsers Netscape Navigator Firefox Google chrome Safari Mosaic web browser 기반의 최초의 상용 Web browser Firefox http://www.mozilla.or.kr/ko/firefox Google chrome http://www.google.com/chrome Safari http://www.apple.com/safari/
실습: X-윈도우 사용 X-윈도우 로그인 편집기 실행 웹 브라우저 실행 오른쪽 버튼 메뉴 Console 혹은 x-manager를 통해 로그인 편집기 실행 기본 메뉴 엑세서리 텍스트 편집기 웹 브라우저 실행 기본 메뉴 인터넷 Mozilla 웹 브라우저 오른쪽 버튼 메뉴 새 창 새 폴더 새 터미널
2.3 기본 명령어
명령 실행 Shell date [yymmddhhmm [.ss]] 온라인 매뉴얼 UNIX의 명령어 해석기(command line interpreter) Bourne shell, Korn shell, C shell date [yymmddhhmm [.ss]] display or set current date and time 온라인 매뉴얼 man [chapter] word man -k keyword $man -k mode $man chmod $man 2 chmod
특수 문자 $stty all 특수 문자 프로세스 종료 출력 멈춤/계속 입력 끝 erase kill werase rprnt flush lnext susp intr quit stop eof 프로세스 종료 Control-C standard way to interrupt the foreground job 출력 멈춤/계속 Control-S/Control-Q 입력 끝 Control-D
파일 시스템 디렉토리 계층구조 루트 디렉토리 나무 구조 bin usr dev home chang
파일 시스템 홈 디렉토리(home directory) 현재 작업 디렉토리(current working directory) 로그인하면 홈 데렉토리에서 작업 시작 시스템 관리자가 설정 현재 작업 디렉토리(current working directory) Shell이 현재 작업 중인 디렉토리 로그인 하면 홈 디렉토리가 현재 작업 디렉토리 cwd 변경 디렉토리 이동 cd [directoryName]
경로명(pathname) 절대 경로명(Absolute path name) 상대 경로명(Relative path name) 루트 디렉토리로부터 파일이나 디렉토리의 경로 이름 /home/chang 상대 경로명(Relative path name) 파일이나 디렉토리의 경로이름을 cwd을 기준으로 기술 . : 현재 디렉토리 .. : 부모 드렉토리
파일 명령어 디렉토리 내용 리스트 ls -adglsFR {fileName}* {directoryName}* -a : hidden files starting with . -l : long listing including permission, owner, modification time -d : directory not files -g : file's group -s : size -F : file type ( *, /) -R : recursively
파일 명령어 cat -n {fileName}* 파일 내용 리스트 more -f [+lineNumber] {fileName}* page -f [+lineNumber] {fileName}* head -n {fileName}* tail -n {fileName}*
파일 명령어 파일 이름 변경 디렉토리 만들기 mv -i oldFileName newFileName mv -i {fileName}* directoryName mv -i oldDirectoryName newDirectoryName 디렉토리 만들기 mkdir [-p] newDirectoryName 새 디렉토리 생성
파일 명령어 파일 복사 파일 혹은 디렉토리 제거 파일의 단어 수 세기 cp -i {fileName}* directoryName cp -r directoryName1 directoryName2 cp -i oldFileName newFileName 파일 혹은 디렉토리 제거 rmdir {directoryName}+ rm -fir {fileName}+ 파일의 단어 수 세기 wc -lwc {fileName}*
파일 특성(file attribute) 파일 이름 파일 크기 파일 갱신 시간 파일 소유자/그룹 파일을 구성하는 블록 수 최후 갱신 시간 파일 소유자/그룹 파일 소유자 각 프로세스는 소유자가 있다. 로그인 사용자 아이디(login user id) 프로세스가 생성한 파일의 소유자 그 프로세스의 소유자로 설정된다.
파일 특성(file attribute) 파일 타입
파일 특성(file attribute) 허용 모드(permission mode)
파일 변경
파일 변경
터미널 타입 vi나 emacs 에디터는 사용하는 터미널 타입을 알아야 한다. 쉘 환경 변수 $TERM를 터미널 타입으로 설정 (csh) %setenv TERM vt100 %tset (sh) $set TERM=vt100 $tset 쉘 시작 파일에서 설정 .cshrc (csh) .profile (sh)
에디터 vi gedit kate 대표적인 텍스트 에디터 텍스트 모드로 동작 WordPad 정도의 기능을 가진 그래픽 에디터 파일 편집, 저장, 자르기, 복사, 붙이기, 찾기 등의 기능 kate KDE Advanced Text Editor Editing Text documents
전자 우편 Web mail elm UNIX에서 많이 사용되는 메일 시스템 보내기 Gmail, … elm UNIX에서 많이 사용되는 메일 시스템 보내기 % elm chang@sookmyung.ac.kr (1) 자동적으로 vi를 호출하고 메일을 편집한다 (2) :wq 타이핑하고 <Enter>를 친다. 읽기 % elm 그래픽 사용자 인터페이스
실습: 명령어 온라인 도움말 현재 작업 디렉토리 확인 파일 생성/보기 파일 이름 바꾸기 디렉토리 생성 man(48쪽) pwd cat ls cat/more/page/head/tail 파일 이름 바꾸기 mv 디렉토리 생성 mkdir
실습: 명령어 디렉토리 이동 파일 복사 파일 편집 디렉토리 제거 파일 삭제 파일 허가권 변경 cd cp vi gedit rmdir 파일 삭제 rm 파일 허가권 변경 chmod