728x90
반응형
유저 <--> 셸 <--> 커널 <--> 하드웨어
셸의 기능
- 명령어 해석기 기능
- 플그래밍 기능: 셸 스크립트
- 사용자 환경 설정 기능
셸 기본 사용법
셸 지정 및 변경
- 사용자의 기본 셸은 /etc/passwd 파일에 저장
chsh
기능 - 사용자 로그인 셸 변경
형식 - chsh [옵션] [사용자명]
옵션
- -s shell: 지정하는 셸(절대 경로)로 로그인 셸을 바꿈
- -l: /etc/shells 파일에 지정된 셸 출력
로그인 셸과 서브 셸
- 서브 셸: 사용자가 프롬프트에서 다른 셸을 실행하여 생성한 셸
- ctrl+d 또는 exit로 서브 셸 종료
셸 내장 명령
- 셸 자체적으로 가지고 있는 명령 - ex) cd
- 일반적인 리눅스 명령들은 /bin이나 /usr/bin 등 다른 디렉터리에 실행파일 존재
출력 명령
echo
기능 - 화면에 한 줄의 문자열을 출력
형식 - echo [-n] [문자열]
옵션 - -n: 마지막에 줄 바꿈을 하지 않음
printf
기능 - 자료를 형식화하여 화면에 출력
형식 - printf [형식] [인수]
옵션 - 형식: %d, /n 등 C 언어의 printf 함수의 형식을 지정
특수문자
특수문자 *
사용 예 | 의미 |
ls * | 현재 디렉터리의 모든 파일과 서브 디렉터리를 나열, 서브 디렉터리의 내용도 출력 |
cp */tmp | 현재 디렉터리의 모든 파일을 /tmp 디렉터리 아래로 복사 |
ls -F t* | t, tmp, temp와 같이 파일명이 t로 시작하는 모든 파일의 이름과 파일 종류를 출력, t도 해당 |
cp *txt _/ch3 | 확장자가 txt인 모든 파일을 상위 디렉터리 아래의 ch3 디렉터리로 복사 |
ls -l h*d | 파일명이 h로 시작하고 d로 끝나는 모든 파일의 상세 정보 출력 hd, had, hard, h12345d 등 |
특수문자 ?, [ ]
사용 예 | 의미 |
ls t?.txt | t 다음에 임의의 한 문자가 오고 파일의 확장자가 txt인 모든 파일의 이름 출력, 단, t.txt 제외 |
ls -l tmp[123].txt | tmp 다음에 1, 3, 5중 하나가 오고 파일의 확장자가 txt인 모든 파일의 이믊 출력, 단, tmp.txt 제외 |
ls -l tmp[1-3].txt | [1-3]은 1부터 3까지의 범위를 의미 |
ls [0-9]* | 파일명이 숫자로 시작하는 모든 파일의 목록 출력 |
ls [A-Za-z]*[0-9] | 파일명이 영문자로 시작하고 숫자로 끝나는 모든 파일의 목록 출력 |
특수문자 ~, -
사용 예 | 의미 |
cp *.txt ~/ch3 | 확장자가 txt인 모든 파일을 현재 작업 중인 사용자의 홈 디렉터리 아래tmp 디렉터리로 복사 |
cp ~user2/linux.txt . | user2라는 사용자의 홈 디렉터리 아래에서 linux.txt 파일을 찾아 현재 디렉터리로 복사 |
cd - | 이전 작업 디렉터리로 이동 |
특수문자 ;, |
사용 예 | 의미 |
date ; ls; pwd | 왼쪽부터 차례대로 명령을 실행 |
ls al/ | more | 루트 디렉터리에 있는 모든 파일의 상세 정보를 한 화면씩 출력, ls -al / 명령의 결과가 more 명령의 입력으로 전달되어 페이지 단위로 출력되는 것 |
특수문자 ' ', " "
사용 예 | 의미 |
echo '$SHELL' | $SHELL 문자열이 화면에 출력 |
echo "$SHELL" | 셸 환경 변수인 SHELL에 저장된 값인 현재 셸의 종류가 화면에 출력, /bin/bash |
특수문자 ` `
사용 예 | 의미 |
echo "Today is `date`" | `date`가 명령으로 해석되어 date 명령의 실행 결과로 바뀜 |
ls /usr/bin/`uname -m` | uname -m 명령의 실행 결과를 문자열로 바꾸어 파일 이름으로 사용 |
특수문자 \
사용 예 | 의미 |
ls -l t\* | t*라는 이름을 가진 파일의 상세 정로를 출력 |
echo \$SHELL | $SHELL을 화면에 출력 |
특수문자 > , <, >>
사용 예 | 의미 |
ls -l > res | ls -l 명령의 실행 결과를 화면이 아닌 res 파일에 저장 |
ls -l >> res | ls -l의 명령의 결과를 res파일의 끝부분에 추가 |
cat < text | cat 명령의 입력을 text 파일에서 받음 |
728x90
반응형
'전공 > 리눅스시스템관리' 카테고리의 다른 글
[Linux] 리눅스 배시셸 환경 설정, 앨리어스, 히스토리 (0) | 2023.04.19 |
---|---|
[Linux] 리눅스 입출력 방향 변경(리다이렉션) (0) | 2023.04.19 |
[Linux] 리눅스 vi 환경 설정 (0) | 2023.04.16 |
[Linux] 리눅스 vi 명령어 (0) | 2023.04.16 |
[Linux] 리눅스 디렉터리, 파일 관련 명령어 (0) | 2023.04.16 |