본문 바로가기
코스웨어/16년 스마트컨트롤러

20160331_조재찬_업무일지_리눅스 터미널과 지역변수

by 알 수 없는 사용자 2016. 3. 31.
728x90
반응형

리눅스 터미널


리눅스 tty, TeleTYpewriter; TTY리눅스 텔레타이프라이터, 원격타자기

 

 

unix, linux - 장치를 파일로 간주

/dev 안에 장치들이 모여있음

 

 

c - character 1 바이트

stream 데이터의 크기가 정해지지 않음(최소크기 1바이트)

 

리눅스에서 장치는 두 가지로 나뉨

character device

block device

 


링크의 종류

l - link (바로가기)

심볼릭 링크 - 삭제시, 바로가기만 제거

하드 링크 - 삭제시, 바로가기와 함께 원본 파일이 제거

 


리눅스 메뉴얼 보는 명령어

man ( 알고 싶은것  )  : 리눅스 메뉴얼  // man printf, man fopen

// 섹션3 보려면 man 3 printf

빠져나오려면 q

 

 

vi 자동 정렬

1. 명령모드(esc)로 감
2. gg=G



Linux gcc ASLR 해제 ( 랜덤 스택 Random Stack )

 

주소를 고정할때는 다음의 명령어를 친다.

sysctl -w kernel.randomize_va_space=0


이후 출력 되는 메시지

kernel.randomize_va_space = 0  // 0 대신 1을 넣으면 활성화

 

 



지역변수

 

 

 

오른쪽의 예제에서 10번째 행을 주석처리 않았을 때는 if문 내 지역변수 값은 17, main함수내 지역변수 값은 1이 나온다.

6행의 num은 main 함수내에서만 접근 가능한데, if문 내에서 새로운 변수 num이 선언되었기 때문에 if문 내 지역변수 값은 17이 된다. (7+10)

 

주석처리시에는 각각 각각 11, 11이 나온다.

 

 

 

 

위의 예제를 수정해서 각각의 num의 주소를 알아보자.

 

위와 같은 결과가 나온다.

 

 

 


 

728x90