728x90
특수문자 *
: 0개 이상의 문자로 대체, 파일명을 적어야 하는 자리에 *을 사용하면 모든 파일을 나타낸다.
예시 | 의미 |
ls * | 현재 디렉터리의 모든 파일과 서브 디렉터리 나열. 서브 디렉터리의 내용까지 출력 |
cp * /tmp | 현재 디렉터리의 모든 파일을 /tmp 디렉터리 아래로 복사 |
ls -F t* | t로 시작하는 모든 파일의 이름과 파일 종류 출력 |
cp *.txt ../ch3 | 확장자가 txt인 모든 파일을 상위 디렉터리 아래의 ch3 디렉터리로 복사 |
ls -l h*d | 파일명이 h로 시작하고 d로 끝나는 모든 파일의 상세 정보 출력 |
특수문자 ?
: 길이가 1인 임의의 한 문자
특수문자 []
: 괄호 안에 포함된 문자 중 하나
사용 예 | 의미 |
ls t?.txt | t 다음에 임의의 한 문자가 오고 파일의 확장자가 txt인 모든 파일의 이름 출력 |
ls -l tmp[135].txt | tmp 다음에 1,3,5 중 하나가 오고 파일의 확장자가 txt인 모든 파일의 이름 출력 |
ls -l tmp[1-3].txt | ls -l tmp[123].txt와 같은 결과 |
ls [0-9]* | 파일명이 숫자로 시작하는 모든 파일의 목록 출력 |
ls [A-Za-z]*[0-9] | 파일명이 영문자로 시작하고 숫자로 끝나는 모든 파일의 목록 출력 |
특수문자 ~
: ~로그인ID로 해당 사용자의 홈 디렉터리를 나타냄
특수문자 -
: cd 명령과 같음. 현재 디렉터리로 이동하기 직전의 디렉터리
사용 예 | 의미 |
cp *.txt ~/tmp | 확장자가 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에 저장된 값인 현재 셸의 종류가 출력 |
특수문자 ``
: 문자열을 명령으로 해석
사용 예 | 의미 |
echo "Today is `date`" | `date`가 명령으로 해석됨 |
ls /usr/bin/`uname -m` | uname -m을 명령으로 해석하여 실행 결과를 문자열로 바꾸어 파일 이름으로 사용 |
특수문자 \
: 해당 특수문자의 효과를 없애고 일반 문자로 처리. 이스케이프문
사용 예 | 의미 |
ls -l t\* | t*라는 이름을 가진 파일 상세정보 출력. \없이 t*를 사용하면 t로 시작하는 모든 파일 상세 정보 출력 |
특수문자 >, <, >>
: 입출력 방향 리다이렉션
사용 예 | 의미 |
ls -l > res | ls -l 명령의 실행 결과를 화면이 아닌 res파일에 저장 |
ls -l >> res | ls -l 명령의 결과를 res 파일의 끝부분에 추가 |
cat < text | cat 명령의 입력을 text 파일에서 받음 |
728x90