*
기호는 파일 이름에서 0개 ~ 전체 문자를 의미함
즉 모든 것에 해당
?
WildcardThe question mark(?) charactoer represent any single character.
ls app.??
를 실행하면
app.뒤에 문자 두개가 오는 모든 파일만 출력.
확장자가 .js, .py
처럼 두글자인 것만 가능하고 .css나 .html
은 해당하지 않음
[]
문자의 범위를 나타냄
아무 한 글자만 일치하면 되는 ?와는 다르게 []는대문자 A에서 F사이의 문자라던지 숫자 1부터 9 혹은 0부터 9처럼 특정한 글자 중에서 일치해야 함.
[A-Z] : A ~ Z 까지
[^A-Z] : 로 바꿔주면 대문자로 시작하지 않는 파일과 폴더들만 나타나게 됩니다 소문자나 특수문자등으로 시작하는 것
~
: home directory
~
를 사용해 확장 가능
~사용자
를 사용해 다른 사용자로 확장
중괄호 안에 ,
로 구분되어있는 값들은 각각 하나의 문자열이 되며, 중괄호 앞과 뒤에 있는 문자와 합쳐진다.
입력: touch page{1,2,3}.txt
결과: page1.txt, page2.txt, page3.txt
ddu$ echo {Mon,Tue,Wen,Thu,Fri}_Planner.txt
##결과
Mon_Planner.txt Tue_Planner.txt Wen_Planner.txt Thu_Planner.txt Fri_Planner.txt
dddu$ echo Dec_ {Mon,Tue,Wen,Thu,Fri}_Planner.txt
##결과
ddu$ ls
Dec_ Mon_Planner.txt Tue_Planner.txt Wen_Planner.txt Thu_Planner.txt Fri_Planner.txt
ddu$ echo {Mon,Tue,Wen,Thu,Fri}_{AM,PM}.txt
##결과
ddu$ ls
Mon_AM.txt Mon_PM.txt Tue_AM.txt Tue_PM.txt Wen_AM.txt Wen_PM.txt Thu_AM.txt Thu_PM.txt Fri_AM.txt Fri_PM.txt
ddu$ touch {Mon,Tue,Wen,Thu,Fri}_{AM,PM}.txt
##결과
ddu$ ls
Fri_AM.txt Mon_AM.txt Thu_AM.txt Tue_AM.txt Wen_AM.txt
Fri_PM.txt Mon_PM.txt Thu_PM.txt Tue_PM.txt Wen_PM.txt
mkdir jan{1..31}
jan1 ~jan31 directory 생성
> echo {2..10..1}
## 결과
> 2,3,4,5,6,7,8,9,10
> echo {2..10..1}
## 결과
> 2,3,4,5,6,7,8,9,10
{2..10..2}는 2부터 10까지 2의 간격을 의미
$((expression))
쉘이 이 계산식을 확인하고 계산식에 사용한 기호에 따라 연산을 수행함
+ 덧셈
- 뺄셈
* 곱셈
/ 나눗셈
** 지수연산 (10**3 => 10의 3제곱)
% modulo (나머지연산)
정수 연산만 함
""
-> 쉘이 공복문자를 보존함 $ , \ , ` 3개 기호를 제외한 나머지 특수문자를 그대로 표현
''