Bash ๋ช ๋ น ์๊ฐ ๐ง๐ฟโ๐ป
4897 ๋จ์ด bashcodenewbielinux
๊ทธ๋ํฝ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋งํผ ๋ณธ๋ฅ์ ์ด์ง ์์ ์๋ ์์ง๋ง ์ฌ์ ํ ํฐ๋ฏธ๋์ ์ฌ์ฉํ๊ธฐ ์์ํด์ผ ํ ๋ช ๊ฐ์ง ์ข์ ์ด์ ๊ฐ ์์ต๋๋ค.
๐ท ๊ณ ์ฑ๋ฅ
๐ท ํ๋ ์๋์์ ์ผ์ด๋๋ ์ผ์ ๋ํ ์ค์ ์ ์ด
๐ท ์์ ์๋ํ
์ฐธ๊ณ : Linux/macOS ํฐ๋ฏธ๋์ ๊ธฐ๋ณธ ๋ช ๋ น๋ง ์ดํด๋ณด๊ฒ ์ต๋๋ค.
์์ํ๋ค
Linux ๋๋ macOS๋ฅผ ์ด์ ์ฒด์ ๋ก ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๋ ์
ธ์ธ bash ์
ธ์ ์ฌ์ฉํ ๊ฐ๋ฅ์ฑ์ด ํฝ๋๋ค.
ํฐ๋ฏธ๋์ ์ด๋ฉด ๋ค์๊ณผ ๊ฐ์ด ํ์๋์ด์ผ ํฉ๋๋ค.
ํญํด
cd(๋๋ ํ ๋ฆฌ ๋ณ๊ฒฝ) ๋ช
๋ น์ ์ฌ์ฉํ๋ฉด ์ปดํจํฐ์ ํ์ผ ์์คํ
์ ํ์ํ ์ ์์ต๋๋ค.
# Go to target folder
cd /target
# Go to parent folder
cd ..
# Go to home folder
cd ~
๋ชฉ๋ก
ls(๋ชฉ๋ก) ๋ช
๋ น์ ํ์ผ๊ณผ ๋๋ ํ ๋ฆฌ๋ฅผ ์ธ์ํฉ๋๋ค.
# Print files located in the current directory.
ls
# Print files located in the target directory
ls targetparent/target
์ต์
๋ช
๋ น์ -[option]์ ์ถ๊ฐํ์ฌ ๋๋ถ๋ถ์ ๊ธฐ์กด ๋ช
๋ น์ ๋ช ๊ฐ์ง ์ต์
์ ์ถ๊ฐํ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด:
# Print files located in the current directory with more details.
ls -l
# Print every files located in the current directory (hidden files as well).
ls -a
ํ์ผ ๋๋ ๋๋ ํ ๋ฆฌ ๋ง๋ค๊ธฐ/์ ๊ฑฐ
mkdir(make directory) ๋ช
๋ น์ ์ ๋๋ ํ ๋ฆฌ๋ฅผ ์์ฑํฉ๋๋ค.
# Make a new directory in current directory.
mkdir directoryName
touch ๋ช
๋ น์ ์ ํ์ผ์ ๋ง๋ญ๋๋ค.
# Make a new file in current directory.
touch fileName
rm/rmdir(์ ๊ฑฐ) ๋ช
๋ น์ ํ์ผ/๋๋ ํ ๋ฆฌ๋ฅผ ์ญ์ ํฉ๋๋ค.
# Delete an empty directory.
rmdir myDirectory
# Delete a file.
rm myFile
# Delete a directory recursively.
rm -r myDirectory
๋ด๊ฐ ์ด๋ ์์ง?
pwd(์์
๋๋ ํ ๋ฆฌ ์ธ์) ๋ช
๋ น์ ํ์ฌ ์์น๋ฅผ ํ์ํฉ๋๋ค.
# Display current location in terminal.
pwd
ํ์ผ ๊ด๋ฆฌ
cp(๋ณต์ฌ) ๋ช
๋ น์ ์ฌ์ฉํ๋ฉด ํ์ผ์ ๋ณต์ฌํ์ฌ ๋ถ์ฌ๋ฃ์ ์ ์์ต๋๋ค.
# Create a copy of a file to target location.
cp myFile target/
mv(์ด๋) ๋ช
๋ น์ ํ์ผ์ ๋ค๋ฅธ ์์น๋ก ์ด๋ํ๊ฑฐ๋ ํ์ฌ ๋๋ ํ ๋ฆฌ์ ์์ผ๋ฉด ์ด๋ฆ์ ๋ฐ๊ฟ๋๋ค.
# move file to target location.
mv myFile target/
# rename file.
mv myFile newName
ํฐ๋ฏธ๋์์ ํ์ผ ์ฝ๊ธฐ/ํธ์ง
head/tail ๋ช
๋ น์ ํ์ผ์ ์ผ๋ถ๋ฅผ ์ธ์ํฉ๋๋ค.
# Print 10 first lines of a file.
head myFile
# Print 10 last lines of a file.
tail myFile
# Print 30 first lines of a file.
head -n 30 myfile
cat(์ฐ๊ฒฐ) ๋ช
๋ น์ ํ์ผ์ ๋ด์ฉ์ ์ธ์ํ๊ณ , ์ฌ๋ฌ ํ์ผ์ ํจ๊ป ์ฐ๊ฒฐํ๊ณ , ํ์ผ์ ๋ง๋ค๊ณ ํธ์งํ๋ ๋ฑ์ ์์
์ ์ํํ ์ ์์ต๋๋ค.
# Print content of a file in terminal.
cat myFile
# Print content of a file with numbers.
cat myFile -n
# Combine multiple files ogether.
cat fileOne fileTwo > target
๊ฒ์
grep(์ ๊ท์ ๊ฐ์ ธ์ค๊ธฐ)์ ์ฃผ์ด์ง ์์ ๊ฒ์ํฉ๋๋ค.
# Look for a word in a file.
grep word fileName
# Look for a word in a file without case sensitivity.
grep -i word fileName
๋ค์์ bash ๋ช
๋ น์ ๋ํ ๊ฐ์ธ ์นํธ ์ํธ์
๋๋ค!
์ฝ์ด์ฃผ์
์ ๊ฐ์ฌํฉ๋๋ค ๐
Reference
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(Bash ๋ช
๋ น ์๊ฐ ๐ง๐ฟโ๐ป), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค
https://dev.to/killianfrappartdev/bash-commands-introduction-13e7
ํ
์คํธ๋ฅผ ์์ ๋กญ๊ฒ ๊ณต์ ํ๊ฑฐ๋ ๋ณต์ฌํ ์ ์์ต๋๋ค.ํ์ง๋ง ์ด ๋ฌธ์์ URL์ ์ฐธ์กฐ URL๋ก ๋จ๊ฒจ ๋์ญ์์ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ
์ธ ๋ฐ๊ฒฌ์ ์ ๋
(Collection and Share based on the CC Protocol.)
# Go to target folder
cd /target
# Go to parent folder
cd ..
# Go to home folder
cd ~
# Print files located in the current directory.
ls
# Print files located in the target directory
ls targetparent/target
# Print files located in the current directory with more details.
ls -l
# Print every files located in the current directory (hidden files as well).
ls -a
# Make a new directory in current directory.
mkdir directoryName
# Make a new file in current directory.
touch fileName
# Delete an empty directory.
rmdir myDirectory
# Delete a file.
rm myFile
# Delete a directory recursively.
rm -r myDirectory
# Display current location in terminal.
pwd
# Create a copy of a file to target location.
cp myFile target/
# move file to target location.
mv myFile target/
# rename file.
mv myFile newName
# Print 10 first lines of a file.
head myFile
# Print 10 last lines of a file.
tail myFile
# Print 30 first lines of a file.
head -n 30 myfile
# Print content of a file in terminal.
cat myFile
# Print content of a file with numbers.
cat myFile -n
# Combine multiple files ogether.
cat fileOne fileTwo > target
# Look for a word in a file.
grep word fileName
# Look for a word in a file without case sensitivity.
grep -i word fileName
Reference
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(Bash ๋ช ๋ น ์๊ฐ ๐ง๐ฟโ๐ป), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://dev.to/killianfrappartdev/bash-commands-introduction-13e7ํ ์คํธ๋ฅผ ์์ ๋กญ๊ฒ ๊ณต์ ํ๊ฑฐ๋ ๋ณต์ฌํ ์ ์์ต๋๋ค.ํ์ง๋ง ์ด ๋ฌธ์์ URL์ ์ฐธ์กฐ URL๋ก ๋จ๊ฒจ ๋์ญ์์ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค