파일의 정보 출력하기
/* 파일의 정보 출력 */
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <stdio.h>
int main(int argc, char *argv[])
{
int filestat;
struct stat fileinfo;
mode_t filemode;
if(argc != 2){
fprintf(stderr,"Usage: %s <filename>\n", argv[0]);
exit(1);
}
if((stat(argv[1], &fileinfo)) == -1){
fprintf(stderr,"Get %s stat failed\n", argv[1]);
exit(1);
}
filemode = fileinfo.st_mode;
if(S_ISREG(filemode))
{
printf("정규파일입니다.\n");
}
else if(S_ISLNK(filemode))
{
printf("심볼릭 링크입니다.\n");
}
else if(S_ISDIR(filemode))
{
printf("디렉토리입니다.\n");
}
else if(S_ISFIFO(filemode))
{
printf("FIFO입니다.\n");
}
else if(S_ISSOCK(filemode))
{
printf("소켓파일입니다.\n");
}
return 0;
}
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <stdio.h>
int main(int argc, char *argv[])
{
int filestat;
struct stat fileinfo;
mode_t filemode;
if(argc != 2){
fprintf(stderr,"Usage: %s <filename>\n", argv[0]);
exit(1);
}
if((stat(argv[1], &fileinfo)) == -1){
fprintf(stderr,"Get %s stat failed\n", argv[1]);
exit(1);
}
filemode = fileinfo.st_mode;
if(S_ISREG(filemode))
{
printf("정규파일입니다.\n");
}
else if(S_ISLNK(filemode))
{
printf("심볼릭 링크입니다.\n");
}
else if(S_ISDIR(filemode))
{
printf("디렉토리입니다.\n");
}
else if(S_ISFIFO(filemode))
{
printf("FIFO입니다.\n");
}
else if(S_ISSOCK(filemode))
{
printf("소켓파일입니다.\n");
}
return 0;
}