셸 변수: 현재 셸에서만 사용 가능. 서브 셸로 전달되지 않음. (지역 변수) 환경 변수: 현재 셸과 서브 셸에서 사용 가능. (전역 변수) 변수 출력하기 set: 셸 변수와 환경 변수 모두 출력 env: 환경 변수만 출력 echo $변수명: 해당 변수의 값을 출력 변수 정의하기/설정하기 - 셸 변수 : 변수명=문자열 ('=' 앞뒤로 공백이 있으면 안됨) ex) SOME=test 실행 후 echo $SOME 의 결과는 test - 환경 변수 : export [옵션] [셸 변수] (셸 변수를 먼저 설정 후 export 명령을 통해 환경 변수로 변경) ex) export SOME export SOME=test(셸 변수를 설정하면서 동시에 환경 변수로 전환하는 방법) export -n SOME (-n 옵션은 ..
표준 입력 장치: 셸이 작업을 수행하는 데 필요한 정보를 받아들이는 장치. (키보드) 표준 출력 장치: 셸이 실행 결과를 내보내는 장치. (모니터) 표준 오류 장치: 셸이 오류 메세지를 내보내는 장치. (모니터) 파일 디스크립터(파일에 일련번호를 붙여서 관리하는 방식) 명령의 표준 입력 - 0 명령의 표준 출력 - 1 명령의 표준 오류 - 2 - 출력 리다이렉션(출력의 방향을 바꿈) ① 명령 > 파일명 : 해당 파일이 존재하지 않으면 새 파일을 생성해 명령의 결과를 저장. 해당 파일이 있으면 기존 파일의 내용을 삭제하고 새로 결과를 저장. '>' 대신 '1>'을 사용할 수 있는데, 여기서 1은 파일 디스크립터를 의미. ex) ls -al > out1 을 하면 ls -al의 실행 결과가 화면에 출력되지 않..
* : 임의의 문자열을 나타내는 특수문자. 0개 이상의 문자로 대체. ex) ls -F t* 는 파일명이 t로 시작하는 파일의 이름과 종류를 출력. t, tmp, temp 등을 포함. ? : 하나의 문자를 나타내는 특수문자. 길이가 1인 임의의 한 문자. [ ] : 하나의 문자를 나타내는 특수문자. 괄호 안에 포함된 문자 중 하나. ex) ls t?.txt 는 t 다음 임의의 한 문자가 오고 확장자가 txt인 모든 파일의 이름 출력. t1.txt, ta.txt 등을 포함. t.txt는 제외. ls -l tmp[135].txt 는 tmp 다음 1, 3, 5 중 하나가 오고 파일의 확장자가 txt인 모든 파일의 이름을 출력. tmp.txt는 제외. ~ : 디렉터리를 나타내는 특수문자. 사용자의 홈 디렉터리를..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bwH5Gm/btqUtp5P3DA/zEjsYVRR9ChsIHRXgU6TZk/img.png)
로그인 셸: 사용자가 로그인을 하면 셸이 자동으로 실행되는 셸 서브 셸: 프롬프트에서 새로 생성된 셸. 서브 셸이 또 다른 서브 셸 실행 가능. 서브 셸 종료하는 명령은 Ctrl + d 또는 exit. 셸 내장 명령 일반적인 리눅스 명령이 /bin이나 /usr/bin 디렉터리에 실행 파일로 있는 것과 달리, 별도의 실행 파일이 없고 셸 안에 포함. 대표적인 셸 내장 명령은 cd. 실행 파일 출력 시키는 명령은 file. 실행 파일은 바이너리 파일이라 cat 명령으로 확인할 수 없음. 출력 명령 echo [-n] [문자열] : 문자열 출력. -n 옵션 사용 시 줄 바꿈. printf [옵션] [인수] : ex) printf linux, printf "linux ubuntu \n", printf "%d + ..
![](http://i1.daumcdn.net/thumb/C148x148.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/H5nf6/btqUtW3psoe/WUAOJnuiBPy1py5U3wiHzK/img.png)
셸의 기능 ① 명령어 해석기 기능 : 사용자와 커널 사이에서 명령을 해석하여 전달하는 해석기, 번역기 기능. (* 로그인을 하면 로그인 셸이 자동으로 실행되어 명령을 기다림. /etc/passwd 파일에 지정되어 있으며, 그 표시를 프롬프트라고 함.) ② 프로그래밍 기능 : 자체 내에 프로그래밍 기능이 있어서 반복적으로 수행하는 작업을 하나의 프로그램으로 만들 수 있음. ③ 사용자 환경 설정 기능 : 사용자 환경을 설정할 수 있도록 초기화 파일 기능 제공. 명령의 경로 설정, 파일이나 디렉터리를 새로 생성할 때 기본 권한 설정, 다양한 환경 변수 설정 등. 셸의 종류 - 본 셸(sh) : 유닉스 V7에 등장한 최초의 셸. - C 셸(csh) - 콘 셸(ksh) - 배시 셸(bash) : 리눅스의 기본 셸..
vi 환경 설정 ① vi 마지막 행 모드에서 명령으로 설정 set 명령에 옵션을 넣는 것. 명령 실행 전 :을 입력하여 마지막 행 모드로 전환. - set nu : 파일 내용의 각 행에 행 번호를 표시 - set nonu : 행 번호를 감춤 - set list : 눈에 보이지 않는 특수문자 표시(tab:^|, eol:$ 등) - set nolist : 특수문자 감춤 - set showmode : 현재 모드를 표시 - set noshowmode : 현재 모드를 감춤 - set : set으로 설정한 모든 vi 환경 설정 값 출력 - set all : 모든 vi 환경 변수와 현재 값 출력 ② 사용자 홈 디렉터리에 .exrc 파일로 저장 이 파일(.exrc 파일)은 기본적으로 없는 파일이므로 사용자가 만들어야 ..
파일 읽어오기 (마지막 행 모드) :r 파일명 - 지정한 파일을 읽어 현재 커서 위치에 삽입 :e 파일명 - 지정한 파일로 전환(기존 파일을 :w로 저장한 뒤 실행) :n - vi 시작 시 여러 파일을 지정했을 경우, 다음 파일로 이동 셸 명령 사용하기 :! 셸 명령 - vi 작업을 잠시 중단하고 셸 명령 실행. 명령 하나만 실행 가능. (돌아오려면 Enter 키 누름) :sh - vi를 잠시 빠져나가서 셸 명령 실행 (돌아오려면 exit 입력) 기타 명령 Ctrl + l - 현재 화면을 다시 출력 Ctrl + g - 현재 커서 위치의 행 번호를 마지막 행에 출력 Ctrl + j - 현재 행과 아랫행을 연결하여 한 행으로 합침 . (마침표) - 바로 직전에 했던 명령 반복
검색하기 (검색하기 위해 마지막 행 모드로 이동할 때는 :이 아닌 /이나 ?를 입력) /문자열 - 해당 문자열을 커서 아래 방향으로 검색 ?문자열 - 해당 문자열을 커서 위 방향으로 검색 n - 원래 찾던 방향으로 다음 문자열 검색 N - 반대 방향으로 다음 문자열 검색 바꾸기 (문자열을 바꾸기 위해서는 :을 입력하여 마지막 행 모드로 전환) :s/문자열1/문자열2/ - 커서가 위치한 행에서 첫 번째로 나오는 문자열1을 문자열2로 변경 :%s/문자열1/문자열2/g - 파일 전체에서 모든 문자열1을 문자열2로 변경 :s/문자열1/문자열2/ - 범위 내 모든 각 행에서 첫 번째로 나오는 문자열1을 문자열2로 변경 :s/문자열1/문자열2/g - 범위 내 모든 행에서 문자열1을 문자열2로 변경 :s/문자열1/문..