파일 및 디렉토리(1) 여러 함수들 chdir(“category”) || die “cannot cd to temp”;

Slides:



Advertisements
Similar presentations
Made by 주례 없는 결혼식♥ 대본 사회 : 홍길동.
Advertisements

Term Project Hints Topics Keep-alive CGI Multi-thread Multi-process Event-based.
회계원리 3주차 : 전기와 결산정리전 시산표 3교시 : 분개 및 전기의 연습
Linux System Programming
공교육 정상화 및 선행학습 금지 학부모 연수 부천송일초등학교.
* 07/16/96 처음으로 배우는 C 프로그래밍 제1부 기초 제1장 시작하기 *.
[ 단원 12 ] 파일처리 부산대학교 남 태 우.
Introduction to Django
리더십 역량 개발 계획서 핵심인재 양성 코스를 마치신 여러분, 수고하셨습니다.
FTP 09 SPARCS 박철웅 [dothack].
컴퓨터 네트워크 실습.
C 프로그래밍 소개 숙명여대 창병모 2011 가을.
디렉토리 다루기 ㅎㅎ 유닉스 파일 시스템 현재 디렉토리 확인 : pwd 디렉토리 이동 : cd
UNIX의 중급 명령어 UNIX의 고급 명령어 연습 문제
Chapter 11 The C Shell.
System administration basics
인공지능실험실 석사 2학기 김승겸 TCP/IP Socket Programming… 제 10장 멀티태스킹 기반의 서버구현 인공지능실험실 석사 2학기 김승겸
Signal & Inter-Process Communication
Department of Computer Engineering
 13장. 배시쉘 프로그래밍.
[beginning] Linux & vi editor
UNIX Unbounded A Beginning Approach
6 프로세스 생성과 실행.
버퍼 오버플로우에 대한 대책과 발전된 공격 안전한 함수 사용 버퍼 오버플로우에 취약한 함수 사용하지 않기
4장 병행 프로세스 병행성의 원리를 이해한다 병행 프로세스 수행과 관련된 상호 배 제 해결방안을 알아본다
Linux System Programming
Linux/UNIX Programming
컴퓨터 네트워크 실습.
Department of Computer Engineering
fork로 생성한 자식 프로세스에서 exec 함수군을 호출
멀티쓰레드 기반의 서버구현 School of Electronics and Information.
5. 네트워킹 사용자 표시 : users/ rusers/who/w users 지역 호스트 상에 있는 사용자의 간단한 목록 표시
IS lab. 김건영 Awk, Posting list IS lab. 김건영
웹서버와 설치에 필요한 것 WWW ( world wide web ) TCP/IP 프로토콜을 이용하는 클라이언트/서버 환경
Term Project Team Member
Perl File Handling FileHandle : Name for I/O connection
정보검색 환경세팅 및 쉘스크립트 맛보기 IS lab. 김건영.
DataStage 운영자 지침서 Operator’s Guide
10장 C 표준 파일 입출력 子曰 學而時習(실습?)之 不亦悅乎.
-제어문, 함수, 클래스- IS lab. 김건영 Python -제어문, 함수, 클래스- IS lab. 김건영
4 병행 프로세스와 상호배제.
DataBase 연결 및 사용방법
낮과 밤 알아보기 슬기로운 생활 2학년 1학기 4. 빛과 그림자>낮과 밤( 4/8 )
강의에 대한 소개 책에 대한 소개 공부하는 방법 자바 설치 방법
Signal & Inter-Process Communication
B+Tree프로그램 설치 및 운용 Database Laboratory
제4장 유닉스 쉘 숙명여대 창병모 2011 가을.
Web Vulnerabilities 정보 보호 2008/05/31 Getroot.
CGI (Common Gateway Interface)
고구려,백제,신라의 건국과 발전 Start!
Introduction to Programming Language
2. 상호배제와 동기화 01 program versionone; // 첫 번째 버전
CGI (Common Gateway Interface)
Linux/UNIX Programming
Copyrightⓒ ohta. All Rights Reserved.
6장 콘 셸 뇌를 자극하는 Solaris Bible.
U N I X 창원대학교 전자계산학과 김병찬.
Department of Computer Engineering
8. 리눅스의 내부 군자삼락 [君子三樂] 청출어람이청어람 [ 靑出於藍而靑於藍 ] Why Linux ?
시스템 인터페이스 Lab#6 C 쉘 프로그래밍 실습.
제4장 유닉스 쉘 숙명여대 창병모
제8장 C 쉘 창병모
실습과제 1번 생성된 파일 basic.txt를 프로젝트 폴더에서 메모장으로 열고 내용을 확인
9주차: Using Files and Others
운영체제보안 3번 과제 설명 팀 기반의 설계 프로젝트 박민재
Signal & Inter-Process Communication
Linux/UNIX Programming
유예 X-FILE *조사자* 1301권희원 1315이예지 1317장아정 1322홍자현.
매일유업 주식회사 2018년 4분기 및 연간 실적 보고 (금) 매일유업 주식회사 1.
Intelligent software Lab. 전재원
Presentation transcript:

