|  최근게시물(종합)  |  이메일주소무단수집거부  |  G-Search    

 

Today :: 2018.12.11
Name P C W L/U
유닉스 0 0 0 08/20
리눅스 0 0 0 02/05
Windows 0 0 0 08/03
네트워크 0 0 0 05/21
메뉴얼팁 0 0 0 04/30
프로그램 0 0 0 12/10
좋은글 0 0 0 11/17
와글와글 0 0 0 07/21
그림판 0 0 0 06/27
포토앨범 0 0 0 07/04
배경화면 0 0 0 08/25
등업신청 0 0 0 10/25
방명록 0 0 0 02/15


 복남이네 전체 게시판 검색

 날짜별 등록된 글 알림
01
02 03 04 05 06 07 08
09 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
 태그 클라우드
VirtualBox 4.0.4 미션 SQL 인젝션 Feather Sumo Paint 4.4 너에게 묻는다 주유소 EditPlus Build 1287 VMWARE 포트포워딩 WM Recorder 14 Comodo Time Machine 리눅스 민트 AeroNotes v1.2.1 Mac OS X 10.8 Mountain Lion 내일이 찾아오면 LogOn Screen Changer 1.1 zoom 멀티테스킹 Ubuntu 9.10 3D Desktop WinRAR 3.9 한글판 펌방지 해제 Linux SQL 인젝션 대응법 토스카 혼 퍼지 솔레노이드 벨브 editplus ubuntu 10.10 ISCanner 108배 트위터

 Powered by 다이렉트 호스팅

  이거 해석 좀 해줏세요^^  (2004-06-07 00:00:00, Hit : 6374)
  
 ★지혜。  [기여도 0 100%]
    
유닉스 초보라 잘 모르겠네요~~
이거 왜 이렇게 되는건지 잘 몰라서 그러는데 분석 좀 해주세요~~
주석 같은거 달아주세요^^;;

#1 . 다음은 사용자를 등록하는 스크립트이다.
if test ! -w passwd.file
then echo " passwd.file not found " ; exit 1
if
echo " input login-id : c"
read iden
if grep -s "^$iden:" passwd.file
then echo "ID $iden already exist" ; exit 1
fi
echo " input passwd : c"
read psswd
#echo " input home-directory : c"
#read homedir
echo " input uid (it is usually(?) same login-id) : c "
read uid
echo " input group-id : c"
read gid
echo " input your login-shell ( csh ksh sh ...) : c"
read shell
echo " input miscellany : c"
read miscellany
homedir="$HOME/$iden" # home directory create
if test -d $homedir
then echo "Directory $homedir already exists" exit 1
fi
if mkdir $homedir
then echo
else echo "cannot make $homedir" ; exit 1
fi

(cat passwd.file; echo "$iden:$psswd:$uid:$gid:$miscellany:$homedir:$shell") |sort > pass.tmp
if cp pass.tmp passwd.file
then echo "successful !!"; rm pass.tmp
else echo "Can not copy passwd file"
fi
exit 0

#2.tar 압축 하는 스크립트 작성하기.


[center:/user3/ce/grad/jhkim/sys] cat old.csh
#! /bin/csh
echo -n " Do you want day ? "
set day = $<
echo $day
echo -n " you are want file name input?"
set nam = $<
echo $nam
find $home/sys -atime +$day -exec tar cvf $nam.tar {} ;



*tar 압축보기

tar tvf -file name
tar xvf -file name -> 풀기

*old.csh를 실행 하기위해
touch -a 월일시분 변경 단 권한주어진 파일만 바뀐다.
ls -ul로 확인




#3.junk 로 숨김 파일 만들기.

#!/bin/csh

set fileList = ( )
set listFlag = 0
set purgeFlag = 0
set fileFlag = 0
set total = 0
set junk = ~/.junk

foreach arg ($*)
switch ($arg)
case "-p":
set purgeFlag = 1
breaksw

case "-l":
set listFlag = 1
breaksw

case "-n":
echo -n " Please input the directory name:"
set mrd = $<
mkdir $mrd
echo $mrd
exit 0
breaksw

case -*:
echo $arg is an illegal option
goto error
breaksw

default:
set fileFlag = 1
set fileList = ($fileList $arg)
breaksw
endsw
end

@ total = $listFlag + $purgeFlag + $fileFlag

if ($total != 1) then
goto error
endif

