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

Update README[lec03].md

parent 1dcfc5f5
No related branches found
No related tags found
No related merge requests found
...@@ -105,3 +105,61 @@ int main() ...@@ -105,3 +105,61 @@ int main()
11. date 명령어 11. date 명령어
> * $date 명령어는 날짜는 출력해준다. > * $date 명령어는 날짜는 출력해준다.
## lesson03
1. 여러가지 알아두어야 할 사항들
> * ./a.out을 a.out으로 바로 실행 가능하게 하려면 Path에 .을 추가하면 된다. 하지만 .을 추가하면 보완상 좋지 않아진다.
> * binary 파일은 git에 저장하지 않는 것이 좋다. 따라서 .out 파일들을 git에 올리지 않게 하지 위해 자동으로 걸러주는 .gitignore파일을 생성해야 한다. .gitignore 파일에 *.out을 추가하여 git에 올라가는 것을 방지 할 수 있다.
> * .으로 시작하는 파일은 hidden파일이라서 안보이는 파일이므로 $ls시에는 보이지 않고, $ls -al을 해야 볼 수 있다.
> * $file name : name이란 파일에 대해 앞의 명령어 시에 해당 출력물이 ASCII로 나타난다면 한글이 한글자도 없다는 것이다. (UTF-8 : unicode : 한글 등을 표현가능)
2. 컴퓨터의 구성 요소
> 1. user
> 2. software
> 3. hardware
> 4. data
3. terminal 이란
> * terminal 이란 한글로 해석하면 단말(기)에 가깝다. 사용자 바로 앞에 붙어 있는 컴퓨터 장치로 볼 수 있다.
4. computer hardware system
> * 컴퓨터 하드웨어 시스템에는 크게 다섯가지로 구분된다.
>> 1. memory
>>> * Memory는 중심에 위치하여 memory를 거쳐야지만 다른 하드웨어 시스템들이 서로 소통이 가능 하다.
>> 2. input Devices
>>> * stdin과 같은 것들은 memory에 있는 io버퍼에 전달된다. 다른 곳으로는 전달 될 수 없다.
>> 3. output Devices
>>> * stdout과 같은 것들을 받는 곳으로 memory에 있는 버퍼에서 input devices에서 전달 받은 것을 이곳으로 전달 해 줄 수 있다.
>> 4. CPU
>>> * inter, ARM 과 같은 것들이 있다.
>>> * CPU는 memory를 통해서만 다른 하드웨어 시스템과 데이터를 주고 받을 수 있다. 즉, cpu에서 직접적으로 storage devices에 접근할 수 없다.
>> 5. storage Devices (=Disk)
>>> * HDD, SSD와 같은 것이 있다.
>>> * storage devices또한 cpu와 같이 memory와만 직접적인 소통이 가능하다.
5. git 서버 접속 원리
> * git.ajou.ac.kr 은 http 로 접속하는 것이다. (인터넷에서 접속)
> * 팔달관에 있는 git.ajou.ac.kr에서 ssh로 로그인을 하게 되면 SSH로 접속하는 것이며 터미널을 임시로 부여해 주어 사용가능하게 한다.
6. git 명령어
> 1. $git clone "git서버주소" : http 사이트의(git 서버의 레포지토리)레포를 ssh 서버로 접속한 아이디의 디렉토리에 다운한다. (처음 다운받을 때 사용)
> 2. 로컬에서 계정을 연결하기 위해서는
>> * $git config --global user.email "git서버이메일주소"
>> * $git config --global user.name "이름"
>> 을 해야한다.
> 3. $git pull : 사이트에서 수정을 추가로 한 경우 해당 디렉토리와 내용이 다를 수 있으므로 $git pull 을 통하여 해당 디렉토리의 내용을 사이트와 맞춰 업데이트 시켜준다.
> 4. $git add * : *는 와일드 카드로 모든 파일에 대한 것을 지칭하며 git add를 통해 로컬에서 수정한 것들을 http서버에 있는 내 계정에 업데이트 시키기 위해 스테이지에 올려준다.
> 5. $git commit -m " 메세지내용" : add를 통해 stage에 올린 파일들을 push하기 전 커밋해준다. -m 은 메세지를 쓸 수 있게 해주는 옵션이다.
> 6. $git push : git push 를 통하여 커밋한 모든 내용들을 서버에 올려준다.
7. PIPE
> * 파이프란 기호 | 로 나타내며 입력받은 결과를 다른 곳으로 보내주는 역할을 한다.
>>> 예를 들어 $who | wc 를 하게 되면 who명령어의 결과를 wc의 input으로 보내준다.
> * $mkfifo mypipe
>>> 해당 명령어는 파이프를 생성해주는 명령어로 $ls -al시에 mypipe란 파일의 속성이 "p"로 나타나는 것을 확인 할 수 있다. (p는 pipe를 나타내는 약자)
> * T-joint : "ㅜ" 자 모양으로 생긴 파이프를 T-joint 파이프라고 부르는데 모양에서 볼 수 있듯이 그저 물이 흐르는 일자 모양의 파이프가 아닌 한 갈래의 길이 중간에 더 생긴 형태의 파이프 이다.
>> * T-join pipe를 생성하는 명령어는 "tee"이다.
>>>> (ex) $ls -l | tee aaa 를 하면 ls -l의 출력물들이 input이 되어 흘러가는 도중 tee aaa란 명령어 때문에 한 갈래의 길이 생겨 aaa란 파일이 생성되어 출력물들을 저장시키고 원래의 파이프가 하는 일처럼 다시 마저 흘러가 출력물을 보여주게 된다.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment