
첫번째 $ 뒤의 숫자가 6, SHA512 알고리즘을 사용
두번째 $ 뒤의 값, salt값
세번째 $ 뒤의 값, hash값

root는 비번없이 아무 사용자에 로그인 가능, 규칙에 구애받지 않음


일반 사용자들은 비번에 대한 rule 까다롭게 설정되어있음
/etc/security 안의 pwquality.conf > pwd에 대한 ruleset
sudo : 관리자 권한으로 작업(root로 su하지않고 커맨드를 수행할때만 관리 권한으로 작업)
/etc/sudoers 관리자 설정 파일

wheel그룹에 있는 사용자가 sudo 명령어를 사용할 때마다 pwd를 물어보지 않게 설정

지정된 작업만 할 수 있음(sudo shutdown (x) sudo shutdown -r now (o))
ubuntu의 ip 주소를 고정으로 설정하기 위해 yaml파일 편집



fork는 부모가 사용하는 memory를 그대로 자식에게 복제
그 후 exec 호출(실제 코드로 대체하는 작업, 부모 쉘과 자식 쉘이 bash니 bash 코드로 대체)(자식 프로세스가 vi 편집기일 시에는 vi로 대체), 부모의 local 변수는 자식의 local 변수로 대체됨, 대신 global 변수는 유지됨
자식 프로세스가 동작할 동안에는 부모 프로세스는 sleep, 자식 프로세스가 죽었을 때에는 wakeup됨
스크립트 맨 끝에 자동적으로 exit 호출(자신이 사용했었던 메모리 공간을 OS쪽으로 반납, release)
그 후 부모 prompt 뜸


자식 쉘(sub쉘)에서 s.sh를 실행한 후 종료하기 때문에 부모 쉘에서 myN 변수, 자식 쉘의 지역변수를 확인할 수 없음
부모 쉘에서 실행 후에는 지역변수를 확인 가능
chsh를 통해 쉘을 변경 가능
현재 쉘에서 로컬 변수 설정
set : 로컬 변수, 글로벌 변수 확인 가능
env : 글로벌 변수 확인 가능
부모 쉘에서 글로벌변수 선언 후 자식 쉘에서 확인 가능
자식 쉘에서 설정한 글로벌변수는 부모 쉘에 영향을 미치지 않음

$$ = 현재 쉘의 PID



noclobber 활성화 : overwrite 방지
noclobber을 무시하고 강제로 overwrite

+를 사용해 noclobber off
계산기 기호 (( )) 정수만 가능, 실수 연산 시 error
우선순위는 일반 산수 연산과 같음(괄호 우선, */%, +-)


