vi (~이어서)
문자열 바꾸기
vi작업 도중 명령 실행
여러번 명령어 입력
몇줄인지 확인
set 설정 / 해제하기
- set 명령어 <-> set no명령어
ex) :set nu <-> :set nonu
.exrc파일 만들기
- vi .exrc만들고 set nu , set list 등 입력하고 저장
-> 다른 vi파일이 자동으로 .exrc파일 확인
셸
기능 : 우리가 입력한 명령어가 실제 실행되게 도와줌
- 명령어 해석기 기능 : 사용자와 커널 사이에서 명령을 해석하여 전달하는 해석기/번역기
- 프로그래밍 기능 : 셸은 자체 내에 프로그래밍 기능이 있어 반복적으로 수행하는 작업을 하나의 프로그램화 가능
📒 셸 프로그램 = 셸 스크립트
- 사용자 환경 설정 기능
💡 커널이 모든 실제 프로세스(작업)을 수행
💡 본 셸 실행 - /bin/sh
💡 #프롬프트 : root유저 , $프롬프트 : 일반 user
간단한 셸 스크립트 만들기
- vi test.sh -> 명령어들 입력 -> chmod 777 test.sh -> ./test.sh
-> 스크립트 안에 있는 명령어들 자동으로 다 수행
본 셸 ,C 셸 ,콘 셸 ,배시 셸 등이 있음
-> 현재 리눅스의 표준 셸은 배시 셸
현재 내가 어떤 셸을 이용하고 있는지 확인
- cat /etc/passwd - 마지막 줄 확인
- echo $SHELL
어떤 셸이 설치되어있는지 확인
echo
- 배시 셸의 출력 명령
- 화면에 한 줄의 문자열을 출력한다
- 형식 : echo [옵션][문자열]
- 특수문자를 사용할때는 양쪽에 ' '을 사용한다
특수문자 사용하기
- 사용자가 더욱 편리하게 명령을 입력하고 실행할 수 있도록 특수문자 제공
- 명령을 입력하면 셸은 특수문자가 있는지 확인하고 적절한 형태로 변환 후 명령 실행
특수 문자 *

특수문자 ? , []

- 하나의 문자를 나타내는데 사용
- ?는 길이가 1인 임의의 한 문자
- []는 괄호 안에 포함된 문자 중 한 문자 나타냄
ex) ls ???? = 4글자 , ls 1? =1로 시작하는 두글자
ex) ls [1-5]? =1~5까지 중 하나 + 두글자
특수문자 {}
ex) touch {1..3}.txt : 1.txt , 2.txt, 3.txt 생성
ex) touch {a1,a2,a3].txt : a1.txt, a2.txt, a3.txt 생성
특수문자 ; , |

; : 연결된 명령어를 왼쪽부터 순서대로 실행
ex) ls; ifconfig; id;
|(파이프) : 왼쪽 명령어의 출력을 오른쪽 명령어의 입력으로 전달
ex) ps -ef | grep bash
ex) cat /etc/passwd | grep root
ex) ifconfig | grep -v inet6 | grep inet
ex) cat /etc/passwd | more
특수문자 " ", ' '
- ' ' : 모든 특수문자를 일반문자로 처리
- " " : $,'',\을 제외한 모든 특수문자를 일반문자로 처리
특수문자 \
- 특수문자 바로 앞에 사용하며, 해당 특수문자의 효과 없애고 일반문자 처럼 처리
특수문자 >

- 입출력의 방향을 바꿈(redirection) = 파일 덮어쓰기
- ex) ls > 1.txt
-> ls의 결과가 1.txt에 저장된다
ex) ls >> 1.txt : 기존 내용에 이어쓰기
ex) cat > 1.txt : vi편집기를 쓰지 않고도 텍스트를 입력한 파일 생성 가능

- 표준 오류 redirection : ls 2> 1.txt
- 표준출력, 표준오류 동시에 쓰기 >파일 2>파일
- 오류출력 버리기 : ex) ls /abc 2> /dev/null
📒 grep에서 특수문자는 정규표현식으로 적용된다
셸 변수 / 환경 변수
셸 변수 : 현재 셸에서만 사용이 가능 (지역변수)

환경 변수
- 현재 셸 뿐만 아니라 서브 셸에서도 사용 (전역 변수)
- 부팅되면서 자동으로 선언되는 변수
- 변수 출력할 때는 echo $ 사용
- export a=10 -> a를 환경변수(전역변수)로 만들어줌
alias / 히스토리
alias
- 기존의 명령을 대신하여 다른 이름을 붙일 수 있도록 하는 기능
- 여러 명령 연결하여 하나의 명령으로 만듬
- 긴 명령을 짧은 명령으로 만듬
- 형식 : alias 이름='명령'
history
- 이전에 입력했던 명령어를 보여준다
- cat .bash_history : 입력했던 명령어 저장된거 보기
- !! : 직전에 입력했던거 다시 실행
echo $PS1의 결과


-> \u 가 root , \h가 localhsot, \w가 ~, $가 #에 대응 됨
환경설정 파일
- 사용자가 로그인할 때마다 자동으로 실행되는 명령을 저장한 파일
- 사용자 환경 설정 파일 : 해당 사용자(root,user등)가 접속했을 때만 실행되는 파일
-> 사용자 환경 설정 파일인 .bashrc, .bash_profile 수정하면 로그인할때 자동으로 설정된다.
ex) vi .bash_profile로 접속후 마지막줄에 alias lll='ls -l' 추가하면 다시 로그인해도 alias가 유지된다
= 원하는 사용자 환경을 세팅할 수 있다.
- 시스템 환경 설정 파일 : 어떤 사용자가 로그인하든 실행되는 파일
-> 시스템 환경 설정 파일은 /etc/profile , /etc/bashrc가 있다
추가정보