BASIC COMMANDS Jo, Heeseung
ITER 서버 iterx.jbnu.ac.kr (X: 1,2) Dell PowerEdge R415 AMD Opteron(tm) Processor 4180-6 core x 2ea Memory: 32 GB HDD: SCSI 450 GB 주의사항 자료백업없음 동영상등의불필요파일업로드금지 2
LINUX 접속 Client telnet, ssh, ftp,... putty, securecrt, mlterm,... WinSCP, securefx,... 3
LINUX 접속 putty with ssh Host: iter1.jbnu.ac.kr iter2.jbnu.ac.kr port: 22 connection type: SSH 4
LINUX 접속 Login and shell ID: 201234567 ( 학번 ) PW: XXXX ( 반드시 passwd 명령으로변경할것 ) 5
LINUX 접속 Password 변경 passwd 명령 6
SHELL Shell? 운영체제상에서다양한운영체제기능과서비스를구현하는인터페이스를제공하는프로그램 BASH: GNU Bourne Again Shell 가장많이쓰이며, 가장범용적으로사용됨 거의모든리눅스배포판의기본 shell CSH: C 스타일문법을가지는쉘, BSD 시스템표준 Bourne shell 의확장 UC berkeley 에서처음개발 KSH: 실제 AT&T 버전의 Korn shell 어휘의스코프, 합성변수, 결합배열, 이름참조그리고부동소수점연산등이새로운기능 7
SHELL DASH: Debian Almquist Shell POSIX-compliant shell Debian Linux의기본 shell SH: Bourne Shell 가장처음만들어진 shell /bin/sh 등의스크립트용으로많이사용됨 TCSH: 버클리 csh 의확장버전, TENEX C shell 8
SHELL 기타 shells ash: Compatibility package for dash fish: A friendly interactive shell mksh: Enhanced version of the Korn shell pdksh: A public domain version of the Korn shell posh: Policy-compliant Ordinary Shell psh: Interactive shell with the power of perl sash: Stand-alone shell zsh: A shell with lots of features rc: An implementation of the AT&T Plan 9 shell 9
기본명령 shell commands 의규칙 command --option xxx 빈칸이구분자로사용됨 - 빈칸을명령에포함하려면 " 또는 ' 를사용 - ex. ls file name ls "file name" 도움말 - command --help - ex. ls --help 10
기본명령 로그인 / 로그아웃 명령기능주요옵션예제 ssh 유닉스시스템에접속 - ssh iter2.jbnu.ac.kr logout 유닉스시스템에서접속 - logout exit 해제 - exit passwd 암호변경 - passwd 11
기본명령 파일 / 디렉토리조작명령 명령기능주요옵션예제 pwd 현재디렉토리경로출력 - pwd ls 디렉토리내용출력 -a : 숨김파일출력 -l : 파일상세정보출력 -F : 종류구분 cd 현재디렉토리변경 - cp 파일 / 디렉토리복사 -r : 디렉토리복사 mv 파일 / 디렉토리이동 이름변경과 rm 파일 / 디렉토리삭제 -r : 디렉토리삭제 - ls -a /tmp ls -l cd /tmp cd ~han01 cp a.txt b.txt cp -r dir1 dir2 mv a.txt b.txt mv a.txt dir1 mv dir1 dir2 rm a.txt rm -r dir1 12
기본명령 파일 / 디렉토리조작명령 명령 기능 주요옵션 예제 mkdir 디렉토리생성 - mkdir dir1 rmdir 빈디렉토리삭제 - rmdir dir2 cat 파일내용출력 - cat a.txt more 파일내용을쪽단위로출력 - more a.txt chmod 파일접근권한변경 - chmod 755 a.out grep 패턴검색 grep abcd a.txt 13
기본명령 프로세스관련명령 명령기능주요옵션예제 ps 현재실행중인프로세 -ef : 모든프로세스에 ps 스의정보를출력 대한상세정보출력 ps -ef ps -ef grep ftp kill 프로세스강제종료 -9 : 강제종료 kill 5000 kill -9 5001 14
DIRECTORY HIERARCHY 특수 directory directives. : 현재위치.. : 상위 directory ~ : 사용자의홈디렉토리 (ex. /home/user1) 절대경로 / <- 로시작하는경우 상대경로 - cp /tmp/a.txt. - cp /home/user1/a.txt /tmp / <- 로시작하지않는경우 - cp./a.txt /tmp - cp../../dir1/a.txt../a.txt / -- dir1 `-- a.txt -- home `-- user1 `-- a.txt `-- tmp `-- a.txt 15
환경설정 alias env 특정명령의다른이름을지정 지금자신의환경변수를나열.bashrc (.profile) Bash shell 이시작시참조하는환경변수설정 Hidden file PS1 Linux에서는파일명앞에 '.' 이붙으면숨김파일임 Bash shell에서프롬프트를설정 PATH 실행파일또는참조할파일의위치를결정 PATH 변수의순서대로특정파일을찾음 16
TIPS alias ls='ls -af --color=auto' alias ll='ls -afl --time-style=long-iso' alias l='ls -aflh --time-style=long-iso' alias ps='ps -ef' alias gr='grep -rni --color=auto' PATH=.:$PATH; export PATH PS1='\u@\h:$PWD> ' 17
TIPS tar zip gz 여러파일을하나로묶음 여러파일을하나로압축 하나의파일을압축 history 사용한명령어들을나열 indent 소스코드를예쁘게정렬해줌 indent -npsl -bli0 -sob -nbc -i8 -l1000 code.c alias ind='indent -npsl -bli0 -sob -nbc -i8 -l1000' 18
TIPS ctrl + c 모든명령의중단또는취소 tab 자동완성 Bash shell 에서는 tab 키로나머지명령을자동으로완성가능 상하커서키 history 에서최근에사용된명령을다시사용할때 ctrl + r history 에서최근사용된명령을자동완성 ctrl + s & ctrl + q 스크린출력을정지 / 재개 * 모든문자들을대체 19
META CHARACTERS Char. Function > Redirection from stdout to a new file >> Redirection from stdout to file < Redirection from file to stdin * Any character? Any character, but one Pipe from stdout of p1 to stdout of p2 ; Command order & Background execution 20
EX: FIND FILES 실습내용 /tmp/kernel 아래에서아래파일이름으로된파일의위치를찾으시오 File names e.g. - fcntl.c - range.h - xenfs.h - builtin-stat.c - algos.c - slab.c - /tmp/kernel/aaa/bbb/fcntl.c - /tmp/kernel/ccc/ddd/range.h -... 21
EX: FIND FILES 2 실습내용 /tmp/kernel/mm 아래에서아래텍스트를가지고있는파일의위치와몇번째행에있는지찾으시오 Texts - 'YouGotIt' - 모두 3 개임 22
LINUX 서버접속 PROTOCOL Shell File telnet: TCP port 23 - Deprecated in most systems ssh: TCP port 22 ftp: TCP port 21 ssh(sftp, scp): TCP port 22 24
SFTP sftp 로서버에접속 sftp iter2.jbnu.ac.kr id/pw 입력 25
SFTP COMMANDS SFTP help help 기본명령은 shell 과비슷함 ls, cd, pwd... SFTP upload put filename SFTP download get filename SFTP transfer mode bin: binary mode ascii: text file mode 26
EX: SCP 로파일복사 scp 실습 cp 명령과유사하나 ssh 프로토콜을이용하여원격머신에복사를수행 모든파일은자기홈디렉토리로복사한후사용할것 - e.g. cp -r /tmp/kernel ~/ iter1 의 ~/kernel/makefile 을 iter2 의 ~/kernel/xxxx_makefile 로복사 iter1 의 ~/kernel/block 디렉토리의모든내용을 iter2 의 ~/kernel/xxxx_block 으로복사 28