- 화면 출력을 담당
- 문자열 사이에 공백문자가 하나 이상이라면 " "또는 ' '사이에 내용이 들어가야 함
- " "가 없다면 여러개의 공백문자도 하나의 공백문자로 취급
- echo -e 또는 echo $ 명령어를 이용하여 문자열 내에 '\n\'(줄바꿈)와 같은 제어 문자를 사용할 수 있음
- echo -n 명령어를 이용하면 터미널상에서 줄바꿈이 안됨
- echo * 명령어를 통해 현재 경로에 있는 파일 목록을 볼 수 있음
- substring 작업시 유익함
- 명령어는 뒤에 옵션을 가지고 있을 수 있음
- 또한 옵션 뒤에는 전달인자를 가지고 있을 수 있음
- 명령어, 옵션, 전달인자는 공백문자로 구별 됨
- touch 명령어를 통해 전달인자에 해당하는 파일이 없다면 빈 파일을 생성해주고, 파일이 존재한다면 현재 시간으로 파일의 수정 시각을 업데이트 해줌
- ' 는 glob(전역)를 의미함, 예를 들면 rm 로 해당 디렉토리 파일 전체 삭제 가능
- 전달인자로 공백문자가 포함된 어떠한 것을 사용하기 위해서는 인용문 표기를 사용해야 함.
- 전달인자는 공백문자로 구분되기 때문
- 리눅스 쉘에서 '[ ]' 기호는 테스트 한다 라는 뜻을 가짐
- '[ ]'안의 내용이 참인지 거짓인지 판별함
- '[ ]' 기호도 하나의 명령어기 때문에 안의 내용과 공백문자로 구분을 해주어야 함
- wc 명령어는 지정한 파일의 여러 요소들을 확인 할 수 있음
- tail을 통해 파일의 뒤쪽 내용들을 출력해줌
- tail -n 10 num200: num200 파일의 뒤 10줄을 출력
- tail -n +10 num200: num200 파일의 10번째 줄부터 마지막 줄까지 출력
- tail -n +101 num200 | head -n 10 : num200 파일의 101번째 줄부터 마지막 줄까지의 출력 내용 중 위의 10줄만 출력
- tail -f /var/log/syslog 처럼 -f 옵션을 통해 로그 등을 실시간으로 출력할 수 있음
- alias 명령어를 통해 원하는 명령어를 단축키처럼 설정 할 수 있음
- alias mkdir="mkdir -p": mkdir이란 명령어를 mkdir -p 라는 명령어의 단축키로 지정
- alias 는 전달인자를 넘겨주지 못하므로, 단축키의 생성에 제한이 있음
- 함수(function)를 통해 이러한 문제를 해결
- function mm() { minicom -w -D/dev/ttyS${1}; }: 단축 지정된 명령어 mm 의 첫번째 전달인자를 ${1} 부분에 대입(2이면 두번째 전달인자)
- alias 는 스크립트 파일 내부에서 사용이 불가능하지만 function 은 가능
- pushd 명령어를 통해 지정한 경로를 스택에 저장 할 수 있음
- pushd . : 스택에 '.' 경로를 push
- popd 명령어를 통해 스택에 저장해둔 경로로 이동 가능, 스택에서 pop 을 하기 때문에 한번 사용시 스택에서 삭제
- cd - 명령어를 통해 이전 경로로 이동 가능
- printf 명령어로 echo 명령어와는 다르게 형식화된 출력 가능
- printf "%05d\n" 1: 전달인자 1을 5자리 숫자형식으로 출력 후 줄바꿈
- printf -v (변수명) (저장할 내용) 을 통해 화면 출력대신 변수를 만들 수 있음
- name=michael; printf -v legend "%s jackson" $name; echo $legend: name이란 변수에 michael을 저장, legend란 변수를 생성하고, %s 부분에 name 변수값을 넣어 michael jackson을 저장, legend 를 출력
- '$' 는 변수의 참조를 의미함
- read 명령어를 통해 사용자 입력을 받아올 수 있음
- read num (Enter) 12345(사용자 입력 후 Enter), echo $num: num이란 변수에 사용자 입력값인 12345를 저장하고, num 변수를 화면에 출력
- read -p "what is your phone number " v: "What is your phone number" 를 출력하고 그다음에 사용자 입력을 v라는 변수에 저장
- read -s -n 1 -t 3 -p "Are you over 16? " v: "Are you over 16? "를 출력하고 -s 옵션으로 사용자 입력이 화면에 보이지 않으며 -t 3 옵션으로 3초간 사용자 입력이 없으면 종료됨, -n 1 옵션으로 한글자만 입력되면 입력이 종료되며,변수 v에 저장.
- 쉘에서 사용하는 반복문
- no=1; while ((no<10)); do printf "%02d\n" $no; ((no++)); done: no 변수를 선언해서 1을 대입,while: no 변수가 10이하일때까지 반복, do: 두자리의 정수로 no 출력, no 1씩 증가, done: 반복문 종료, 각 조건들은 '; '로 구분
- 일단 실행파일을 실행하기 위해서는 실행권한이 있어야 함, chmod 명령어 사용
- ./(실행파일 이름) 을 통해 현재 경로에 있는 실행 파일 실행 가능.
- 기존 실행 파일들이 존재하는 경로(ex ./usr/bin)에 복사하여 이용하면 실행파일 이름 입력으로만 실행 가능
- 실행파일의 전체 경로 입력으로 실행 가능
- 실행파일의 경로를 환경 변수에 추가하기, PATH=$PATH:(실행파일 경로), 실행파일 이름 입력만으로 실행 가능