Hayden's Archive
[Linux] 리눅스 기본 3- 셸 명령 본문
간단한 명령
- date 명령 : 현재 요일과 날짜 및 시간을 보여줌
- pwd 명령 : 현재 작업 디렉터리를 보여줌
- 대략 셀 명령의 형식은 다음과 같음. 명령어(command)에 따라 옵션(options)이나 인수(argument)가 필수적일 수도, 선택적일 수도 있음.
command options arguments
명령의 옵션과 인수
명령의 옵션
- 가장 자주 사용되는 옵션 형태 : '유닉스 스타일'로 알려진 '짧은 옵션'.
- -a와 같이 1개의 문자를 대시(-) 문자 뒤에 붙여 사용(대소문자 구분).
- 여러 옵션을 사용할 때는 여러 옵션을 개별적으로 나열할 수도 있고 대시(-) 뒤에 모두 붙여 사용할 수도 있음.
- 아래는 같은 기능을 수행함.
$ ls -lat
$ ls -l -a -t
- 'GNU 스타일'로 알려진 '긴 옵션'의 형태.
- 옵션을 표시할 때 이중 대시(—) 뒤에 단어를 붙여 사용
$ ls --directory
$ ls --help
-
단일 대시(-)로 ls -help를 수행하면 4개의 옵션(-h, -e, -l, -p)를 각각 적용한 것이 됨
(참고 : 실제 ls 명령에는 -e 옵션이 없음)
-
'BSD 스타일' 옵션 : 대시(-)를 사용하지 않는 옵션
명령의 인수
- 인수는 파일 이름, 디렉터리 , 사용자 계정, 디바이스 등으로 나타남
- 명령 행의 마지막 위치에 '명령어의 인수'를 둘 수 있음.
$ cat /etc/passwd
-
옵션을 지정할 때 '옵션의 인수'를 포함할 수 있음.
-
짧은 옵션은 공백 다음에 인수를 위치시킴
(아래는 로그인 셸을 바꾸는 명령)
$ chsh -s /bin/tcsh -
긴 옵션은 공백 없이 바로 등호(=)와 인수를 붙여서 지정
$ ls -l --sort=time
-
-
옵션 없이 2개의 인수를 사용한 예 (공백이 포함되어 있는 경우 하나의 인수로 다루려면 인용 부호 "" 또는 ''를 사용하여 묶어줘야 함)
-
echo 명령 : 주어진 문자열 인수를 화면에 출력하는 명령
-
아래는 환경 변수 $PATH의 값을 보여줌
-
경로와 경로는 콜론(:)으로 구분됨.
-
셸이 명령 수행을 위해 실행 프로그램을 찾을 때 '현재 작업 디렉터리(.)'를 자동으로 검색하지는 않음.
-
~는 현재 작업 중인 사용자의 홈 디렉터리를 의미함.
-
/home/yeony/scriptx.sh 또는 ~/scriptx.sh
명령의 종류
- 명령의 종류
에일리어스 | alias 명령을 사용하여 특정 명령을 옵션과 함께 짧은 별칭으로 정의해 둘 수 있음 |
셸 예약어 | 셸에서 예약된 단어로, 셸 스크립트 작성 시 사용되는 do, while, case, else 등 |
함수 | 셸에서 수행될 수 있는 일련의 명령을 함수로 정의한 것 |
내장 명령 | 셸 내부에 만들어져 있는 명령으로 cd, echo, pwd 등이 이것에 해당함. man builtin 을 실행해 보면 내장 명령의 사용법을 확인할 수 있음. |
일반 명령 | 파일 시스템에 실행 파일로 존재하는 명령 |
단축 명령 만들기: alias
-
자주 사용되는 명령의 별칭을 만드는 것. 빠르고 효율적인 단축 명령을 만들기 위함.
-
예시
-
ls -A를 대신하여 la라는 짧은 명령을 수행
$ alias la='ls -A' -
rm 명령의 에일리어스 설정이 되어 있지 않은 상태에서 실수로 rm *를 수행한다면 디렉터리에 있는 모든 파일이 삭제됨. 하지만 아래와 같이 에일리어스 설정이 되어 있으면 -i 옵션이 적용되어 삭제 전에 확인 과정을 거침.
$ alias rm='rm -i'
-
-
단축 명령 해제하기
$ unalias rm -
나중에 로그인할 때도 계속 에일리어스 설정을 유지하려면 셸의 환경 설정 파일에 기록해두어야 함.
명령의 해석 방법 알기 : type
- 특정 명령을 어떻게 해석하는지 알기 위해 type 명령을 사용할 수 있음.
- 일반 명령일 경우 : 실행 파일의 위치를 보여줌
- 여러 유형으로 명령이 존재할 경우 : -a 옵션을 사용하면 모든 사항 확인 가능.
실행 프로그램 찾기 : which
- 명령이 실행되는 경우 사용자의 PATH 환경 변수를 기초로 상응하는 실행 프로그램이 어느 디렉터리에 존재하는지 찾아서 절대경로 방식으로 출력
실행 프로그램 확인 : whereis
- 찾고자 하는 명령을 whereis 명령의 인수로 지정하여 실행하면 명령의 실행 프로그램이 어디에 있는지 찾아서 알려줌
- which 명령과 차이점 : whereis 명령은 소스와 매뉴얼 페이지가 존재하는 경우 해당 파일도 찾아 출력해줌
온라인 매뉴얼 페이지 보기 : man
-
매뉴얼 페이지를 볼 수 있으며 각종 프로그램의 사용법을 자세히 확인 가능
$ man whereis
-
실행 결과를 종료하려면 q 입력
-
WHEREIS(1) 에서 숫자 1은 매뉴얼 페이지를 분류하기 위한 '섹션 번호'
-
man 명령을 사용할 때 특정 섹션에 존재하는 매뉴얼 페이지를 보려면 섹션 번호를 인수로 제공해야 함
$ man 5 passwd
$ man 3 printf
-
매뉴얼 페이지의 섹션 분류
- 명령어의 형식이나 옵션의 의미를 간단히 확인하려면 대부분의 명령어가 제공하는 —help 옵션을 사용하는 게 좋음.
$ man mkdir
$ mkdir --help