본문 바로가기
데이터 관련/Linux(Ubuntu)

[리눅스] 1.5 명령어와 친해지기

by 준쓰_ 2023. 12. 31.

서론

이번 장에서 다룰 명령어는 아래와 같다.

- type : 명령어의 이름이 어떻게 표시되는지 확인
- which : 실행 프로그램의 위치 표시
- man : 명령어의 man 페이지 표시
- apropos : 적합한 명령어 리스트 표시
- info : 명령어 정보 표시
- whatis : 명령어에 대한 짧은 설명 표시

 

 

명령어란 구체적으로 무엇인가?

명령어는 다음 네 가지 중 하나일 것이다.

  • 명령어란 /usr/bin/ 디렉토리에서 본 파일들처럼 실행 프로그램을 말한다. 이러한 범주에서 프로그램 C나 C++ 언어로 작성된 프로그램처럼 컴파일된 바이너리 형식의 파일이거나 Shell, Perl, Python, Ruby와 같은 스크립트 언어로 만든 프로그램일 수 있다.
  • 명령어란 쉘에 내장되어 있는 명령어다. bash는 쉘-빌트인 이라고 하는 다수의 명령어를 내부적으로 지원한다. cd 명령어가 그런 예이다.
  • 명령어란 쉘 함수다. 쉘 함수란 시스템 환경에 포함된 쉘 스크립트의 미니어처 같은 존재다. 
  • 명령어란 별칭이다. 다른 명령어로부터 우리만의 명령어를 새롭게 정의할 수 있다.

 

명령어 확인

명령어의 네 가지 정의 중 어떠한 종류의 명령어인지 알아두는 것은 종종 유용하다. 리눅스에서는 이를 확인하기 위해 여러 방법을 지원하고 있다.

 

type - 명령어 타입 표시

type 명령어는 쉘에 내장된 형식으로 명령어 이름을 입력하면 쉘이 실행하게 될 명령어가 어떤 타입인지 보여준다.

type command

 

command 인자는 확인하고픈 명령어의 이름을 입력하는 부분이다.

 

 

which - 실행 파일의 위치 표시

실행할 프로그램의 정확한 위치를 파악하기 위해 다음과 같이 which 명령어를 사용한다.

which 명령어는 오직 실행 프로그램만을 대상으로 한다. 실행 프로그램을 대신하는 그 어떤 빌트인이나 별칭에는 동작하지 않는다. 쉘 빌트인 (ex. cd)에 which 명령어를 사용하면 아무런 응답을 못 받거나 오류 메시지를 보게 된다.

 

 

명령어 도움말 보기

명령어가 무엇인지에 대한 이해를 통해 각 명령어마다 가지고 있는 도움말을 검색할 수 있다.

 

help - 쉘 빌트인 도움말 보기

bash에는 각 쉘 빌트인마다 내장된 도움말 기능이 있다. 이 도움말을 확인하려면 다음과 같이 help를 쉘 내장 명령어 이름 앞에 입력하면 된다.

 

 

--help - 사용법 표시

많은 실행 프로그램들이 명령어 문법과 옵션에 대한 설명을 보여주는 --help 옵션을 지원한다.

 

 

man - 프로그램 매뉴얼 페이지 표시

커맨드라인용 실행 프로그램 대부분은 매뉴얼 또는 man 페이지라고 불리는 공식적인 프로그램 설명서를 제공한다. 특별한 페이징 프로그램인 man은 매뉴얼 페이지를 볼 때 사용하는 명령어로 다음과 같이 사용한다.  program 위치에 명령어의 이름을 입력한다.

man program

 

man 페이지는 보기 형식이 다소 다양한 편이지만 일반적으로 제목, 명령어 문법 개요, 명령어 사용 목적, 그리고 명령어 옵션에 대한 설명 정도가 들어있다. 하지만 man 페이지에는 대개 명령어 사용 예제가 나와있지 않다.

섹션 내용
1 사용자 명령어
2 커널 시스템 콜 API
3 C 라이브러리 API
4 장치 노드 및 드라이버와 같은 특수 파일
5 파일 포맷
6 스크린세이버와 같은 게임이나 미디어 파일
7 그 외 여러 류
8 시스템 관리용 명령어

 

 

apropos - 적합한 명령어 찾기

검색어에 따라 일치하는 명령어의 man 페이지 목록을 검색하는 명령어가 있다. 비록 대략적인 정보만 보여주지만 가끔은 도움이 된다. man 명령어를 -k 옵션과 함께 사용하면 apropos 명령어와 동일한 기능을 한다.

 

whatis - 간략한 명령어 정보 표시

whatis 프로그램은 특정 키워드에 부합하는 man 페이지에 대하여 그 이름과 한 줄의 간략한 정보를 보여준다.

 

info - 프로그램 정보 표시

GNU 프로젝트는 info 페이지 라는 man 페이지의 대안을 제공한다. info 페이지는 info 라는 읽기 프로그램으로 볼 수 있다. info 페이지는 웹 페이지처럼 하이퍼링크로 되어 있다.

info info 입력 시 출력되는 화면

이 파일은 개별 노드마다 트리 구조화되어 있고 각각 개별 주제를 포함하고 있다. info 파일에는 노드 간에 이동할 수 있는 하이퍼링크를 제공한다. 하이퍼링크는 * 기호로 시작하는 것을 보고 구별할 수 있고, 하이퍼링크에 커서를 두고 Enter 키를 입력하면 바로 활성화 된다.

명령어 실행
? 명령어 도움말 보기
PAGE UP / Backspace 이전 페이지 보기
PAGE DOWN / Spacebar 다음 페이지 보기
n 다음 - 다음 노드 보기
p 이전 - 이전 노드 보기
u 위로 - 현재 표시된 노드의 상위 노드(주로 메뉴) 보기
ENTER 현재 커서 위치에 있는 하이퍼링크로 이동하기
q 종료하기

 

 

README 및 기타 프로그램 문서 파일들

사용자 컴퓨터에 설치된 대부분의 소프트웨어 패키지들은 문서 파일을 가지고 있는데 이는 /usr/share/doc 디렉토리 내에 존재한다. 대부분은 일반적인 텍스트 파일 형식으로 저장되고 less 명령어로 볼 수 있다. 일부 파일들은 HTML 포맷으로 되어 있어 웹 브라우저를 통해서도 확인 가능하다. .gz 확장자를 사용한 파일들은 gzip 압축 프로그램으로 압축된 파일임을 나타낸다.