전공/리눅스시스템관리

[Linux] 리눅스 셸 기본 사용법, 특수문자

Campus Coder 2023. 4. 19. 18:33
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
반응형