Computer Science116 [UNIX/Linux] ep4) 고수준 파일 입출력 https://claremont.tistory.com/entry/UNIXLinux-ep3-%EC%A0%80%EC%88%98%EC%A4%80-%ED%8C%8C%EC%9D%BC-%EC%9E%85%EC%B6%9C%EB%A0%A5 [UNIX/Linux] ep3) 저수준 파일 입출력ㅁ파일(file): 관련 있는 데이터의 집합으로, 저장 장치에 일정한 형태로 저장데이터를 저장하는 데는 물론 데이터를 전송하거나 장치에 접근하는 데도 사용특수 파일의 생성과 삭제 및 입출력은claremont.tistory.comhttps://claremont.tistory.com/entry/UNIXLinux-ep3-%EC%A0%80%EC%88%98%EC%A4%80-%ED%8C%8C%EC%9D%BC-%EC%9E%85%EC%B6%9C%EB.. 2024. 10. 7. [UNIX/Linux] ep3+) 저수준 파일 입출력 함수 실습 ex1. 저수준 파일 입출력을 이용해 파일을 복사하는 프로그램을 작성하시오. 이때 파일명은 명령행 인자로 받는다../ex test.txt test.bak#include #include #include #include int main(int argc, char* argv[]) { if (argc != 3) { printf("Usage: ex1 src target\n"); exit(1); } int rfd, wfd, n; char buf[256]; rfd = open(argv[1], O_RDONLY); if (rfd == -1) { perror("Open "); exit(1); } wfd = open(argv[2].. 2024. 10. 2. [UNIX/Linux] ep3) 저수준 파일 입출력 ㅁ파일(file): 관련 있는 데이터의 집합으로, 저장 장치에 일정한 형태로 저장데이터를 저장하는 데는 물론 데이터를 전송하거나 장치에 접근하는 데도 사용특수 파일의 생성과 삭제 및 입출력은 특수 파일별로 약간씩 차이가 있다 ㅁ저수준 파일 입출력: 시스템 호출(System Call)• 리눅스 커널의 시스템 호출을 이용해 파일 입출력을 수행• 시스템 호출을 이용하므로 파일에 좀 더 빠르게 접근할 수 있는 장점• 또한 바이트 단위로 파일의 내용을 다루므로 일반 파일뿐만 아니라 특수 파일도 읽고 쓸 수 있음• 바이트 단위로만 입출력을 수행 가능하므로 응용 프로그램 작성 시 다른 추가기능을 함수로 추가 구현 해야 함• 열린 파일을 참조할 때 파일 기술자(fd) 사용 ㅁ고수준 파일 입출력: C언어 표준 함수•.. 2024. 9. 30. [UNIX/Linux] ep2+) 파일 함수 실습 ex1. 명령행 인자로 받은 파일의 크기를 알려주는 프로그램을 작성하시오#include #include #include #include #include int main(int argc, char* argv[]) { if (argc == 1) { printf("usage: ex1 filename\n"); exit(1); } struct stat statbuf; stat(argv[1], &statbuf); printf("SIZE = %d\n", (int)statbuf.st_size); return 0;} ex2. 명령행 인자로 받은 파일의 종류를 출력하는 프로그램을 작성하시오#include #include #include #include #.. 2024. 9. 26. [UNIX/Linux] ep2) 파일 다루기 ". 과 .. 은 모든 디렉터리에 항상 존재하는 파일 이름이며, 디렉터리가 생성될 때 자동적으로 포함된다" ㅁ디렉터리 허가- 읽기(r): 디렉터리 내의 파일이나 부디렉터리의 이름을 리스트- 쓰기(w): 디렉터리 내의 파일을 제거하거나 새로운 파일을 생성- 실행(x): cd 혹은 chdir 로 디렉터리 내부로 들어갈 수 있음 (리눅스 파일 함수) [파일 정보 검색 함수] - inode 정보 검색stat() 함수로 검색한 inode 정보는 stat 구조체에 저장되어 리턴된다stat 구조체의 세부 구조는 man -s 2 stat 으로 확인할 수 있다 (stat은 status의 약자이다)struct stat { dev_t st_dev; // 파일이 저장되어 있는 장치의 번호를 저장 ino_t st.. 2024. 9. 24. [UNIX/Linux] ep1+) 디렉터리 함수 실습 ex1. mkdir() 함수를 사용해 디렉터리를 2개(dir1, dir2) 만들고, 이 중 dir1은 rmdir() 함수로 삭제하고 dir2는 rename() 함수를 사용해 testdir로 바꾸는 프로그램을 작성하시오. (mkdir->rmdir->rename)#include #include #include int main() { if (mkdir("dir1", 0755) == -1) { perror("dir1"); exit(1); } if (mkdir("dir2", 0755) == -1) { perror("dir2"); exit(1); } if (rmdir("dir1") == -1) { perror("dir1"); .. 2024. 9. 20. [UNIX/Linux] ep1) 디렉터리 다루기 리눅스에서는 파일을 일반 파일과 특수 파일, 디렉터리 세 가지로 구분한다디렉터리는 해당 디렉터리에 속한 파일을 관리하는 특별한 파일이다 1. 일반 파일(-): 우리가 흔히 아는 데이터를 저장하는 파일e.g. 텍스트 파일, 실행 파일, 프로그램 파일, 라이브러리, 이미지 파일 등과 같은 사용자가 읽거나 수정할 수 있는 파일들 2. 특수 파일: 하드웨어 장치나 프로세스와의 인터페이스를 제공하는 파일 (운영체제와 하드웨어 간의 인터페이스 역할)하드웨어 장치(예: 키보드, 마우스, 디스크)와 상호작용할 수 있도록 시스템 자원에 대한 접근을 제공한다리눅스에서는 주로 /dev 디렉터리에서 특수 파일들을 확인할 수 있다블록 특수 파일(b): 디스크와 같은 장치에서 데이터를 블록 단위로 처리문자 특수 파일(c): 키.. 2024. 9. 11. 오픈소스 터미널 에뮬레이터(PuTTY, Termius, MobaXterm) ㅁ PuTTY: 오픈소스 터미널 에뮬레이터SSH, Telnet, Rlogin과 같은 원격 프로토콜을 지원한다. macOS는 기본 터미널로 SSH접속이 가능하지만, Windows 같은 경우는 불가능해서 Windows에서 SSH 접속을 위해 많이 사용한다. 그래서 네트워크 관리자, 개발자, 시스템 관리자 등이 원격 서버에 접속하고 관리하는 데 자주 사용된다.※ Windows 10부터는 cmd로도 SSH접속이 가능하다고 한다 근데 그렇다고 해서 맥북이 PuTTY를 무조건 설치 안 해도 되는 것이 아니다. PuTTY와 같은 툴을 사용하면 얻을 수 있는 이점이 많다.PuTTY와 같은 툴 설치의 이점:세션 관리:PuTTY는 다양한 세션 프로파일을 저장하고 관리할 수 있는 기능을 제공합니다. 이를 통해 여러 서버에 .. 2024. 9. 4. [UNIX/Linux] ep0) 시스템 프로그래밍의 이해 UNIX, 그야말로 운영체제계의 goat모든 운영체제가 UNIX에 영향을 받았다고 해도 과언이 아니다. 심지어 Windows 까지도 분명 UNIX에 영향을 받은 부분이 무조건 있을 것이다. (Windows는 오픈소스가 아니라서 자기네들의 코드를 공개하지 않는다) 서버의 운영체제는 요즘 90%가 다 Linux를 쓴다. 그래서 금융권에서는 UNIX를 Linux로 대체하는 U2L(UNIX to Linux)이 확산되고 있다. ※ 리눅스 시스템에서 라이브러리는 보통 /usr/lib 에 위치한다정적 라이브러리: 프로그램을 컴파일할 때 같이 적재되어 실행 파일을 구성한다공유 라이브러리: 실행 파일에 포함되지 않아 메모리를 효율적으로 사용하기 위해 사용한다 [파일시스템 - 파일과 디렉터리]절대 경로(absolute .. 2024. 9. 4. 이전 1 2 3 4 5 6 7 ··· 13 다음