# 변수 : 메모리 공간에 일정 부분 할당한 공간을 뜻 함
# test="Hello World" <-- test라는 변수를 만들어서 Hello World라는 문자열을 넣어두겠다.
# 변수에 이름 왼쪽에 $를 붙여 이게 변수임을 의미시키게 됨.
예 ) $test <- test라는 변수임을 뜻 함.
# set 명령어 : 만들어져 있는 변수에 목록과 변수에 값을 확인 할 수 있음.
# unset 명령어 : 만들어져 있는 변수를 삭제.
예) unset test <- test 변수 삭제
# 만든 변수는 컴퓨터가 종료될 때 소멸 됨..
RAM카드는 전력공급이 중단되면 저장한 데이터가 전부 소멸함.
# 컴퓨터를 끄는 것은 RAM카드에 전력이 공급되지 않게 되는것임.
그렇기 때문에 컴퓨터가 종료될때 변수가 전부 지워짐.
# 컴퓨터를 종료해도 소멸하지 않는 변수를 만들 수 없음..
대신, 컴퓨터가 부팅할 때 자동으로 변수를 만들도록 할 수는 있음..
# /etc/profile 이라는 파일은 운영체제가 부팅할때 실행되는 파일 임.
이 파일에 변수를 만드는 명령어를 작성 해 놓으면 부팅할때 마다 변수를 만들게 됨.
# 문제. 만들어 놓은 test.sh 에서의 경로에 밑줄친 부분을 2글자 이하로 축약
cd 명령어를 통해 다른 경로로 이동하지 않고 진행. (경로를 변수로 지정하면 됨)
# for 명령어는 특정 명령어들을 반복적으로 실행 해주는 명령어임..
# for 명령어를 사용할 떄 {} 중괄호에 1..9라고 작성하면 1부터9까지를 의미함.
# 만약 {1..100..10} 이라고 작성한다면 1,11,21,31,41~91을 변수에 담아가며 반복
# 변수를 활용해서 사용 가능 ($a)
for a in {1..9}
do
mkdir korea$a (korea 1에서 9까지 디렉터리 생성)
echo korea$a 디렉터리를 생성했습니다.
done
# Shell 스크립트는 대규모 시스템을 보안 점검 할때도 활용되어지게 됨.
# Shell 스크립트는 리눅스 서버를 효과적으로 운용하기 위해 사용함.
만약 매일 같이 몇백, 몇 천개의 명령어를 실행해야 한다면, 스크립트로 만들어서
매일 스크립트만 실행 시킴.
# 계정 = 사용자
# 관리자 계정 외에 다른 계정을 추가로 만들 수 있음.
# 내 리눅스를 접속해서 사용하는 사람이 여러명 있다면, 계정을 추가로 생성해서
그 사람들이 사용할 수 있는 그 사람만에 계정을 따로 만들어줌.
# useradd korea1 <- korea1 이라는 사용자를 생성하는 명령어
# userdel korea1 <- korea1 계정 삭제
# /etc/passwd라는 파일은 사용자 정보가 저장 되 있는 파일임.
만든 사용자가 잘 만들어 졌는지 확인 할 때 passwd 파일을 보면 됨.
# 홈 디렉터리 : 그 계정만 사용할 수 있는 디렉터리를 뜻 함.
# 홈 디렉터리를 만드는 경로가 기본적으로 /home에 만들게 됨
# useradd로 계정을 생성하면 자동으로 홈 디렉터리가 생성됨.
# userdel로 계정을 지워도 그 계정에 홈 디렉터리를 지우지 않음
홈 디렉터리에는 중요한 파일이 있을 수 있기 때문..
# 계정을 지웠을 때는 관리자가 직접 홈 디렉터리에 중요한게 있나 확인하고,
중요한게 없으면 rm 명령어를 써서 직접 지워야 함.
# /var/spool/mail 이라는 디렉터리에는 계정의 이름과 동일한 파일이 만들어짐.
그 파일은 그 계정한테 온 이메일을 기록해 놓는 파일임.
# useradd로 계정을 만들면 자동으로 만드는 계정에 메일파일을 생성하게 됨.
# userdel 명령어로 계정을 삭제해도 메일함은 지워지지 않음.
# 계정을 생성할 때 홈 디렉터리 또는 메일함이 이미 만들어져 있다면,
에러가 발생하지만 계정은 정상적으로 잘 만듬.
# userdel 명령어 -r 은 계정에 홈 디렉터리와 메일함을 같이 삭제하라는 옵션임.
# passwd 명령어로 지정한 계정에 비밀번호를 설정할 수 있음.