2020. 7. 27. 14:14ㆍ리눅스
리눅스에서 실행하는 명령어
1. 파일 (executeable) 실행파일.
실행가능한 프로그램을 담은 파일
ls -> 컴파일러가 생성한 바이너리 명령들로 구성
1-1. 스크립트 파일 : 사람이 읽을 수 있는 텍스트파일.
2. 내장명령 (Built-in)
: 쉘에서 자체적으로 제공하는 명령
예> pwd
장점: 빠르고 효율적
파일시스템에 파일이 없다.(파일로 존재하지 않음)
3. 키워드 (Keyword)
명령처럼 보이지만 쉘 스크립트의 일부이다.
파일도 아니고, 내장 명령도 아닌 것
예> if
위의 종류를 구분하는 명령어 -> type, compgen
compgen -c : 명령어가 나열
b: 내장 명령어 나열
k: 키워드 나열
process : 실행중인 프로그램
1. standard input = stdin 표준 입력 0
2. standard output = stdout 표준 출력 1
3. standard err = stderr 표준 오류 2
ex)
test.sh <data.in> results.out /// Redirection : 방향 변경
test.sh <data.in &> results.out 표준출력과 표준오류를 같이 제어
test.sh <data.in 0> results.out 표준 입력
test.sh <data.in 1> results.out 표준 출력
test.sh <data.in 2> results.out 표준 오류
리눅스-> echo 명령어 多
변수(Variable)
영어 또는 언더바로 시작하고, 그 뒤에 임의의 개수의 문자나 숫자를 사용 할 수 있다.
타입을 지정하지 않으면 기본값으로 문자열변수로 사용된다.
변수에 값을 지정할 때는 = 기호를 사용한다
ex> MYVAR=textforavalue
변수값을 조회 할 때는 변수명 앞에 $ 기호를 붙인다.
공백을 포함한 문자열을 변수에 지정하려면 작은따옴표‘’ (큰따옴표“”)를 사용
secondv= ‘ this is just the $firstvar’
firstvar=beginning à공백이 없으므로 ‘’ “” 사용하지 않았음
# secondv=’ this is just the $firstvar’
# echo $secondv
this is just the $firstvar
‘’-> 특수 기능을 제거함
“”로 해야함
secondv=“ this is just the $firstvar”
# echo $secondv
this is just the beginning
$( )를 이용하여 하나의 명령의 출력을 변수에 지정할 수 있다.
예> CMDOUT=$(pwd)
| (파이프) 기호를 사용하여 여러 개의 명령을 연결 할 수 있다.
실습:
#!/bin/bash -
#
# Shell Scripts
# filename : echoparams.sh
#
# 설명:
# bash에서 명령줄 매개변수들에 접근하는 법을 보여준다.
#
# 사용법:
# ./echoparams.sh <매개변수1> <매개변수2> <매개변수3>
#
echo $#
echo $1
echo $2
echo $3
echo $# 매개변수 개수
echo $0 스크립트 파일명
echo $1 첫번째 매개변수
echo $2 두번째 매개변수
echo $3 세번째 매개변수
입력
bash는 read명령을 이용해서 사용자의 입력을 받는다.
read 명령은 사용자가 표준입력에 입력한 내용을 가져와서 인수로 지정된 변수에 저장한다.
조건분기
if 명령
then
다른 명령
else
또 다른 명령
fi
gedit test.sh
path -> ./ 지울 수 있음
wc-> line, word, byte 수를 셈
파일 판정 연산자
-d 주어진 디렉터리가 있는지 확인
-e 주어진 파일이 있는지 확인
-r 주어진 파일이 존재하며, 읽을 수 있는지 확인
-w 주어진 파일이 존재하며, 쓸 수 있는지 확인
-x 주어진 파일이 존재하며, 실행할 수 있는지 확인
수치판정 연산자
-eq 두 수가 같은지 판정
-gt 지정한 앞의 수가 뒤의 수보다 큰지 판정
-lt 앞의 수가 뒤의 수보다 작은지 판정
VAL < 12
숫자가 먼저라 NO( FALSE) 가 나옴
'리눅스' 카테고리의 다른 글
리눅스 각 기본 계정(시스템 계정 별 설명) (0) | 2021.02.09 |
---|---|
docker (도커) 폴더 연동 (0) | 2020.07.27 |
dd 백업 (0) | 2020.07.27 |
로그명령어 실행 반응 (0) | 2020.07.12 |
실행파일, 내장명령, 키워드 (0) | 2020.07.12 |