파일 및 디렉토리(1) 여러 함수들 chdir(“category”) || die “cannot cd to temp”; unlink(“file_temp”); rename($file, “new_dir/large$file”); mkdir(“new_dir”, 0777); # 0666(R/W), 0444 (R) rmdir(“old_dir); chmod(0666, $file);

파일 및 디렉토리(2) Globbing : 파일/디렉토리 리스트 Command shell은 *.bak을 매칭되는 화일 리스트로 변환한다 @a = <*.bak>; @a = glob(“[1-9]*”); foreach $file ( <*.bak>) { # step through a list of .bak files unlink($file) || warn “having trouble deleting $file: $!”; }

파일 및 디렉토리(3) 디렉토리 핸들러 (파일 핸들러와 비슷) opendir(NT, “c:/winnt”); readdir(NT); # returns next file name or name list closedir(NT); while ( $name = readdir(NT) ) { print “$name\n”; } closedir(NT);

파일 및 디렉토리(4) 파일/디렉토리 리스트 성질 테스트 -r : 파일이나 디렉토리를 읽을 수 있는가? -w: 쓸수 있나? –e : 존재하나? -x : 수행할 수 있나? -z, -s, -f, -d, -T, -B, 등등…. print “which file ? “; $filename = <STDIN>; chomp $filename; # newline 특수문자 제거 if ( -r $filename && -w $filename) { # file exits, and can be read and wrote ….}

파일 및 디렉토리(예) #!/usr/local/bin/perl mkdir ("category", 0777); @files = glob("[1-6]*"); foreach $file ( @files ) { rename( $file, "category/s$file"); }

프로세스 관리 system(), fork(), wait() 등의 함수 system() 함수 fork()함수 wait()함수 system(“nmake fred bedrock > output”); fork()함수 지금 수행되는 프로세스의 복사판을 만든다 Parent process는 >0 값을 갖고 Child Process는 0의 값을 갖는다 wait()함수 Child process가 끝날 때까지 기다린다

프로세스 관리(예) #!/usr/local/bin/perl $start = $ARGV[0]; $file = $ARGV[1]; if ( $pid = fork() ) { sleep 120; $ppid = getppid; kill 9, $ppid; exit -1;} elsif ( defined $pid ) { print "Handling ISBN $start \n"; system "java GetKISBN $start >> $file "; exit 0; }

Win32 Perl과 Apache(1) www.activestate.com www.apache.org www.php.net Win32용 Binary가 제공됨 www.apache.org Win 32용 Apache 서버가 제공됨 www.php.net Win 32용 Binary가 제공됨 Guestbook이나 ASP예제를 손 쉽게 이식할 수 있음

Win32 Perl과 Apache(2) #!D:\Perl\bin\perl.exe use OLE; # use Win32::OLE if using the Std Distribution $Conn = CreateObject OLE "ADODB.Connection"; $Conn->Open("DSN=Sample;UID=;PWD="); print "Content-type: text/html\n\n"; print '<HTML>'; print '<HEAD>'; $RS = $Conn->Execute("SELECT * FROM tblSample"); if(!$RS) { $Errors = $Conn->Errors(); print "Errors:\n"; foreach $error (keys %$Errors) { print $error->{Description}, "\n"; } die; while ( !$RS->EOF ) { my($Last, $First, $City) = ( $RS->Fields('LastName')->value, $RS->Fields('FirstName')->value, $RS->Fields('City')->value ); print $Last, " : ", $First, " : ", $City, "<p>\n"; $RS->MoveNext; $RS->Close; $Conn->Close; print '</BODY>'; print '</HTML>';