Programming File Command
- 최초 등록일
- 2009.05.26
- 최종 저작일
- 2009.04
- 22페이지/ 한컴오피스
- 가격 2,500원
소개글
파일의 리스트를 출력, 복사, 내용 출력, 디렉토리 생성, 디렉토리 삭제, 파일 삭제
현재 디렉토리 표시, 이름 변경등의 기능을 하는 리눅스 명령어들 각각
ls, cp, cat, mkdir, rmdir, rm, pwd, mv 의 기능을 하는 c 프로그램 들입니다.
스샷을 통해, 사용 검증 되었습니다.
getopt 함수를 사용하여, 각 프로그램 마다, 하나 이상 옵션이 추가 되었으며,
프로그램 이해가 쉽도록 직접 그린 이미지도 추가하였습니다.
목차
파일 리스트 출력(ls)
파일복사
파일 내용 출력
디렉토리 생성
디렉토리 삭제
파일 삭제
현재 디렉토리 표시
이름 바꾸기
본문내용
라. 부연 설명
unistd.h에서 정의된 getopt 함수를 사용하여, 각 Option별 기능을 할당할 수 있다.
위 예에서는 리눅스의 ls 명령의 Option l과 f를 구현하였다.
l option을 이용하여, 자세한 파일의 정보를 출력할 수 있다.
디렉토리내에 파일들을 읽어가며, stat와 passwd를 사용하여 파일의 정보를 출력한다.
다음은 stat 구조체의 멤버들이다.
st_mode
파일의 권한들과 파일 종류 정보
st_ino
파일과 연관된 inode
st_dev
파일이 있는 장치
st_uid
파일 소유자의 신원
st_gid
파일 소유자의 그룹 신원
st_atime
마지막으로 접근된 시간
st_mtime
내용이 마지막으로 수정된 시간
st_nlink
파일에 대한 하드 링크의 개수
위 예제는 stat 구조체의 멤버들을 사용하여, 기본적인 파일의 정보를 출력하고 있으며
stat 구조체의 uid를 사용하여, 파일의 user name을 알 수 있다.
사용자의 정보를 담는 passwd구조체는 pwd.h에 정의되어 있다. 다음은 passwd 구조체의 멤버들이다.
char *pw_name
사용자의 로그인 이름
uid_t pw_uid
UID 수치
gid_t pw_gid
GID 수치
char *pw_dir
사용자의 홈 디렉토리
char *pw_gecos
사용자의 전체 이름
char *pw_shell
사용자의 기본 쉘
fileexception <- arg count, arg1, arg2
// 파일 예외처리 함수
- 대상 파일은 입력되었는가.
- 원본 파일이 존재하는가.
- 원본과 대상이 같지 않은가.
writefile <- in, out file
// 파일 복사 함수
- 읽기전용으로 원본 파일 open
- 대상파일으로 복사 필요할시
파일을 생성하며, USR에게
권한 할당
참고 자료
없음