* : 임의의 문자열을 나타내는 특수문자. 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는 제외. ~ : 디렉터리를 나타내는 특수문자. 사용자의 홈 디렉터리를..

로그인 셸: 사용자가 로그인을 하면 셸이 자동으로 실행되는 셸 서브 셸: 프롬프트에서 새로 생성된 셸. 서브 셸이 또 다른 서브 셸 실행 가능. 서브 셸 종료하는 명령은 Ctrl + d 또는 exit. 셸 내장 명령 일반적인 리눅스 명령이 /bin이나 /usr/bin 디렉터리에 실행 파일로 있는 것과 달리, 별도의 실행 파일이 없고 셸 안에 포함. 대표적인 셸 내장 명령은 cd. 실행 파일 출력 시키는 명령은 file. 실행 파일은 바이너리 파일이라 cat 명령으로 확인할 수 없음. 출력 명령 echo [-n] [문자열] : 문자열 출력. -n 옵션 사용 시 줄 바꿈. printf [옵션] [인수] : ex) printf linux, printf "linux ubuntu \n", printf "%d + ..

셸의 기능 ① 명령어 해석기 기능 : 사용자와 커널 사이에서 명령을 해석하여 전달하는 해석기, 번역기 기능. (* 로그인을 하면 로그인 셸이 자동으로 실행되어 명령을 기다림. /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/문..
vi에서 복사하기나 잘라내기를 하면 임시 버퍼(클립보드 버퍼)에 저장. 언네임드 버퍼라고도 하며, 내용을 하나만 저장할 수 있음. 행 단위로 복사하기, 잘라내기, 붙이기 yy - 커서가 위치한 행을 복사. #yy - #에는 복사할 행의 수를 지정. 3yy면 현재 커서의 행부터 세 행을 복사. p - 커서가 위치한 행의 아래쪽에 붙여넣음. P - 커서가 위치한 행의 위쪽에 붙여넣음. dd - 커서가 위치한 행을 잘라둠. 삭제와 같은 기능. #dd - #에는 잘라둘 행의 수를 지정. 4dd면 현재 커서의 행부터 네 행을 잘라둠. 네임드 버퍼 이용하기 이름을 붙여서 사용하는 버퍼. 각각 다른 이름을 붙인 버퍼에 독립적으로 내용을 저장하고 사용. - 네임드 버퍼 - "a, "b, "c, "d, ···, "z -..
내용 수정 ① 입력 모드 - delete 키 - backspace 키 ② 명령 모드 - r : 커서가 위치한 한 글자를 다른 글자로 수정 - cw : 커서 위치부터 현재 단어의 끝까지 수정 - #cw : #에는 수정할 단어의 수 지정. 예를 들어 3cw는 커서 위치부터 세 단어를 수정 - s : 커서 위치부터 Esc 키를 입력할 때까지 수정 - #s : #에는 수정할 글자의 수 지정. 예를 들어 5s는 커서 위치부터 다섯 글자 수정 - cc : 커서가 위치한 행의 모든 내용 수정 - C : 커서 위치 부터 행의 끝까지 수정 내용 삭제 x : 커서 위치의 글자를 삭제 #x : #에는 삭제할 글자 수를 지정. 예를 들어 4x는 커서 위치부터 네 글자 삭제 dw : 커서 위치의 단어를 삭제 #dw : #에는 ..