1. shell

kim_memo·2021년 1월 31일
0

CS

목록 보기
1/1

Shell

컴퓨터가 제공하는 도구를 최대한 활용하려면 구식 방식인 텍스트 인터페이스를 사용해야 합니다. 그것이 바로 셸(shell) 입니다. 당신이 접근 가능한 플랫폼에는 한 형태로 셸이 있고, 그 중 다수의 플랫폼에는 선택적일 수 있는 몇 개의 셸이 있습니다. 세부 사항이 다양할 수 있지만, 핵심은 거의 동일합니다. 프로그램을 실행하고 입력을 제공하며 반 구조화된 방식으로 출력을 검사할 수 있습니다.

bash라고 불리는 셸로 수업을 진행합니다. 가장 널리 사용되고 있는 셸 중 하나이며, 구문은 다른 많은 셸에서 볼 수 있는 것과 유사합니다. 셸 프롬프트(prompt)(명령을 입력할 수 있는 곳)를 열려면 먼저 터미널(terminal)이 필요합니다.

사용 방법

터미널을 키게 되면 다음과 같은 프롬프트(prompt)를 볼 수 있습니다.

missing: ~$
  1. missing이라는 기계에 있다.
  2. 현재 작업의 디렉토리 또는 현재 자신이 어디에 있는지, 또는 ~(홈 디렉토리)를 표시.
  3. $는 당신이 루트 사용자가 아니라는 것을 알려줍니다.
missing:~$ echo hello

echo라는 프로그램을 hello라는 인자와 호출하도록 명령한 것입니다. echo 프로그램은 단순하게 인자를 출력합니다. 셸은 명령을 띄어쓰기로 분할하여 첫 번째 단어로 표시된 프로그램을 실행하고, 각 후속 단어를 프로그램이 액세스할 수 있는 인수로 제공합니다. 만약에 띄어쓰기나 특수문자를 인자에 포함시키고 싶다면 '나 "로 둘러싸거나(ex: "my patats"), 혹은 띄어쓰기 앞에 \를 넣어 표기할 수 있습니다 (My\patats)

어떻게 셸이 date나 echo 프로그램을 찾을 수 있을까요? 셸은 파이썬이나 루비처럼 프로그래밍 환경이고, 그래서 변수, 조건부, 루프, 함수를 가지고 있습니다. 셸에서 명령을 실행한다는 것은, 실제로는 셀 인터프리터에다가 짧은 코드를 작성하는 것이라고 볼 수 있습니다. 셀이 명령을 실행하도록 요청되면 명령을 받을 때 프로그램을 검색해야하는 디렉토리를 나열하는 $PATH라는 환경 변수에 접근합니다.

missing:~$ echo $PATH

echo 명령을 실행하면 셸은 echo라는 프로그램을 찾아서 실행해야한다는 것을 보고, $PATH의 :로 분리된 디렉토리 목록을 검색합니다. 만약 발견하고 실행가능하다면 실행합니다. which프로그램을 사용하여 주어진 프로그램 이름에 대해 실행되는 파일을 찾을 수 있습니다. 또한 우리가 실행하고자 하는 파일에 대한 경로를 제공함으로써 $PATH를 완전히 우회할 수 있습니다.

셸에서 이동하기

/ : 파일 시스템의 루트(root). /로 시작하는 경로들을 절대(absolute) 경로라고 부릅니다.

다른 경로들은 상대경로(relative)라 부릅니다. 상대 경로는 최근 작업 디렉토리에 상대적입니다. 최근 작업 디렉토리는 pwd로 볼 수 있고, cd로 디렉토리를 이동할 수도 있습니다. 경로 표시에서 .는 현재 디렉토리, ..는 상위 디렉토리(parent director)를 뜻합니다.

우리의 셀이 현재 작업 디렉토리가 어디인지 알려준다는 것을 명심하세요. 당신은 여러 종류의 유용한 정보를 보여주는 당신만의 프롬프트를 구성할 수 있습니다.

기본적으로 프로그램을 실행하면 현재 디렉토리에서 작동합니다. 예를 들어, 일반적으로 어디선가 파일을 검색한 후에 파일을 만들면, 그 장소에 파일이 만들어집니다.

주어진 디렉토리에 어떤 것들이 있는지 보기 위해서는 ls라는 명령을 사용합니다. 대부분 명령은 행동을 수정하기 위해 시작되는 플래그와 옵션을 쓸 수 있습니다. 보통 -h 또는 -help 플래그는 사용 가능한 플래그와 옵션을 알려 주는 도움말 텍스트를 인쇄합니다. 예를 들어, ls --help는 우리에게 다음과 같은 의미가 있습니다.

이것은 각 파일이나 디렉토리 현재에 대한 더 많은 정보를 제공합니다. 시작부분에 있는 d는 missing이 디렉토리임을 나타냅니다. 그런 다음 세 개의 문자(rwx)의 세 그룹이 따라옵니다. 이들은 파일 소유자 (jungeun-p), 소유 그룹(staff), 다른 모든 사람들이 관련 항목에 대해 각각 권환을 가지고 있는지를 나타냅니다. -는 그 자리의 권한이 없다는 것을 의미합니다.

profile
archive of study

0개의 댓글