Development/Linux

exec 1. exec : execve, execl, execlp, .... exec 함수는 인자로 받은 다른 프로그램을 자신을 호출한 프로세스의 메모리에 덮어쓴다. 따라서 프로세스가 수행 중이던 기존 프로그램은 중지되어 없어지고, 새로 덮어쓴 프로그램이 실행된다. exec 함수군을 호출한 프로세스 자체가 바뀌므로, exec 함수를 호출해 성공하면 리턴값이 없다. 비슷한 기능을 하는 fork는 프로세스를 복제하고, exec은 프로세스를 대체한다. 1. exec의 알고리즘 remove old body load new body adjust process descriptor 2. function prototype of execve y=execve(fname, argv, envp); // change to fn..
Process related system calls 1. process A program loaded in the memory. process = body + process descriptor body = code + data + stack ps -ef 명령어는 현재 메모리에 로드된 모든 프로세스를 보여준다. ps -f 명령어는 현재 터미널에서 실행 중인 프로세스를 나타낸다. 시스템은 round-robin 방식으로 각 프로세스를 하나씩 실행한다. 스케줄러는 실행할 다음 프로세스를 선택하고 CPU는 이를 짧은 시간(예: 프로세스당 10ms, time quantum이라고 부름) 동안 실행하고 스케줄러는 다음 실행할 프로세스를 선택한다. 2. System calls to manage processes fork..
Command line argument 1. main() with command line arguments. ex1.c: int main(int *x, char *y[]){ ............. } The system will pass x: command line arguments의 개수 (아래 예제에서 3개가 아니라 4개임에 유의) y: command line argument For example, $ ./ex1 x1 x2 x3 will pass 4 command line arguments: ./ex1, x1, x2, x3. Therefore, the system will pass x
Reading a non-text file (various file formats : http://en.wikipedia.org/wiki/List_of_file_formats) 1. file type regular file (type 1) 데이터를 포함하고 있는 파일 text file ASCII 코드나 유니코드(Unicode)로 인코딩된 문자(character)들을 포함하고 있는 파일 non-text file (binary file) non-characters를 포함 directory file (type 2) 그 directory의 각 파일에 대한 정보가 들어 있는 파일 link file (type 7) 다른 파일을 가르키는 파일 device file (type 3, 4) 키보드, 프린터, 마우스 등 다..
리눅스 원격 파일 전송 (업로드/다운로드) 원격접속을 하지 않은 로컬 PC 상태에서 아래 코드실행 Remote(원격지) → Local(로컬) $ scp [옵션] [원격지 유저명]@[원격지 IP]:[원본 경로] [로컬 PC에 복사할 경로] 예시 $ scp -pr root@192.168.123.456:../../linuxer1/swvader03.wav /Users/oneonlee/Desktop/ Local(로컬) → Remote(원격지) $ scp [옵션] [원본 경로] [원격지 유저명]@[원격지 IP]:[파일이 저장될 경로] 예시 $ scp -p /Users/oneonlee/Desktop/test.zip root@192.168.123.456:../../linuxer1/ 옵션 -p : 원본 파일의 변경 시간..
Basic file system calls: open, read, write 1. open open 함수를 사용하면 "/aa/bb"라는 file을 read-write가 가능하도록 open 한다. open 함수는 file descriptor라고 부르는 고유 번호를 return 한다. file descriptor 0 (standard input) 1 (standard output) 2 (standard error) 아래 예제에서 x는 file descriptor를 받는다. file descriptor의 범위가 0부터 2까지이기 때문에 x는 3 미만일 것이다. x = open("/aa/bb", O_RDWR, 00777); or char fname[20]; strcpy(fname, "/aa/bb"); x = o..
Running a C program in Linux Commands gcc : C program을 컴파일한다. gcc -o ex1 ex1.c "ex1.c"을 컴파일하고, “ex1”이라는 실행파일 object를 생성한다. -o 옵션으로 executable file name을 지정할 수 있다. "ex1"이라는 실행파일을 사용하려면 ./ex1 명령어 사용 gcc –S ex1.c compile을 하지만, assemble 하지 않는다. assembly language file인 "ex1.s"를 생성한다. g++ : C++ program 을 컴파일한다. g++ -o ex1 ex1.cpp kill : process에게 신호를 보낸다. kill 1234 pid가 "1234"인 process를 kill한다. ^c : 현..
VI vi x.c : edit file "x.c" 1) mode vi는 3가지의 모드가 있다. command mode 커서 이동 (cursor moving), 삭제 (deleting), 복사 (copying) input mode 삽입 (insertion) status-line mode other tasks 2) In the beginning we are at command mode. 처음 vi를 실행하면 command mode로 진행된다. command mode: 커서 이동 (cursor moving) : j(down), k(up), h(left), l(right) 삭제 (deletion) : x(delete one character), dd(delete a line) copy and paste: 3yy..
Linux command classification 명령어 모음집은 아래 참고 [Linux] 기본 명령어 모음 Basic Linux Commands (A-Z 순) 참고 https://github.com/oneonlee/Computer-Science/blob/main/4.%20System%20Programming/01.%20Basic%20Linux%20Commands/README.md GitHub - oneonlee/Computer-Science: Intro.. oneonlee.tistory.com display information general: man process: ps, who, finger, top, last, history file: location: find, which, whereis, l..
file tree / : root directory bin : executable files ls, zip, cat, chown, df, du, env, ftp, grep, ... etc : system configuration files password (password file), hostname (the name of this server), … home : user home directories linuxer2 (home for user linuxer2), park(home for user park), … usr : library files, header files lib (library files are here), include (header files are here), …
relative path, absolute path (상대경로, 절대경로) If the path starts with /, it is an absolute path; otherwise it is a relative path. cd /home/linuxer1/12345 -- go to /home/linuxer1/12345 cd 12345 -- go to directory 12345 in the current directory if the current location is /home/linuxer1, go to /home/linuxer1/12345 if the current location is /bin go to /bin/12345 If the destination directory does not ex..
special symbols . : current directory cp f1 ./f2 -- copy f1 to f2 in the current directory .. : parent directory cp f1 ../f2 -- copy f1 to f2 in the parent directory > : standard output redirection cat f1 > f3 -- display the content of f1 in f3 (same effect as “cp f1 f3”) | : pipe. redirect the standard output of the first program into the standard input of the second program cat f1 | more * : m..
Basic Linux Commands (A-Z 순) 참고 GitHub - oneonlee/Computer-Science: Introduction to Computer Science Introduction to Computer Science. Contribute to oneonlee/Computer-Science development by creating an account on GitHub. github.com GNU/Linux Command-Line Tools Summary GNU/Linux Command-Line Tools Summary Gareth Anderson Chris Karakas - Conversion from LyX to DocBook SGML, Index generation Revisi..
oneonlee
'Development/Linux' 카테고리의 글 목록