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

 

Today :: 2018.10.19
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
 태그 클라우드
오리지널 이더넷 구상도 Linkin Park - Iridescent [HD] - from Transformers: Dark of the Moon 컴맹을 위한 컴퓨터 관리 방법 Part 1 Windows Server 2003 울타리 HDD vs SSD VMware 8.0.0 build 471780 Acer Iconia W510 preview 미션 MiniFirefox 콩3 Directory Opus 9.1 텔레그램 환기 Total Commander 7.50 RC1 Linux 인쇄 오류 Java Ethereal Windows Server 2003 HOWTO 말실수 투명 GIF 제작 대운하 독일반응 Windows Server 2003 KB MRTG The Pale Moon Project ubunto 공유기 IE9 사용팁

 Powered by 다이렉트 호스팅

  이거 해석 좀 해줏세요^^  (2004-06-07 00:00:00, Hit : 6350)
  
 ★지혜。  [기여도 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 4394

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

복남이
2002/03/07 4351

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

임두희
2004/06/07 5387

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Copyright 1999-2018 Zeroboard

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