이번 시간에는 리눅스에서 명령어를 사용할 때 알아야 할 규칙을 공부해 봅시다
명령어, 전달 인자, 옵션 이렇게 3가지만 기억해 봅시다
명령어 (Command)란?
지난 게시글에서 소개한 id, ifconfig, clear 등이 명령어로 볼 수 있습니다 컴퓨터에게 특정 동작을 하고 싶을 때 특정 동작에 대한 명령어를 입력해 주면 됩니다 이런 명령어들은 하나의 프로그램으로 볼 수 있습니다
which id라는 명령어를 입력해 보세요 which라는 명령어는 현재 id 명령어의 실제 프로그램 위치를 확인할 수 있습니다
id 프로그램은 사진과 같이 /user 디렉터리 안에 bin 디렉터리가 있는데 거기에 id라는 프로그램이 있다는 겁니다
그래서 id라는 명령어를 입력해도 되지만, 이 경로를 입력해도 동일한 결과를 확인할 수 있습니다
이렇게 명령어는 어떤 프로그램을 실행시킨 결과입니다
전달 인자 (Argument)
which 명령어를 사용할 때 이 명령어는 뒤에 id라는 데이터를 함께 입력해야 합니다 정상적으로 명령어가 실행되려면 전달받은 데이터가 꼭 필요합니다 이거를 전달 인자(Argument)라고 합니다 즉 which 명령어에 전달 인자는 id입니다
전달 인자를 사용할 때는 명령어 뒤에 공백(띄어쓰기) 기준으로 데이터를 입력해야 합니다
[예시]
cp ~/musa /tmp/musa
명령어: cp
첫 번째 인자 : ~/musa
두 번재 인자 : /tmp/musa
추가로 전달 인자의 경우 쓰는 순서도 중요합니다!
옵션 (Option)
명령어를 사용할 때 전달 인자가 필요한 경우와 필요 없는 경우가 있습니다 그리고 옵션을 지정해서 명령어에 동작 기능을 변경할 수 있습니다 하지만 이 옵션은 각각의 명령어마다 지원하는 옵션이 다릅니다
기본적으로 옵션은 -(하이픈) 기호와 함께 사용합니다
[예시]
ping -c 3 8.8.8.8
명령어 : ping
전달 인자 : 8.8.8.8
옵션 : -c 3
예시에 나온 명령어는 특정 ip 주소에 데이터를 테스트로 날려보는 명령어입니다 8.8.8.8은 구글 DNS 서버 IP 주소입니다 구글 DNS 서버에 데이터가 잘 도착하는지 테스트해 보기 위해 이용했습니다
DNS(Domain Name System) 이름과 숫자 간의 데이터 복사/변환을 관리하여 마치 전화번호부와 같은 기능을 합니다
DNS 서버는 이름을 IP 주소로 변환하여 도메인 이름을 웹 페이지에 입력할 때 어떤 서버에 연결할 것인지 제어해 줄 수 있습니다
예시에 나온 명령어에서 옵션만 빼고 ping 8.8.8.8을 입력하게 된다면 리눅스가 종료될 때까지 계속 구글 DNS 서버에 데이터를 보낼 겁니다
(중지 단축키 : Ctrl+ C)를 이용하면 강제 종료할 수 있습니다
여기서 -c 옵션은 count 옵션으로 특정 횟수만 전송되게 할 수 있습니다 -c 3으로 옵션을 지정했기 때문에 3번만 데이터를 날려 보냅니다. 전달 인자는 쓰는 순서가 중요하지만, 옵션은 순서가 필요 없습니다
ping 8.8.8.8 -c 3 이렇게 맨 뒤에 입력해도 똑같은 결과가 나옵니다
명령어와 전달인자, 옵션 정리
[명령어] [전달 인자] [옵션] or [명령어] [옵션] [전달 인자] 식으로 사용할 수 있습니다
전달 인자와 옵션은 명령어에 따라 개수도 다르고 넘겨받는 데이터도 달라집니다 그래서 각각의 명령어를 사용할 때 그 명령어에 대한 전달 인자와 옵션을 숙지하고 있어야 합니다
Tip: 사용하려는 명령어 뒤에 -h 옵션을 붙여서 실행하면 이 명령어를 사용하는 방법(전달 인자 데이터 값)과 옵션이 어떤 게 있는지 알 수 있습니다
다음 시간에는 디렉터리에 대해 공부해 봅시다
[ 참고 사이트 ]