if (!(-e $junk)) then
mkdir $junk
endif

if ($listFlag) then
ls -lgF $junk
exit 0
endif

if ($purgeFlag) then
rm $junk/*
exit 0
endif

if ($fileFlag) then
mv ${cwd}/$fileList $junk
exit 0
endif

exit 0

error:
echo Dear $USER , the usage of junk is as follow:
echo junk -p mean "purge all file"
echo junk -l mean "list junked files"
echo "junk [list of files] to junk them"
exit 1


(*junk 파일 보기)

(junk -l)

(*junk 파일삭제)
(junk -p)


#4. 다음의 monitor.c 파일을 분석하고 어떠한 동작을 하는지를 기술하시오.
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <time.h>
#include <sys/file.h>
#include <sys/dirent.h> /* 솔라리스에서는 dir.h 없슴 */
#include <sys/stat.h>
#include <sys/types.h>
#include <sys/fcntl.h> /*솔라리스에는 file.h 없슴*/

#define MAX_FILES 100
#define MAX_FILENAME 50
#define NOT_FOUND -1
#define FOREVER -1
#define DEFAULT_DELAY_TIME 10
#define DEFAULT_LOOP_COUNT FOREVER

enum { FALSE, TRUE };

struct statStruct
{
char fileName [MAX_FILENAME];
int lastCycle, thisCycle;
struct stat status; /* 책에는 붙어있다 */
};

char *fileNames [MAX_FILES];
int fileCount;
struct statStruct stats [MAX_FILES];
int loopCount = DEFAULT_LOOP_COUNT;
int delayTime = DEFAULT_DELAY_TIME;


main (argc, argv)


int argc;
char *argv [];
{
parseCommandLine (argc, argv);
monitorLoop ();
return(0);

}

parseCommandLine (argc, argv)

int argc;
char *argv[];
{
int i;
for(i=1; i<argc; i++)
{
if (argv[i][0] == '-')
processOptions (argv[i]);
else
fileNames[fileCount++] = argv[i];
}

if (fileCount == 0) usageError ();
}

processOptions (str)


char *str;
{
int j;

for(j=1; str[j] != NULL; j++)
{
switch(str[j])
{
case 't':
delayTime = getNumber (str, &j);
break;

case 'l':
loopCount = getNumber (str, &j);
break;
}
}
}

getNumber (str, i)


char *str;
int *i;

{
int number = 0;
int digits = 0;



while (isdigit (str[(*i) + 1]))
{
number = number * 10 +str[++(*i)] - '0';
++digits;
}

if (digits==0) usageError ();
return (number);
}

usageError ()
{
fprintf(stderr, "Usage : monitor -t<seconds> -l<loops> {filename}+n");
exit (1);
}

monitorLoop ()
{
do
{
monitorFiles ();
fflush (stdout);
fflush (stderr);
sleep (delayTime);
}
while (loopCount==FOREVER || --loopCount >0);
}

monitorFiles ()

{
int i;

for(i=0; i<fileCount; i++)
monitorFile (fileNames[i]);
for (i=0; i<MAX_FILES; i++)
{
if (stats[i].lastCycle && !stats[i].thisCycle)
printf("DELETED %sn", stats[i].fileName);

stats[i].lastCycle=stats[i].thisCycle;
stats[i].thisCycle=FALSE;


}
}

monitorFile (fileName)


char *fileName;

{
struct stat statBuf;
mode_t mode;
int result;

result = stat (fileName, &statBuf);

if (result == -1)
{
fprintf (stderr, "Cannot stat %sn", fileName);
return;
}

mode = statBuf.st_mode;

if(S_ISDIR (mode))
processDirectory (fileName);
else if (S_ISREG (mode) || S_ISCHR (mode) || S_ISBLK (mode))
updateStat (fileName, &statBuf);
}

processDirectory (dirName)

char *dirName;
{
int fd, charsRead;
struct dirent dirEntry; /*책에는 direct */
char fileName [MAX_FILENAME];

fd=open(dirName, O_RDONLY);
if (fd==-1) fatalError();

while (TRUE)
{
charsRead = getdents(fd, &dirEntry, sizeof (struct dirent));
/* direct 가 아닌 dirent*/
if (charsRead==-1) fatalError();
if (charsRead==0) break;
if(strcmp(dirEntry.d_name,".") != 0 && strcmp(dirEntry.d_name, "..") != 0)
{
sprintf(fileName, "%s%s", dirName, dirEntry.d_name);
monitorFile(fileName);
}
lseek (fd, dirEntry.d_off, L_SET);
}
close (fd);
}

