겉바속촉

[LINUX] 프로세스의 구성요소, 쉘 본문

IT일기(하반기)/LINUX

[LINUX] 프로세스의 구성요소, 쉘

겉바속촉 2020. 7. 15. 11:20
728x90
반응형

이번에는 프로세스의 구성요소들에 대해서 배워보도록 할게요:)

 

 

 

PID = 프로세스를 구별할 수 있는 유일한 요소

PPID = Parent PID 부모 프로세스

 

 

 

결국 계속해서 거슬러 올라가면 조상격인 1이 등장하게됩니다.

우리가 아무리 kill -9 1 을 통해서 죽이려고 해도 죽일 수 가 없습니다

 

 

이외에도

UID, GID = 프로그램 실행한 사람에 대해서 나타냄

EUID, EGID = 프로세스가 파일에 대해 가지고 있는 권한을 나타냄

등등... 이 있습니다.

 


변수에 대해서도 배워보도록 할게요:)

 

 

 

[리눅스에서 변수 만드는 방법]

 

*환경변수_ 리눅스라는 환경에서 사용하는 변수

*쉘변수_터미널에서 사용하는 변수

 

 

 

1) 변수 선언

 

 변수명 = 값

  echo $변수명          -------> echo명령어는 변수를 출력하는 프린트 함수

  env                       -------> 운영체제 변수(환경변수) 출력

 

 

 

2) export ; 쉘 변수를 환경변수로 저장할 때

 

이렇게 해주시면 터미널을 실행할때마다 출력이 가능합니다

즉 터미널을 꺼버린다고 사라지는 것이 아니쥬!

 

 

 


 

[숫자 계산]

 

우선 a한테 100을 주었습니다

 

그리고 b한테는 a에 100을 더한 값을 주고 싶은데요

한번 해보겠습니다:)

 

b=a+100 넣었더니 안되는 군요

 

b=$a+100을 넣었더니 그래도 안됩니다

 

 

큰따옴표를 추가하고서 echo $b로 출력해봤더니

100+100 이라고 나옵니다

우리가 원하는 값이 아니쥬?

 

문자열로 인식하기 때문입니다

 

다른 방법을 써주셔야합니다 ---> 즉, 명령어를 인식할 수 있게 말이쥬:)

바로   ` 명령어  `  ----> 요 아이를 써주셔야 합니다

그리고 연산을 하려면 expr을 사용해주셔야 해요!

 

b= ` expr $a + 100`

이제야 우리가 원하던 200이 출력되는 군요!!!

 

 


 

 

 

[ if문 ]

 

 

기본 문법의 형태

 

 if  [   조건   ]

 then

     참일 경우 실행

 fi

 

자바랑 차이점이 있네요?? 꼭 암기해두세요:)

특히 주의할 점은 [ 조건 ] 사이의 각 단어에 모두 공백이 있어야 한다는 점입니다:)

 

 

 

[ if else문 ]

 

if문 구조와 마찬가지로 자바와 다르게

조건 작성시 대괄호로 하셔야 하고 공백도 항상 머릿속에 넣어주셔야겠쥬?!

마지막은 fi !!!!!!!!!!!

 

 if  [   조건   ]

 then

     참일 경우 실행

 else

     거짓일 경우 실행

 fi

 

 

 

 

[ 파일과 관련된 조건 ]

 

파일 조건 결과
-d 파일 이름 파일이 디렉터리면 참
-e 파일 이름 존재하면 참
-g 파일 이름 파일에 group id 설정되면 참
-r 파일 이름 읽기 가능이면 참
-s 파일 이름 파일 크기가 0이 아니면 참
-u 파일 이름 user id 설정되면 참
-w 파일 이름 쓰기 가능하면 참
-x 파일 이름 실행 가능하면 참

 

 

[ case esac문 ]

 

우리는 자바에서 if문을 계속 사용해야 할때에 case문을 써본 적이 있쥬?

리눅스에서도 마찬가지입니다

다만!!

끝낼때 esac를 쓴다는 것에 유의하셔야합니다:)

 

case in

  start)

     출력문 ;;

  stop)

     출력문 ;;

   restart)

      출력문 ;;

   *)

      출력문 ;;

esac

 

 

 

 

[ while문 ]

 

while [ 조건문 ]

do

    명령문

done

 

 

728x90
반응형