겉바속촉
[LINUX] 프로세스의 구성요소, 쉘 본문
이번에는 프로세스의 구성요소들에 대해서 배워보도록 할게요:)
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
'IT일기(하반기) > LINUX' 카테고리의 다른 글
[LINUX] VI 편집기 (2) | 2020.07.15 |
---|---|
[LINUX] apt-get, tar, find, 설정 (0) | 2020.07.14 |
[LINUX] 사용자 관리 (0) | 2020.07.14 |
[LINUX] 서버 구축할 때 필요한 명령어 (0) | 2020.07.14 |
[LINUX] 그룹 설정해주고 사원 등재, 명령어의 역사 (0) | 2020.07.10 |