이것도 42 서울에서 깃과 리눅스, C를 공부해야한다고 해서 이번에 정리를 하면서 공부를 해보려고 한다..
찾아보니까 생각이상으로 이해하고 잘 응용할 줄 알아야만 합격이네..
그렇다고 너무 미래를 걱정하지 말고
자기계발론에 나온 '일단 오늘을 살아라' 라는 말처럼 지금 내 앞에 충실하자!!
shell => 사용자 명령어 해석기라고 생각하자!!
사용자가 프롬프트에 입력한 명령어를 해석해서 운영체제(여기선 커널)에 전달!
shell의 종류!
내 컴퓨터에서 사용가능한 shell이 무엇인지 알고 싶다면
cat /etc/shells
현재 사용하는 shell
$ echo $SHELL
변수는 기본적으로 데이터를 넣는 그릇인데, 여기서 어플리케이션에 영향을 주는 변수인지 아닌지로
일반변수와 환경변수로 나눠진다!
score=90
echo $score 이렇게 하면 90이 나온다!
set-> 현재 들어있는 모든 변수(환경변수 포함) 다 나옴!
unset score -> 이 변수가 삭제된다!
set | grep name -> name이라는 이름의 변수를 찾는다!
export로 선언시 어플리케이션에 영향을 줄 수 있음!
동작되는 프로그램에게 영향을 주는 변수
export NAME=lee
echo $NAME =>
env -> 시스템에 들어있는 환경변수 확인!
대표적인 환경변수들
PATH (명령어가 어느 디렉토리에 있는지 찾아서 보여줌!)
SHELL(로그인 쉘 ) HOME(홈 경로), USER(로그인 사용자 이름)
Meta Cahracters -> shell에서 특별한 의미를 정해놓은 문자들 ex)? & * % 등등
touch myFile{1..3} -> 1,2,3파일을 만듬!
이때 저런 메타문자의 의미를 없애고 그냥 단순 문자로 변경하고 싶을때 Quoting Rule을 사용한다!
Backslash() -> 바로 뒤 메타 문자 특별 의미를 제거
touch *** -> ***이름의 파일로 만들어짐!!
Double Quotes() -> $, ‘’은 제외하고 메타 문자 의미 제거!
touch “This is a file” -> 띄어쓰기 포함해서 파일 이름이 만들어짐!
Single Quotes() ->
echo ‘Today is date’ -> 그대로 나옴!
echo “Today is $(date)”-> 이러면 $()안에 내용이 명령어로 있으면 실행!
echo “today isdate
” ->이것도 가능!
date +%Y%m%d -> 20210511
touch report-$(date +%Y%m%d)_v1 하면 날짜 들어간 파일이 만들어짐!
alias name=‘command’
alias or alias name -> 별명들 보기 혹은 구체적 별명보기
unalias name -> 삭제
alias c=clear 하면 c눌렀을때 터미널이 clear됨!
alias rm=rm -i 가 실행되게 해버리면 파일 삭제때 물어봐줌!