type
status
date
slug
summary
tags
category
icon
password
정의
쉘(Shell)은 사용자와 컴퓨터 운영 체제 간의 인터페이스를 제공하는 프로그램입니다. 사용자는 쉘을 통해 명령어를 입력하고, 커널이 이를 해석하여 하드웨어에게 명령을 하달합니다.
왜 쓰나요?
반복되는 작업을 자동화(cron)하기 위해 스크립트를 짭니다.
스크립트 언어이기 때문에 컴파일 언어와 다릅니다.
구분 | 스크립트 언어 | 컴파일 언어 |
실행 방식 | 인터프리터에 의해 한 줄씩 실행 | 컴파일러에 의해 전체 프로그램을 번역 후 실행 |
실행 속도 | 비교적 느림 | 비교적 빠름 |
디버깅 | 실행 중에 디버깅 가능 | 컴파일 단계에서 디버깅 가능 |
개발 편의성 | 코드 수정 후 즉시 실행 가능 | 코드 수정 후 다시 컴파일 필요 |
예시 | Python, JavaScript, Bash | C, C++, Java |
관계는 다음과 같습니다.
메타문자
경로 이름 메타문자
틸드(~)
틸드(~)는 사용자의 홈 디렉토리를 나타내는 데 사용됩니다. 예를 들어,
cd ~
명령어를 입력하면 현재 사용자의 홈 디렉토리로 이동합니다.대시(-)
대시(-)는 종종 옵션이나 플래그를 지정하는 데 사용됩니다. 예를 들어,
ls -a
명령어는 숨김 파일을 포함한 모든 파일을 나열합니다.파일 이름 대체 메타문자
별(*)
별(*)은 와일드카드 문자로, 파일 또는 디렉토리 이름의 0개 이상의 문자를 대체하는 데 사용됩니다. 예를 들어,
ls *.txt
명령어는 확장자가 .txt인 모든 파일을 나열합니다.물음표(?)
물음표(?)는 와일드카드 문자로, 파일 또는 디렉토리 이름의 단일 문자를 대체하는 데 사용됩니다. 예를 들어,
ls file?.txt
명령어는 file1.txt, fileA.txt와 같이 file 다음에 한 글자가 오는 모든 파일을 나열합니다.대괄호([])
대괄호([])는 와일드카드 문자로, 대괄호 안에 지정된 문자 중 하나와 일치하는 파일이나 디렉토리를 찾는 데 사용됩니다. 예를 들어,
ls file[1-3].txt
명령어는 file1.txt, file2.txt, file3.txt 파일을 나열합니다.인용부호 메타문자
홑 따옴표(')
홑 따옴표(')는 따옴표 안에 있는 모든 문자를 그대로 문자열로 처리하는 데 사용됩니다.
이중 따옴표(””)
이중 따옴표(" ")는 변수의 값을 확장하는 데 사용됩니다.
예를 들어,
echo "$USER"
명령어는 사용자 이름을 출력합니다.역 홑 따옴표(``)
역 홑 따옴표(``)는 명령어를 실행하고 그 결과를 문자열로 반환하는 데 사용됩니다.
예를 들어,
echo "오늘 날짜는 \\
date\ 입니다"
명령어는 현재 날짜를 출력합니다.방향재지정 메타문자
출력 방향 재지정(>)
출력 방향 재지정(>)는 명령어의 출력을 파일로 저장하는 데 사용됩니다.
예를 들어,
echo "Hello, World!" > hello.txt
명령어는 "Hello, World!" 문자열을 hello.txt 파일에 저장합니다.기타 스크립트 사용 방법입니다.