Skip to content
Snippets Groups Projects
Commit 1dcfc5f5 authored by 이소현's avatar 이소현
Browse files

Update README(lec02).md

parent b11e3507
No related branches found
No related tags found
No related merge requests found
...@@ -29,8 +29,79 @@ ...@@ -29,8 +29,79 @@
> * $wc : word count의 약자로 어떠한 것에 대해 단어 개수를 세어준다. > * $wc : word count의 약자로 어떠한 것에 대해 단어 개수를 세어준다.
## lesson02
1. 퍼미션에서 제일 앞에 기호
> * 퍼미션에서 제일 앞의 기호는 종류를 나타낸다.
> * 여러 종류가 있는데 그 중 4가지만 보면 아래와 같다.
>> 1. l : simbolick link
>> 2. d : directory
>> 3. c : character 디바이스
>> 4. b : block 디바이스
## Lecture 2 2. 메세지 보내기
> * $wall ## 명령어는 모든사람에게 ##이란 메시지를 보낼 수 있게 해준다.
> * $write name ## 명령어는 name이란 사람에게 ##이란 메세지를 보내준다.
> * $mesg n : 나에게 오는 메세지를 받지 않을 수 있도록 해준다.
## Lecture 3 3. $man 명령어 사용
> * $man 명령어는 어떤것에 대한 메뉴얼 확인을 할 때에 사용한다.
4. $ps 명령어 사용
> * $ps : 실행중인 프로세스들을 출력해준다.
5. 여러 파일들 위치
> * /var/log tail -200 auth.log 로 이동하여 .log파일을 살펴보면 root에 로그인을 시도했다 등의 기록들을 볼 수 있다.
> * /usr/include 안에 들어가면 우리가 c언어에서 include 하는 것들을 상세히 볼 수 있다. (예를 들어 stdio.h 등이 있다.)
6. vi editor 사용 팁
> * 줄의 number를 보고 싶을 때에는
" :set number "를 해주면 된다.
> * 특정 키워드를 찾고 싶을 때에는 " :/ ### " 으로 ###이란 키워드는 찾을 수 있다.
7. input, output 스트림
> * input, output 스트림은 버퍼로 이해하면 된다.
> * stdin, stdout, stderr 각각은 디바이스 이다.
8. 실행파일 생성하기
>> 1. 먼저 .c파일을 생성해야 하는데 아래와 같은 코드의 hello.c 파일을 생성했다고 하자
```c
#include<stdio.h>
int main()
{
FILE *fout;
fout = fopen("output.txt", "w");
fprintf(fout, "Hello World\n");
fclose(fout);
}
```
>> * 이 때 c 파일 생성시 file을 open하여 사용하고 마지막에는 꼭 fclose로 파일을 닫아 주어야 한다.
>> 2. 생성한 hello.c파일을 $cc hello.c 와 같이 cc명령을 이용하여 컴파일 한다.
>> 3. ./a.out 을 통해 생성한 실행파일을 실행시킨다.
> + 위에서 생성한 hello.c파일을 더 많이 쓰이는 방법으로 다시 생성한 코드는 아래와 같다.
```c
#include <stdio.h>
int main()
{
int in_a;
fscanf(stdin, "%d", &in_a);
fprintf(stdout, "Hello stdout %d\n", in_a);
fprintf(stdout, "Hello stderr %d\n", in_a);
}
```
> * 위와 같은 방식으로 코드는 일반적으로 더 많이 쓰이는 코드이며 stdout과 stderr이 구분되어 있는 것을 볼 수 있다.
9. 다양한 리디렉션 사용법
>1. 0< or < : stdin 을 나타내는 리디렉션
>2. 1> or > : stdout 을 나타내는 리디렉션
>3. 2> : stderr를 내보내는 리디렉션
>4. \>> : 내용을 추가하는 리디렉션 (위의 세개는 내용을 덮어쓰지만 해당 리디렉션은 내용을 덮어쓰지 않고 추가한다.)
> * 예를 들어 $./a.out < in.txt > out.txt 2> err.txt 를 하게 되면 ./a.out의 input으로 in.txt란 파일을 넣고 out.txt에 stdout출력물을 저장시키고, err.txt에 stderr를 저장시키게 된다.
> * mort명령어를 사용하여 $more in.txt out.txt err.txt 로 세 개의 txt파일을 살펴보면 ./a.out에 input으로 전달된 내용과 stdout, stderr의 출력물들을 각각 하나씩 잘 보여준다.
10. sleep 명령어를 사용하여 메세지 보내기
> * $sleep 100; echo "message" : 100초 후에 메시지를 보낸다.
> * $kill %1 %2 를 하면 처음 명령과 두 번째 명령 즉, sleep 100이란 명령과 echo "message"란 명령 둘 다 종료시켜준다.
11. date 명령어
> * $date 명령어는 날짜는 출력해준다.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment