본문 바로가기

UNIX 프로그래밍12

[4주차, 5주차 개념] UNIX 시스템 정보/ 프로세스 정보 🚩 uid, guid 검색 ✔ uid 검색 #include #include uid_t getuid(void); uid_t geteuid(void); ✔ guid 검색 #include #include gid_t getgid(void); gid_t getegid(void); 🚩 directory tree의 산책 ✔ 사용법 #include int ftw(const char *path, int(*func)(), int depth); path에서 시작해서 recursive하게 subdirectory와 file들에 func()수를 적용 depth : ftw에 의해 사용 가능한 file descriptor의 수 int func(const char * name, const struct stat* sptr, int ty.. 2023. 10. 13.
[3주차 개념] UNIX 파일과 디렉토리 🚩 파일 정보의 획득 : 파일 관련 각종 정보를 알아볼 수 있는 system call #include #include #include int stat(const char * pathname, struct stat * buf); int fstat(int filedes, struct stat * buf); stat 은 file 을 안열고 정보를 획득하지만, fstat 은 file 을 열고 정보 획득 buf 에는 file 정보가 저장 ✔ buf 에 채워지는 내용의 종류 st_dev, st_ino : identifier (논리적 장치 번호와 inode 번호) st_mode : permission mode st_nlink : link의 수 st_uid, st_gid : user의 uid와 gid st_rdev :.. 2023. 9. 27.
[2주차 개념] UNIX 파일 입출력 🚩 파일은 Byte들의 linear sequence라 볼 수 있다. ✔ file descriptor : 현재 open된 file을 구분할 목적으로 UNIX가 붙여 놓은 번호 표준 입출력 - 0 : 표준 입력 - 1 : 표준 출력 - 2 : 표준 오류 출력 한 프로세스가 동시에 open 할 수 있는 file의 개수에는 제한이 있으므로, open후에는 close를 사용해야 한다. ✔ open 시스템 호출 : 기존의 file을 open하거나, 새롭게 file을 생성하여 open하는 system call #include #include #include int open(const char * filename, int oflag, [mode_t mode]); filename : 파일 이름 oflag : file 을.. 2023. 9. 27.
[1주차 개념] UNIX 사용법 (+ LINUX와 차이점) 이번 학기에 수강중인 UNIX 프로그래밍 수업을 기록하며 공부해보려 한다! 😎 MacOS에서는 자체 기본 내장 응용프로그램으로 리눅스나 유닉스 플랫폼 서버환경으로 Telnet, SSH를 사용할 수 있지만, Windows 에서는 별도의 프로그램(Putty 등) 도움을 받아 사용이 가능하다. 🚩 기본 UNIX 명령어와 vi 에디터의 기초 사용법 1. vi 에디터란? 최초의 유닉스용 화면 편집기 작고, 빠르고, 모든 유닉스/ 리눅스 시스템이 기본적으로 갖추고 있는 편집기 몇 가지 기본적인 기능만을 갖추고 있으나, 유닉스의 다른 명령들과 결합하여 매우 다양하게 확장, 응용이 가능 독특사지만 매우 빠르고 강력한 명령 체계 2. vi 의 작동 모드 명령 모드: vi 를 시작하면 기본적으로 들어가는 모드로, 텍스트 .. 2023. 9. 7.