updateStat (fileName, statBuf)

char *fileName;
struct stat * statBuf;
{
int entryIndex;

entryIndex=findEntry(fileName);

if (entryIndex==NOT_FOUND)
entryIndex=addEntry (fileName, statBuf);
else
updateEntry (entryIndex, statBuf);

if (entryIndex != NOT_FOUND)
stats[entryIndex].thisCycle=TRUE;
}

findEntry (fileName)

char *fileName;

{
int i;

for(i=0; i<MAX_FILES; i++)
if(stats[i].lastCycle && strcmp (stats[i].fileName, fileName) ==0) return (1);
return (NOT_FOUND);
}

addEntry (fileName, statBuf)

char *fileName;
struct stat *statBuf;
{

int index;
index=nextFree();

if(index==NOT_FOUND) return (NOT_FOUND);
strcpy (stats[index].fileName, fileName);
stats[index].status=*statBuf;
printf("ADDED ");
printEntry (index);
return (index);
}

nextFree()

{
int i;

for(i=0; i<MAX_FILES; i++)
if(!stats[i].lastCycle && !stats[i].thisCycle) return (i);

return (NOT_FOUND);
}

updateEntry (index, statBuf)


int index;
struct stat *statBuf;
{
if (stats[index].status.st_mtime != statBuf->st_mtime)
{
stats[index].status = *statBuf;
printf("CHANGED ");
printEntry (index);
}
}


printEntry (index)

int index;
{
printf("%s", stats[index].fileName);
printStat (&stats[index].status);
}

printStat (statBuf)

struct stat *statBuf;

{
printf("size %lu bytes, mod. time = %s", statBuf->st_size, asctime (localtime (&statBuf->st_mtime)));
};

fatalError ()
{
perror ("monitor: ");
exit (1);
}


[PRINT Text]  [PRINT HTML]

이치세  [비회원] [2004-11-17 16:49:07]
어렵슴닷!!!!!!!!   
장민준  [기여도 1 14%] [2005-08-10 16:48:26]
그냥 쓰세요..    
list 


 전체  Unix 일반 (29)  HP-CP (23)  SNA 노트정리 (19)  질문 (139)  답변 (25)  정보 (4)  자료 (8)  공지 (2) 
   

 [공지] HP UNIX 관련 질문만 환영하고요, VMWARE관련글은 '리눅스' 게시판에 올려주세요. [1]

복남이
2004/03/04 4423

 [공지] 자료를 옮길 때는 출처를 밝혀주세요. ^-^*

복남이
2002/03/07 4385

 [자료] HP-UX Quick Reference Guide [1]

복남이
2002/02/16 14177
246
 [질문] Unix 용 Debugger 어떤것이 있습니까??  [1] 

정재광
2007/08/20 4986
245
 [질문] 당최 문제이해가 안되서 ㅜㅜ..  [3] 

조혜란
2006/09/27 4838
244
 [질문] ux-hp 에서 cpu 갯수 알아내는 명령어 등등   

이현정
2006/08/16 5236
243
   [질문] [re] ux-hp 에서 cpu 갯수 알아내는 명령어 등등   

박창진
2006/12/21 4787
242
 [질문] /etc/auto_home 질문이요.   

송창근
2006/04/12 4865
241
 [질문] vmware에서 솔라 10버전 설치시요  [2] 

강병의
2005/11/21 5292
240
 [질문] disk fail 란 것을 어떻게 아나요?   

이상철
2005/08/13 5220
239
 [질문] vmware에 솔라리스8설치후 네트워크 잡는법좀..  [1] 

김남욱
2005/06/16 4749
238
 [질문] Can't load the root filesystem 부팅 애러.  [1] 

이상철
2005/05/24 5302
237
 [질문] 터미널에서 전체 파일경로가 안보이고 #이거만 보이는데 .......  [3] 

송창근
2005/05/06 5234
236
 [질문] 유닉스 시간 설정  [1] 

김태윤
2005/04/15 5346
235
 [질문] 유닉스 명령어 top  [1] 

조은영
2005/04/08 6243
234
 [질문] 게시판에 있는글 다 읽어보고 질문드립니다.  [5] 

