*
╭─ ~/test
╰─ ls
greeting.txt name.txt test.html
╭─ ~/test
╰─ ls g*
greeting.txt
╭─ ~/test
╰─ ls G*
zsh: no matches found: G* (>> 대소문자를 구분한다.)
╭─ ~/test
╰─ ls *a*
name.txt
╭─ ~/test
╰─ ls *.txt
greeting.txt name.txt
╭─ ~/test
╰─ echo print all items list in this directory : *
print all items list in this directory : greeting.txt name.txt test.html
╭─ ~/test
╰─ cat greeting.txt
hello
╭─ ~/test
╰─ cat name.txt
Hyojin
╭─ ~/test
╰─ cat *.txt
hello
Hyojin
?
╭─ ~/test
╰─ ls
Styles app.html app1.html app2.html app3.html app4.css app5.css test.txt
╭─ ~/test
╰─ echo app?.html
app1.html app2.html app3.html
╭─ ~/test
╰─ echo *.????
app.html app1.html app2.html app3.html
╭─ ~/test
╰─ mv app?.css ./Styles
╭─ ~/test
╰─ ls
Styles app.html app1.html app2.html app3.html test.txt
╭─ ~/test
╰─ ls ./Styles
app4.css app5.css
[ ]
Inside of
[ ]
, we can specify a range of characters to match
[ ]
: 범위 내의 특정한 글자 중에서 일치해야 한다.
╭─ ~/test
╰─ ls
Styles app.html app1.html app12.html app2.html app3.html test.txt
╭─ ~/test
╰─ ls app[12].html
app1.html app2.html
╭─ ~/test
╰─ ls app[0-9].html
app1.html app2.html app3.html
╭─ ~/test
╰─ ls app[0-9][0-9].html
app12.html
╭─ ~/test
╰─ ls app[0-9]*
app1.html app12.html app2.html app3.html
ls -d
: list directories themselves, not their contents╭─ ~/fonts master
╰─ ls
3270 DroidSansMono Inconsolata 'Meslo Slashed' RobotoMono UbuntuMono
AnonymousPro DroidSansMonoDotted Inconsolata-g Monofur SourceCodePro fontconfig
Arimo DroidSansMonoSlashed InconsolataDz NotoMono SpaceMono install.ps1
Cousine FiraMono InputMono NovaMono SymbolNeu install.sh
D2Coding GoMono LiberationMono ProFont Terminus samples
DejaVuSansMono Hack
╭─ ~/fonts master
╰─ ls -d [a-z]*
fontconfig install.ps1 install.sh samples uninstall.sh
a부터 z사이의 소문자로 시작하고 소문자 s나 h로 끝나며 가운데는 아무글자나 오도록 확장
╭─ ~/fonts master
╰─ echo [a-z]*[gh]
fontconfig install.sh uninstall.sh
[^ ]
Inside of
[^ ]
, we can specify a range of characters to NOT match
[^ ]
: 범위 내의 특정한 글자 중에서 일치하지 않아야 한다.
╭─ ~/fonts master
╰─ ls
3270 DroidSansMono Inconsolata 'Meslo Slashed' RobotoMono UbuntuMono
AnonymousPro DroidSansMonoDotted Inconsolata-g Monofur SourceCodePro fontconfig
Arimo DroidSansMonoSlashed InconsolataDz NotoMono SpaceMono install.ps1
Cousine FiraMono InputMono NovaMono SymbolNeu install.sh
D2Coding GoMono LiberationMono ProFont Terminus samples
DejaVuSansMono Hack 'Meslo Dotted' README.rst Tinos uninstall.sh
╭─ ~/fonts master
╰─ ls -d [^D]*
3270 FiraMono Inconsolata-g 'Meslo Dotted' NovaMono SourceCodePro Tinos install.sh
AnonymousPro GoMono InconsolataDz 'Meslo Slashed' ProFont SpaceMono UbuntuMono samples
Arimo Hack InputMono Monofur README.rst SymbolNeu fontconfig uninstall.sh
Cousine Inconsolata LiberationMono NotoMono RobotoMono Terminus install.ps1
╭─ ~/fonts master
╰─ ls -d [^A-Z]*
3270 fontconfig install.ps1 install.sh samples uninstall.sh
첫 문자가 대문자, 소문자 I와 일치하지 않는 파일이나 폴더를 찾기
╭─ ~/fonts master
╰─ ls -d [^iI]*
3270 DejaVuSansMono GoMono Monofur RobotoMono Tinos
AnonymousPro DroidSansMono Hack NotoMono SourceCodePro UbuntuMono
Arimo DroidSansMonoDotted LiberationMono NovaMono SpaceMono fontconfig
Cousine DroidSansMonoSlashed 'Meslo Dotted' ProFont SymbolNeu samples
D2Coding FiraMono 'Meslo Slashed' README.rst Terminus uninstall.sh
~
) 확장cd ~
: 현재 어디에 있던지 홈 디렉토리로 이동한다. ╭─ ~/fonts master
╰─ pwd
/home/hyojin/fonts
╭─ ~/fonts master
╰─ cd ~
╭─ ~
╰─ pwd
/home/hyojin
echo ~kitty
: 이 리눅스에 kitty
라는 다른 사용자가 있다면 /home/kitty
로 확장한다. ╭─ ~/fonts master
╰─ echo ~kitty
/home/kitty
mv ./test/app12.html ~
: mv 명령어로 파일을 옮길 때 나의 홈 디렉토리로 옮기기 위해 ~
를 사용해서 내 홈 디렉토리로 확장할 수도 있고 ~kitty
처럼 다른 유저의 홈 디렉토리로 확장할 수도 있다. ╭─ ~/test
╰─ ls
Styles app.html app1.html app12.html app2.html app3.html test.txt
╭─ ~
╰─ ls
cleanUp fonts powerlevel10k test test-py-project vim_shortcut.txt
╭─ ~
╰─ mv ./test/app12.html ~
╭─ ~
╰─ ls ./test
Styles app.html app1.html app2.html app3.html test.txt
╭─ ~
╰─ ls ~
app12.html cleanUp fonts powerlevel10k test test-py-project vim_shortcut.txt
하나 혹은 여러개의 중괄호 안에 들어있는 몇개의 패턴에 기반해 여러 문자열을 만드는 것
중괄호
{}
안에,
로 구분되어있는 값들은 각각 하나의 문자열이 되며, 중괄호 앞과 뒤에 있는 문자와 합쳐진다.예를 들어,
page{1,2,3}.txt
>>page1.txt
,page2.txt
,page3.txt
가 된다.
╭─ ~/test
╰─ touch 2023_Nov_{Mon,Tue,Wed,Thu,Fri}_Planner.txt
╭─ ~/test
╰─ ls
2023_Nov_Fri_Planner.txt 2023_Nov_Thu_Planner.txt 2023_Nov_Wed_Planner.txt
2023_Nov_Mon_Planner.txt 2023_Nov_Tue_Planner.txt
아래 명령어는 touch
명령어가 {}
사이에 공백을 기준으로 여러 개의 파일을 생성한다.
╭─ ~/test
╰─ touch 2023_Nov_{Mon, Tue, Wed, Thu, Fri}_Planner.txt
╭─ ~/test
╰─ ls
2023_Nov_{Mon, Fri}_Planner.txt Thu, Tue, Wed,
╭─ ~/test
╰─ touch 2023_Nov_{Mon,Tue,Wed,Thu,Fri}_{AM,PM}_Planner.txt
╭─ ~/test
╰─ ls -l | sort -nk7
total 0
-rw-r--r-- 1 hyojin hyojin 0 Oct 19 17:43 2023_Nov_Fri_Planner.txt
-rw-r--r-- 1 hyojin hyojin 0 Oct 19 17:43 2023_Nov_Mon_Planner.txt
-rw-r--r-- 1 hyojin hyojin 0 Oct 19 17:43 2023_Nov_Thu_Planner.txt
-rw-r--r-- 1 hyojin hyojin 0 Oct 19 17:43 2023_Nov_Tue_Planner.txt
-rw-r--r-- 1 hyojin hyojin 0 Oct 19 17:43 2023_Nov_Wed_Planner.txt
-rw-r--r-- 1 hyojin hyojin 0 Oct 19 17:49 2023_Nov_Fri_AM_Planner.txt
-rw-r--r-- 1 hyojin hyojin 0 Oct 19 17:49 2023_Nov_Fri_PM_Planner.txt
-rw-r--r-- 1 hyojin hyojin 0 Oct 19 17:49 2023_Nov_Mon_AM_Planner.txt
-rw-r--r-- 1 hyojin hyojin 0 Oct 19 17:49 2023_Nov_Mon_PM_Planner.txt
-rw-r--r-- 1 hyojin hyojin 0 Oct 19 17:49 2023_Nov_Thu_AM_Planner.txt
-rw-r--r-- 1 hyojin hyojin 0 Oct 19 17:49 2023_Nov_Thu_PM_Planner.txt
-rw-r--r-- 1 hyojin hyojin 0 Oct 19 17:49 2023_Nov_Tue_AM_Planner.txt
-rw-r--r-- 1 hyojin hyojin 0 Oct 19 17:49 2023_Nov_Tue_PM_Planner.txt
-rw-r--r-- 1 hyojin hyojin 0 Oct 19 17:49 2023_Nov_Wed_AM_Planner.txt
-rw-r--r-- 1 hyojin hyojin 0 Oct 19 17:49 2023_Nov_Wed_PM_Planner.txt