반응형
리눅스 핵심 레퍼런스 책 스터디
셸의 기능
리눅스의 사용자 명령행 인터페이스로 여러가지 쉘 명령어를 사용할 수 있음
예로 wc 프로그램은 텍스트 파일의 줄을 세는데 활용됨
컴퓨터에 로그인한 사용자 수 예제
> who | wc -l
4
와일드 카드
- * : 0개 이상의 연속되는 문자
- ? : 어떤 한 문자
- [set] : set에 포함된 특정 문자 지칭
- [^set] : set에 포함되지 않은 특정 문자 지칭
중괄호 확장
와일드카드처럼 중괄호 표현식도 확장되어 명령어에 대한 복수의 인자가 될 수 있음
> echo sand{X,YY,ZZZ}wich
sandXwich sandYYwich sandZZZwich
셸 변수
공통적으로 정의되어 있는 변수
- HOME: /home/smith 같은 홈 디렉토리
- OLDPWD: cd 명령어로 디렉토리를 옮기기 전 디렉토리
- PATH: 셀의 검색 경로 디렉토리, 콜론으로 구분됨
- PWD: 현재 디렉토리
- SHELL: /bin/bash 같은 셸로 가는 경로
셸의 환경 변수 목록을 보려면 printenv를 실행
> printenv HOME
/home/smith
검색경로
셸 명령을 통해 실행되는 프로그램들은 PATH 변수에 지정되어 있어야 함
임시로 셸의 검색 경로에 디렉토리를 추가하려면 PATH 변수에 추가하면 됨
> PATH=$PATH:/usr/sbin
> echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/sbin
이러한 변경은 실행중인 셸에만 영향을 끼치며 시스템에 영구적으로 지정하려면 ~/.bash_profile에서 PATH 변수를 변경 후 재로그인 하거나 현재 셸 창에서 다음 명령어를 실행하면 됨
> . $HOME/.bash_profile
별칭
긴 명령어를 빠르게 입력하도록 명령어로 재정의할 수 있음
> alias ll='ls -lG'
~/.bash_aliases 파일에 별칭을 지정하면 로그인 후 언제든지 사용할 수 있음
입출력 리다이렉션
> any command 2> errorfile
> any command > outfile 2> errorfile # 파일 분리
따옴표
역따옴표(backtick = `)은 그 안의 내용을 셸 명령어로 인식하고, 그 내용은 명령어에 의한 표준 출력으로 변경됨
> date +%Y
2016
> echo This year is `date +%Y`
This year is 2016
달러기호와 역따옴표는 동일하게 해석됨
> echo This year is $(date +%Y)
This year is 2016
하지만 큰 단위에서 작은 단위를 끼어 넣을 수 있다는 점에서 더 나음
> echo Next year is $(expr $(date +%Y) + 1)
Next year is 2017
셸 작업 제어
- jobs: 작업 목록 나열
- &: 작업을 백그라운드로 실행 (명령어 뒤에 한칸 띄고 & 입력)
- suspend: 셸 일시 정지
- fg: 작업을 재실행하며 포그라운드로 가져옴
- bg: 정지된 작업을 백그라운드로 보내며 실행
반응형
'DevOps > Linux' 카테고리의 다른 글
리눅스 - 프로세스 제어, 스케쥴링, 호스트 찾기, 네트워크 연결 (0) | 2021.04.11 |
---|---|
리눅스 - 파일 다루기 (0) | 2021.04.04 |
scp(secure copy protocol) 명령어 (0) | 2021.03.23 |
리눅스 - 쉘 스크립트 프로그래밍 (0) | 2021.03.21 |
리눅스 계정 루트 권한 부여 (0) | 2018.07.30 |