이동구
2004/10/04 5174
233
 [질문] 초보입니다. load, lpr ... 명령어가 안되요  [1] 

양기범
2004/08/18 5094
232
 [질문] hp-UNIX에서 database automatic startup/shutdown* 라는 것에 대한 문의  [1] 

김창규
2004/07/21 4492
231
 [질문] 유닉스 책 추천좀 해주세요..  [1] 

김태윤
2004/06/30 5481
230
 [질문] 물어보기 창피하지만 ㅠㅠ  [2] 

임은영
2004/06/10 5677
229
 [질문] ps -ef | grep http | wc -l ...?  [2] 

임두희
2004/06/07 5416

 [질문] 이거 해석 좀 해줏세요^^  [2] 

★지혜。
2004/06/07 6374
227
 [질문] ks/kssm을 윈도우시스템 프린터로 인쇄하는 방법 문의  [1] 

최남일
2004/05/18 5254
226
 [질문] 유닉스질문입니다  [1] 

홍성희
2004/05/02 5248
225
 [질문] solaris 이미지파일 ...  [1] 

이종호
2004/04/29 5667
224
 [자료] SUN 시스템 기술 자료  [1] 

복남이
2004/04/22 5340
223
 [질문] write에 대한 알고리즘 알려주세요!!   

이지현
2004/04/11 4771
222
 [자료] HP-UX 11.X System 시스템 관리자 핸드북   

최상일
2004/03/30 5472
221
 [질문] Printer 설정 후 첫페이지에 메세지가 Print 안되게 하려면   

김남걸
2004/03/02 4381
220
 [질문] 질문입니다.  [1] 

유태호
2004/01/28 5136
219
 [질문] 유동아이피설정이 이상한데요..   

유태호
2004/01/20 5221
218
   [답변] 유동아이피설정이 이상한데요..  [1] 

박인호
2004/02/25 4375
217
 [질문] root권한의 유저명을 가진 사용자를 하나 더 생성하려 하는데....  [1] 

임성호
2004/01/18 5069
216
 [질문] 솔라리스에서 유동아이피설정 어떻게 하죠?  [1] 

유태호
2004/01/17 5074
215
 [질문] 급한 질문입니다.. 솔라리스8 과 vmware 관련  [2] 

김형준
2003/12/28 5100
214
 [질문] 유닉스에서 C로 채팅프로그램을 만들때...  [2] 

홍성민
2003/12/14 5372
213
 [질문] vmware에서 솔라리스가 흑백으로 보여요....  [1] 

박승우
2003/12/09 5319
212
 [질문] 솔라리스 설치가 안되는데요 고수님들의 조언좀...  [1] 

두기
2003/12/04 5271
211
 [질문] XLFD의 확장기능에 대해서.. 질문드릴것이 있는데요.....^^;;  [2] 

지누기
2003/12/03 4827
210
 [질문] 솔라이스8 깔려고 하는데 설치 안되네요..  [1] 

제우스
2003/11/28 5295
209
 [질문] Vmware에서 사이게이트 설정법?   

이상도
2003/11/19 5419
208
 [질문] UNIX초보라서..에공..  [2] 

윤대웅
2003/11/18 5610
207
 [질문] VMware 4.0에서 솔라리스 설치...  [1] 

국재호
2003/11/14 5620
206
 [질문] vmware에 x86 8버젼 설치시 두번째 시디 실행 불가능..  [2] 

동성
2003/11/02 5133
205
 [질문] korn프롬포트는 먼가욤 ㅡㅡ?  [1] 

이수형
2003/10/22 5057
204
 [질문] 솔라리스 9 x86 용 patchpro 있으신분.   

권종현
2003/10/20 5041
203
 [질문] 질문입니다. 꼭 답변 부탁드려요..  [2] 

김동민
2003/09/30 4899
202
 [질문] VMware 설치후 시스템 정보...  [2] 

안우석
2003/09/26 5256
201
 [질문] Vmware로 솔라리스 8 설치후 랜카드가 동작을 안하네요..  [1] 

안우석
2003/09/26 5900
200
 [질문] 궁금한게 있는데요..  [2] 

키순이
2003/09/25 5180
list  1 [2][3][4][5] [next]

Copyright 1999-2018 Zeroboard

글 올릴 때, 카테고리 선택 정확하게 해주세요.