Fundamental of Software Develop 15

vi에서 syntax on설정 시 command is not available in this version 문제

vi가 색깔을 표시하지 못할때 .vimrc에 syntax on을 추가하면 되지만, 아래같은 메세지가 나타날 수 있음.command is not available in this version  다음의 커맨드를 이용하여 설치해 주면 된다.sudo apt install vim-gui-common 이거 설치하면 syntax on 오류가 없어지고 syntax on을 안해도 색깔이 표시된다.

토폴로지(Topology)

물리적인 설계나 방법론의 특성 그 자체를 말한다. ​​어떠한 특정한 토폴로지는 노드 사이의 물리적, 논리적 연결 구성으로 결정되는데 이러한 토폴로지 연구는 그래프 이론을 사용한다. 노드 사이의 거리, 물리적 상호 연결, 전송 속도, 신호 종류는 두 망 사이에서 각기 다를 수 있지만 이러한 토폴로지는 비슷한 양상을 보인다.​출처: https://csdaniel.tistory.com/80 [IT 컴퓨터공학 자료실]

Ubuntu20.04에서 VSCode C/C++ 개발환경 구축하기

1. 리눅스 필수 개발코드 다운로드 리눅스에서 C/C++ 등 개발툴을 컴파일하기 위한 필수 컴파일러와 유틸리티들을 설치한다. swift@swift-HP-Pavilion-dv6-Notebook-PC:~/Desktop$ sudo apt-get install build-essential [sudo] password for swift: Reading package lists... DoneBuilding dependency tree Reading state information... DoneThe following package was automatically installed and is no longer required: libllvm11Use 'sudo apt autoremove' to remo..

Linux System Programming : 링크 파일 생성

링크 파일 생성 링크(Link)는 같은 파일이나 디렉터리에 여러 이름으로 접근할 수 있게 하는 새로운 이름을 말한다. 링크 기능을 이용하면 이전 시스템과의 호환성을 유지하거나, 경로가 복잡한 파일에 간단한 경로를 제공하는 등 편의성을 높일 수 있다. 구체적인 예시로, 루트 디렉터리 (/) 아래의 lib 디렉터리는 예전 시스템과의 호환을 위해 필요한데, 현재는 실제 디렉터리가 있는게 아니라 /usr/lib 디렉터리에 대한 심벌릭 링크로 유지하고 있다. 링크는 하드 링크와 심벌릭 링크 두 가지가 있으며, 둘 다 ln명령으로 생성한다. 프로그램에서도 함수를 사용해 하드 링크와 심벌릭 링크를 생성할 수 있다. 1. 하드 링크 (Hard Link) - 하드 링크(Hard Link)는 파일에 접근할 수 있는 파일명..

Linux System Programming : 파일 접근 권한 제어

파일 접근 권한 제어 stat 구조체의 st_mode 항목에는 파일의 종류와 접근 권한 정보가 저장된다. st_mode 항목의 값을 해석하려면 sys/stat.h파일에 정의된 상수와 매크로를 이용해야 한다. st_mode의 구조 먼저, st_mode 항목에 저장되는 값의 구조를 알아야 상수와 매크로의 역할을 이해할 수 있다. (st_mode: 파일의 종류와 접근권한 정보) st_mode 항목의 데이터형인 mode_t는 unsigned int로 정의되어 실제로 16비트를 사용한다. buf - 파일의 상태 및 정보를 저장할 buf 구조체 struct stat { dev_t st_dev; /* ID of device containing file */ ino_t st_ino; /* inode number */ ..

Linux System Programming: 파일 정보 검색

inode로부터 검색할 수 있는 정보는 파일의 종류, 접근 권한, 하드 링크 개수, 소유자의 UID와 GID, 파일의 크기, 파일 접근 시각, 파일 수정 시각, 파일의 inode 변경 시각 등이다. inode 정보를 검색하면 sys/stat.h 파일에 정의되어 있는 stat 구조체에 저장된다. 파일 정보 검색 함수 기능 함수 파일 정보 검색 함수 int stat(const char * pathname, struct stat *statbuf); int fstat(int fd, struct stat *statbuf); 파일 접근 권한 함수 기능 함수 파일 접근 권한 확인 int access(const char *pathname, int mode); 파일 접근 권한 변경 int chmod(const char ..

디렉터리 내용 읽기

디렉터리 내용 읽기 디렉터리의 내용을 읽으려면 해당 디렉터리를 열고 정보를 읽을 수 있어야 한다. 디렉터리 열기 : opendir() - opendir() 함수는 인자로 지정된 디렉터리를 열고 해당 디렉터리에 대한 디렉터리 스트림을 생성, 이 스트림의 포인터를 리턴한다. #include #include DIR *opendir(const char *name); name : 열고자 하는 디렉터리 명 DIR 객체(opendir() 함수가 디렉터리 열기에 성공하면 반환하는)에는 열린 디렉터리에 정보가 있으며, dirent.h 파일에 typedef struct__dirstream DIR로 정의되어있다. opendir() 함수는 실패하면 NULL을 반환한다. 디렉터리 닫기 : closedir() - 인자로 지정한 ..

디렉터리 관리하기 (위치 검색, 이름 변경, 이동)

현재 작업 디렉터리의 위치 검색 : getcwd(), get_current_dir_name() 현재 작업 디렉터리의 위치를 파악할 때 사용하는 함수는 getcwd(), get_current_dir_name(), getwd()이다. 이 중, getcwd(), get_current_dir_name() 함수에 대해 알아보자. (※ 현재 디렉터리의 위치를 검색할 때 쓰는 명령어는 pwd이다.) 현재 작업 디렉터리 위치 검색 (1) : getcwd() getcwd() 함수는 현재 디렉터리의 절대 경로를 리턴한다. #include char *getcwd(char *buf, size_t size); buf : 현재 디렉터리의 절대 경로를 저장할 버퍼 주소, size : 버퍼의 크기 함수 인자를 지정하는 방법은 아래 ..

디렉터리 생성과 삭제 : mkdir(), rmdir()

man 명령어로 mkdir() 혹은 rmdir() 함수를 검색할 때에는, Linux 명령어인 mkdir, rmdir과 이름이 같으므로 $ man -s 2를 사용해야 한다. 디렉터리 생성 : mkdir() mkdir() 함수는 생성하려는 디렉터리명을 포함한 경로를 받고, 생성하는 디렉터리의 기본 접근 권한을 지정한다. 디렉터리 생성에 성공하면 0을, 실패하면 -1을 반환한다. #include #include int mkdir(const char *pathname, mode_t mode); pathname : 디렉터리가 포함된 경로, mode : 접근 권한 디렉터리 삭제 : rmdir() rmdir()함수는 디렉터리를 삭제하는 명령어인 rmdir과 동일한 기능을 수행한다. rmdir() 함수로 삭제하려는 디..