본문 바로가기

DKE/리눅스 프로그래밍

(20)
[리눅스] C 컴파일러 (gcc) / 2022.12.08 1. C 컴파일러 : 실행 파일 생성 $ cc [-options] C-files $ gcc [-options] C-files - gcc hello.c 명령어를 사용하여 hello.c를 컴파일한다. 기계어 코드인 hello.o를 만들고 실행 가능한 파일인 a.out을 만든다. ./a.out 명령어를 사용하면 실행 결과를 확인 할 수 있다. 1-1) -c 옵션 $ gcc -c C-files 기계어 코드만 생성하며, 실행 파일은 만들지 않는다. hello.c를 컴파일하여 hello.o 파일을 만든다. - gcc -c hello.c 명령어를 사용하여 기계어 코드만 생성한다. 1-2) -o 옵션 $ gcc -o fileName C-files c 컴파일러는 실행 파일의 디폴트 이름으로 a.out을 생성한다. 그러나..
[리눅스] kill 명령어 / 2022.12.04 kill 명령은 현재 수행중인 프로세스를 강제로 종료시킨다. $ kill [-signal] PID - 여기서 PID는 프로세스 식별변호이고, signal은 프로세스에게 전달할 signal을 나타낸다. - 디폴트 시그널은 15번으로, 이 시그널은 프로세스에게 수행을 중지하라는 메시지를 전달한다. - 가끔씩 kill 명령어를 사용한 후에도 그 프로세스가 아직 존재하는 경우가 있는데 이 경우에는 9번 시그널을 전달하면 강제 종료 된다. 1) 디폴트 시그널 2) 9번 시그널
[리눅스] foreground와 backgroud / 2022.12.03 리눅스/유닉스 시스템은 한 번에 여러 작업을 동시헤 할 수 있는 다중작업 시스템이다. 1. foreground 사용자가 한 명령어를 실행시키고 그 명령의 실행이 종료되어 결과가 출력될 때까지 다른 명령어를 실행하지 않고 기다리는 경우를 foreground로 수행한다고 한다. 1-1) sleep 명령어를 foreground로 수행하기 sleep 명령어는 지정된 시간만큼 실행을 중지한다. 2. background foreground와는 반대로 background는 사용자가 하나의 명령어를 실행시킨 후에 그 실행이 끝날 때까지 기다리지 않고, 다른 명령어를 실행시켜 결과적으로 시스템 내에 여러개의 작업이 동시에 실행되도록하는 경우를 말한다. background에서 실행하는 것은 시간이 오래 걸리는 긴 작업일 ..
[리눅스] tar와 gzip / 2022.12.03 1. tar tar는 압축 프로그램이 아니라 단순히 여러 개의 파일을 하나의 파일로 묶어주는 프로그램이다. $ tar cvf target.tar files // files를 묶은 target.tar 생성 $ tar xvf target.tar // target.tar를 files로 복원 $ tar tvf target.tar // 목록 확인 c : create, v : verbose, x : extract 1-1) test1, test2, test3 파일을 test.tar로 묶기 1-2) test.tar를 복원하니 test1, test2, test3가 생긴것을 확인할 수 있다. 2. gzip gzip은 도스용 ZIP 프로그램과 비슷한 방법으로 압축하게 되어 있어 압축률과 속도면에서 우수하다. $ gzip f..
[리눅스] 히스토리 / 2022.12.01 히스토리란 과거에 입력했던 명령을 다시 칠 필요없이 재입력 할 수 있게 해준다. 1. 히스토리 목록 보기 $ history [n] // 최근 n개의 명령어 이력을 보여줌 1-1) history 10 -> 최근에 사용했던 명령어 10개 출력 2. 히스토리 기능을 사용한 명령어 $ !! // 가장 최근에 수행한 명령어를 반복하여 수행 $ !n // n번째 수행한 명령어를 반복하여 수행 $ !pattern // 주어진 pattern으로 시작하는 가장 최근의 명령어 반복 수행 2-1) !!를 사용하여 ls -l 명령어 반복 수행 2-2) history사용하여 n번째 수행 명령어 확인 -> 622번 명령어 수행 -> !622 2-3) 가장 최근에 사용한 ls로 시작하는 명령어 수행
[리눅스] Redirection (명령의 결과를 파일로 보내는 것) / 2022.12.01 1. Redirection 어떤 명령의 결과를 파일로 보내고 싶다면 그 명령어 다음에 '>' 문자와 파일 이름을 순서대로 사용하면 된다. ex) $ ls -l > fileName 1-1) ls -l 명령의 출력값을 dir_list에 저장한 결과 2. append 출력 내용을 기존 파일에 이어쓰고 싶다면 '>>'를 사용 ex) $ date >> fileName 2-1) 1-1 예제와 동일한 파일 dir_list에 date 출력 내용을 append한 결과
[리눅스] 파일 비교 (cmp, diff) / 2022.12.01 파일을 비교하는 명령어에는 cmp와 diff 두 가지가 있다. 1. cmp 두 파일의 차이 여부를 판단하여, 차이가 있다면 어디서 처음 달라지는 지를 출력한다. $ cmp file01 file02 2. diff 두 파일을 줄 단위로 비교하여 어느 줄, 어디서 달라지는지를 자세하게 출력해준다. 따라서 소스 비교를 할 때 활용한다. $ diff file01 file02
[리눅스] 파일의 사용 권한 (chmod) / 2022.12.01 파일 시스템에서는 사용자 종류에 따라 액세스 권한을 제어하기 위해 리눅스 각 파일에 대해 파일 사용 권한을 설정한다. 1. 사용 권한 확인하기 $ ls -l 1-1) ls -l 명령어를 사용하면 사용 권한을 확인할 수 있다. 2. 사용 권한 알아보기 리눅스/유닉스에는 세 가지 조합의 사용 권한이 있다. 2-1) 사용자 개인을 위한 것 (owner) 2-2) 사용자가 속한 그룹을 위한 것 (group) 2-3) 시스템에 있는 모든 사람을 위한 것 (others) 각 파일과 디렉토리에 대해, 사용자 개인을 위해, 사용자가 속한 그룹을 위해 그래고 모든 사람을 위해 각각 분리된 읽기 (r), 쓰기 (w), 실행 (x)의 권한을 부여할 수 있다는 의미이다. 사용권한이 rwxr-xr-x 라면 ? owner에 rw..