Skip to main content

02A. ๊ด€๋ฆฌ๋ช…๋ น์–ด

2024๋…„ 4์›” 22์ผAbout 5 minCLILinuxcrashcoursewikidocs.netclishshelllinux

02A. ๊ด€๋ฆฌ๋ช…๋ น์–ด ๊ด€๋ จ

Bash ์‰˜์Šคํฌ๋ฆฝํŠธ ๊ฐœ๋ฐœ ์‹œ์ž‘ํ•˜๊ธฐ

Bash ์‰˜์Šคํฌ๋ฆฝํŠธ ๊ฐœ๋ฐœ ์‹œ์ž‘ํ•˜๊ธฐ

2. ๋ช…๋ น์–ด - 1. ๊ด€๋ฆฌ๋ช…๋ น์–ด

์ ํ”„ ํˆฌ ์Šคํ”„๋ง๋ถ€ํŠธ - WikiDocs

ํ”„๋กœ์„ธ์Šค, ๋ฉ”๋ชจ๋ฆฌ, ํŒŒ์ผ์‹œ์Šคํ…œ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ๋ช…๋ น์–ด ์ž…๋‹ˆ๋‹ค. ์‹œ์Šคํ…œ ์šด์˜์„ ์œ„ํ•ด ํ•„์š”ํ•œ ๋ช…๋ น์–ด ์ž…๋‹ˆ๋‹ค.


1.์‹œ์Šคํ…œ๊ด€๋ฆฌ

2. ๋ช…๋ น์–ด - 1. ๊ด€๋ฆฌ๋ช…๋ น์–ด - 1. ์‹œ์Šคํ…œ๊ด€๋ฆฌ

์ ํ”„ ํˆฌ ์Šคํ”„๋ง๋ถ€ํŠธ - WikiDocs

ํ”„๋กœ์„ธ์Šค, ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ๋ช…๋ น์–ด ์ž…๋‹ˆ๋‹ค.

crontab

2. ๋ช…๋ น์–ด - 1. ๊ด€๋ฆฌ๋ช…๋ น์–ด - 1. ์‹œ์Šคํ…œ๊ด€๋ฆฌ - crontab

์ ํ”„ ํˆฌ ์Šคํ”„๋ง๋ถ€ํŠธ - WikiDocs

์ •๊ธฐ์ ์œผ๋กœ ์ง€์ •ํ•œ ์‹œ๊ฐ„์— ์‹คํ–‰ํ•˜๊ณ  ์‹ถ์€ ๋ช…๋ น์–ด๋ฅผ ๋“ฑ๋กํ•ฉ๋‹ˆ๋‹ค. ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋“ฑ๋กํ•ด๋„ ๋ฉ๋‹ˆ๋‹ค.

๋“ฑ๋กํ•œ ๊ณ„์ •์˜ ์‚ฌ์šฉ์ž๋กœ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์‚ฌ์šฉ์ž์˜ ํฌ๋ก ํƒญ์„ ๋“ฑ๋กํ•˜๋ ค๋ฉด -u์˜ต์…˜์„ ์ด์šฉํ•ฉ๋‹ˆ๋‹ค.

์ฃผ์š” ์˜ต์…˜

์˜ต์…˜์„ค๋ช…
-l๋“ฑ๋ก๋œ ๋ช…๋ น์–ด ๋ฆฌ์ŠคํŠธ ํ™•์ธ
-e๋“ฑ๋ก๋œ ๋ช…๋ น์–ด๋ฅผ ์ˆ˜์ •
-r๋“ฑ๋ก๋œ ํฌ๋ก ํƒญ์„ ์‚ญ์ œ
-uํฌ๋ก ํƒญ์„ ๋“ฑ๋กํ•  ์‚ฌ์šฉ์ž ์ง€์ •

์‚ฌ์šฉ ์˜ˆ์ œ

ํฌ๋ก ํƒญ ๋“ฑ๋ก

-e ์˜ต์…˜์œผ๋กœ ์‹คํ–‰ํ•˜๋ฉด ํฌ๋ก ํƒญ์„ ๋“ฑ๋กํ•˜๊ธฐ ์œ„ํ•œ ํŒŒ์ผ์ด ์—ด๋ฆฝ๋‹ˆ๋‹ค. vi์—๋””ํ„ฐ์™€ ๋™์ผํ•œ ๋ช…๋ น์œผ๋กœ ํ•„์š”ํ•œ ๋ช…๋ น์–ด๋ฅผ ๋“ฑ๋กํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

# ํฌ๋ก ํƒญ์„ ๋“ฑ๋ก
crontab -e

# ๋“ฑ๋ก๋œ ํฌ๋ก ํƒญ์„ ํ™•์ธ
crontab -l

ํฌ๋ก ํƒญ ์œ„์น˜

ํฌ๋ก ํƒญ ํŒŒ์ผ์€ OS์— ๋”ฐ๋ผ ์œ„์น˜๊ฐ€ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

exec

2. ๋ช…๋ น์–ด - 1. ๊ด€๋ฆฌ๋ช…๋ น์–ด - 1. ์‹œ์Šคํ…œ๊ด€๋ฆฌ - exec

์ ํ”„ ํˆฌ ์Šคํ”„๋ง๋ถ€ํŠธ - WikiDocs

์ฃผ์–ด์ง„ ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๋Š”๋ฐ ์ƒˆ๋กœ์šด ํ”„๋กœ์„ธ์Šค๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š๊ณ , ์‰˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋Œ€์ฒดํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด bash ์‰˜์—์„œ ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๋ฉด ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์˜ ppid๊ฐ€ bash ์‰˜์ด ๋˜๊ณ , ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์ด bash ์‰˜์˜ ํ•˜์œ„ ํ”„๋กœ์„ธ์Šค๋กœ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. exec ์ปค๋งจ๋“œ๋กœ ์‹คํ–‰ํ•˜๋ฉด bash์‰˜์˜ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์ด ๋ฉ๋‹ˆ๋‹ค. ppid๊ฐ€ ๋”ฐ๋กœ ์—…์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ž๋ฐ”ํ”„๋กœ๊ทธ๋žจ์ด ์ข…๋ฃŒ๋˜๋ฉด ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋ฉ๋‹ˆ๋‹ค. bash ์‰˜๋กœ ๋Œ์•„์˜ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ์˜ ์ƒํ™ฉ์„ ์‚ดํŽด๋ณด๋ฉด macbook์—์„œ masternode๋กœ ์ ‘๊ทผํ•˜์—ฌ echo ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด masternode์˜ bash์‰˜์ž…๋‹ˆ๋‹ค. exec๋กœ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋ฉด bash์‰˜์ด echo ๋ช…๋ น์œผ๋กœ ๋Œ€์ฒด๋˜๊ณ , ์ข…๋ฃŒ๋˜๋ฉด bash์‰˜์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์‹œ macbook์œผ๋กœ ๋Œ์•„์˜ต๋‹ˆ๋‹ค.

โžœ  macbook โœ— ssh root@masternode
echo "aa"
#
# aa
exec echo "aa"
#
# aa
# โžœ  macbook โœ—

์ฃผ์š” ์˜ต์…˜

์˜ต์…˜์„ค๋ช…
-cํ™˜๊ฒฝ ๋ณ€์ˆ˜๊ฐ€ ์—†๋Š” ์ƒํƒœ๋กœ ์‹คํ–‰
-a <NAME>0๋ฒˆ์งธ ์ธ์ˆ˜๋กœ ์ด๋ฆ„์„ ์ „๋‹ฌ
-l0๋ฒˆ์งธ ์ธ์ˆ˜๋กœ ๋Œ€์‰ฌ๋ฅผ ์ „๋‹ฌ

์‚ฌ์šฉ์˜ˆ์ œ

exec echo "aa"
# aa
#
exec java -cp '/etc/hadoop/conf' org.apache.hadoop.hdfs.server.datanode.SecureDataNodeStarter

findmnt

2. ๋ช…๋ น์–ด - 1. ๊ด€๋ฆฌ๋ช…๋ น์–ด - 1. ์‹œ์Šคํ…œ๊ด€๋ฆฌ - findmnt

์ ํ”„ ํˆฌ ์Šคํ”„๋ง๋ถ€ํŠธ - WikiDocs

findmnt๋Š” ๋งˆ์šดํŠธ๋œ ํŒŒ์ผ ์‹œ์Šคํ…œ ๋ชฉ๋ก์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

์ฃผ์š” ์˜ต์…˜

์˜ต์…˜์„ค๋ช…
-l์ •๋ณด๋ฅผ ๋ชฉ๋ก ํ˜•์‹์œผ๋กœ ์ถœ๋ ฅ
-tํŒŒ์ผ ์‹œ์Šคํ…œ ์œ ํ˜•์„ ์ธก์ •

์‚ฌ์šฉ ์˜ˆ์ œ

findmnt
#
# **TARGET                                SOURCE     FSTYPE  OPTIONS**
# /                                     /dev/sda3  ext4    rw,relatime,errors=remo
# โ”œโ”€/sys                                sysfs      sysfs   rw,nosuid,nodev,noexec,
# โ”‚ โ”œโ”€/sys/kernel/security              securityfs securit rw,nosuid,nodev,noexec,
# โ”‚ โ”œโ”€/sys/fs/cgroup                    tmpfs      tmpfs   ro,nosuid,nodev,noexec,

findmnt -l
#
# **TARGET                          SOURCE     FSTYPE          OPTIONS**
# /sys                            sysfs      sysfs           rw,nosuid,nodev,noexec,relatime
# /proc                           proc       proc            rw,nosuid,nodev,noexec,relatime
# /dev                            udev       devtmpfs        rw,nosuid,relatime,size=3996916k,nr_inodes=999229,mode=755

findmnt -t ext4
#
# **TARGET                        SOURCE    FSTYPE OPTIONS**
# /                             /dev/sda3 **ext4**   rw,relatime,errors=remount-ro,data=ordered
# โ””โ”€/media/tecmint/Data_Storage /dev/sda5 **ext4**   rw,nosuid,nodev,relatime,data=ordered

free

2. ๋ช…๋ น์–ด - 1. ๊ด€๋ฆฌ๋ช…๋ น์–ด - 1. ์‹œ์Šคํ…œ๊ด€๋ฆฌ - free

์ ํ”„ ํˆฌ ์Šคํ”„๋ง๋ถ€ํŠธ - WikiDocs

history

2. ๋ช…๋ น์–ด - 1. ๊ด€๋ฆฌ๋ช…๋ น์–ด - 1. ์‹œ์Šคํ…œ๊ด€๋ฆฌ - history

์ ํ”„ ํˆฌ ์Šคํ”„๋ง๋ถ€ํŠธ - WikiDocs

htop

2. ๋ช…๋ น์–ด - 1. ๊ด€๋ฆฌ๋ช…๋ น์–ด - 1. ์‹œ์Šคํ…œ๊ด€๋ฆฌ - htop

์ ํ”„ ํˆฌ ์Šคํ”„๋ง๋ถ€ํŠธ - WikiDocs

jobs

2. ๋ช…๋ น์–ด - 1. ๊ด€๋ฆฌ๋ช…๋ น์–ด - 1. ์‹œ์Šคํ…œ๊ด€๋ฆฌ - jobs

์ ํ”„ ํˆฌ ์Šคํ”„๋ง๋ถ€ํŠธ - WikiDocs

journalctl

2. ๋ช…๋ น์–ด - 1. ๊ด€๋ฆฌ๋ช…๋ น์–ด - 1. ์‹œ์Šคํ…œ๊ด€๋ฆฌ - journalctl

์ ํ”„ ํˆฌ ์Šคํ”„๋ง๋ถ€ํŠธ - WikiDocs

kill

2. ๋ช…๋ น์–ด - 1. ๊ด€๋ฆฌ๋ช…๋ น์–ด - 1. ์‹œ์Šคํ…œ๊ด€๋ฆฌ - kill

์ ํ”„ ํˆฌ ์Šคํ”„๋ง๋ถ€ํŠธ - WikiDocs

logrotate

2. ๋ช…๋ น์–ด - 1. ๊ด€๋ฆฌ๋ช…๋ น์–ด - 1. ์‹œ์Šคํ…œ๊ด€๋ฆฌ - logrotate

์ ํ”„ ํˆฌ ์Šคํ”„๋ง๋ถ€ํŠธ - WikiDocs

man

2. ๋ช…๋ น์–ด - 1. ๊ด€๋ฆฌ๋ช…๋ น์–ด - 1. ์‹œ์Šคํ…œ๊ด€๋ฆฌ - man

์ ํ”„ ํˆฌ ์Šคํ”„๋ง๋ถ€ํŠธ - WikiDocs

mount

2. ๋ช…๋ น์–ด - 1. ๊ด€๋ฆฌ๋ช…๋ น์–ด - 1. ์‹œ์Šคํ…œ๊ด€๋ฆฌ - mount

์ ํ”„ ํˆฌ ์Šคํ”„๋ง๋ถ€ํŠธ - WikiDocs

nohup

2. ๋ช…๋ น์–ด - 1. ๊ด€๋ฆฌ๋ช…๋ น์–ด - 1. ์‹œ์Šคํ…œ๊ด€๋ฆฌ - nohup

์ ํ”„ ํˆฌ ์Šคํ”„๋ง๋ถ€ํŠธ - WikiDocs

ntp

2. ๋ช…๋ น์–ด - 1. ๊ด€๋ฆฌ๋ช…๋ น์–ด - 1. ์‹œ์Šคํ…œ๊ด€๋ฆฌ - ntp

์ ํ”„ ํˆฌ ์Šคํ”„๋ง๋ถ€ํŠธ - WikiDocs

openssl

2. ๋ช…๋ น์–ด - 1. ๊ด€๋ฆฌ๋ช…๋ น์–ด - 1. ์‹œ์Šคํ…œ๊ด€๋ฆฌ - openssl

์ ํ”„ ํˆฌ ์Šคํ”„๋ง๋ถ€ํŠธ - WikiDocs

pgrep

2. ๋ช…๋ น์–ด - 1. ๊ด€๋ฆฌ๋ช…๋ น์–ด - 1. ์‹œ์Šคํ…œ๊ด€๋ฆฌ - pgrep

์ ํ”„ ํˆฌ ์Šคํ”„๋ง๋ถ€ํŠธ - WikiDocs

ps

2. ๋ช…๋ น์–ด - 1. ๊ด€๋ฆฌ๋ช…๋ น์–ด - 1. ์‹œ์Šคํ…œ๊ด€๋ฆฌ - ps

์ ํ”„ ํˆฌ ์Šคํ”„๋ง๋ถ€ํŠธ - WikiDocs

sar

2. ๋ช…๋ น์–ด - 1. ๊ด€๋ฆฌ๋ช…๋ น์–ด - 1. ์‹œ์Šคํ…œ๊ด€๋ฆฌ - sar

์ ํ”„ ํˆฌ ์Šคํ”„๋ง๋ถ€ํŠธ - WikiDocs

2. ์‚ฌ์šฉ์ž๊ด€๋ฆฌ

2. ๋ช…๋ น์–ด - 1. ๊ด€๋ฆฌ๋ช…๋ น์–ด - 2. ์‚ฌ์šฉ์ž๊ด€๋ฆฌ

์ ํ”„ ํˆฌ ์Šคํ”„๋ง๋ถ€ํŠธ - WikiDocs

์‚ฌ์šฉ์ž, ๊ทธ๋ฃน ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ๋ช…๋ น์–ด ์ž…๋‹ˆ๋‹ค.

groupadd

๊ทธ๋ฃน์„ ์ถ”๊ฐ€ ํ•˜๋Š” ๋ช…๋ น์–ด์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฃน ์ •๋ณด๋Š” /etc/group์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฃผ์š” ์˜ต์…˜

์˜ต์…˜์„ค๋ช…
-ggid ํ• ๋‹น

/etc/group

์‹œ์Šคํ…œ์˜ ๊ทธ๋ฃน์ •๋ณด๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

# ๊ทธ๋ฃน๋ช…:๋น„๋ฐ€๋ฒˆํ˜ธ:๊ทธ๋ฃนID:๊ทธ๋ฃน์‚ฌ์šฉ์ž
cat /etc/group
#
# root:x:0:
# daemon:x:1:
# groupa:x:10001:usera,userb

์‚ฌ์šฉ์˜ˆ์ œ

๊ทธ๋ฃน ์ถ”๊ฐ€
# ๊ทธ๋ฃน groupa ์ถ”๊ฐ€ 
groupadd groupa

useradd

์‚ฌ์šฉ์ž ์ถ”๊ฐ€๋ฅผ ํ•˜๋Š” ๋ช…๋ น์–ด์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž ์ •๋ณด๋Š” /etc/passwd์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฃผ์š” ์˜ต์…˜

์˜ต์…˜์„ค๋ช…
-g์‚ฌ์šฉ์ž ๊ทธ๋ฃน์„ ์ถ”๊ฐ€
-d์‚ฌ์šฉ์ž ๋””๋ ‰ํ† ๋ฆฌ ์ง€์ •
-s์‰˜ ์ง€์ •
-pํŒจ์Šค์›Œ๋“œ ์ง€์ •
-m์‚ฌ์šฉ์ž์˜ ํ™ˆ๋””๋ ‰ํ† ๋ฆฌ ์ƒ์„ฑ

/etc/passwd

# ์‚ฌ์šฉ์ž์ด๋ฆ„:๋น„๋ฐ€๋ฒˆํ˜ธ:์‚ฌ์šฉ์žID:๊ทธ๋ฃนID:์‚ฌ์šฉ์ž์„ค๋ช…:ํ™ˆ๋””๋ ‰ํ† ๋ฆฌ:๊ธฐ๋ณธ์‰˜
cat /etc/passwd
#
# root:x:0:0:root:/root:/bin/bash
# bin:x:1:1:bin:/bin:/sbin/nologin

์‚ฌ์šฉ์˜ˆ์ œ

์‚ฌ์šฉ์ž ์ถ”๊ฐ€
# ์‚ฌ์šฉ์ž aa๋ฅผ ์ถ”๊ฐ€ํ•˜๋ฉด์„œ ๊ทธ๋ฃน์€ gg๋กœ ์„ค์ •
useradd aa -g gg

# deploy ๊ณ„์ •์„ ์ƒ์„ฑํ•˜๋ฉด, /home/deploy ๋””๋ ‰ํ† ๋ฆฌ๋„ ํ•จ๊ป˜ ์ƒ์„ฑ 
useradd -m deploy

3. ํŒŒ์ผ ์‹œ์Šคํ…œ

2. ๋ช…๋ น์–ด - 1. ๊ด€๋ฆฌ๋ช…๋ น์–ด - 3. ํŒŒ์ผ ์‹œ์Šคํ…œ

์ ํ”„ ํˆฌ ์Šคํ”„๋ง๋ถ€ํŠธ - WikiDocs

ํŒŒ์ผ ์‹œ์Šคํ…œ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ๋ช…๋ น์–ด์ž…๋‹ˆ๋‹ค.


4. ์••์ถ•

2. ๋ช…๋ น์–ด - 1. ๊ด€๋ฆฌ๋ช…๋ น์–ด - 4. ์••์ถ•

์ ํ”„ ํˆฌ ์Šคํ”„๋ง๋ถ€ํŠธ - WikiDocs

ํŒŒ์ผ์˜ ์••์ถ•์„ ์œ„ํ•œ ๋ช…๋ น์–ด์ž…๋‹ˆ๋‹ค.

gzip, gunzip, zcat

gizp์€ ํŒŒ์ผ์„ ์••์ถ•ํ•  ๋•Œ, gunzip์€ ํŒŒ์ผ์˜ ์••์ถ•์„ ํ•ด์ œํ•  ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์••์ถ•ํ•œ ํŒŒ์ผ์€ .gz ์ด ๋ถ™๊ณ  ๊ธฐ์กด ํŒŒ์ผ์€ ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค. ํŒŒ์ผ, ๋””๋ ‰ํ† ๋ฆฌ ๋‹จ์œ„๋กœ ์••์ถ•๋˜๋ฏ€๋กœ ์—ฌ๋Ÿฌ๊ฐœ์˜ ํŒŒ์ผ์„ ์••์ถ•ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” tar ๋ช…๋ น์„ ์ด์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ฃผ์š” ์˜ต์…˜

์˜ต์…˜์„ค๋ช…
-r๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์••์ถ•
-d์••์ถ•์„ ํ•ด์ œ. gunzip๊ณผ ๊ฐ™์€ ๋™์ž‘
-l์••์ถ• ์ •๋ณด๋ฅผ ํ‘œ์‹œ
-cgzip ํŒŒ์ผ์„ ์ฝ์–ด์„œ ํ‘œ์ค€ ์ถœ๋ ฅ์œผ๋กœ ์ถœ๋ ฅ. zcat๊ณผ ๋™์ผํ•˜๊ฒŒ ๋™์ž‘

์‚ฌ์šฉ์˜ˆ์ œ

ํŒŒ์ผ ์••์ถ•
# sample.txt ํŒŒ์ผ์„ ์••์ถ•ํ•˜๋ฉด sample.txt.gz ํŒŒ์ผ์ด ์ƒ์„ฑ 
ls
#
# sample.txt
gzip sample.txt
ls
#
#sample.txt.gz

tar

์—ฌ๋Ÿฌ๊ฐœ์˜ ํŒŒ์ผ์„ ๋ชจ์•„์„œ ํ•˜๋‚˜์˜ ํŒŒ์ผ(tar ํ˜•์‹)๋กœ ๋งŒ๋“ค์–ด ์ค๋‹ˆ๋‹ค.

์ฃผ์š” ์˜ต์…˜

์˜ต์…˜์„ค๋ช…
-cํŒŒ์ผ ๋ฌถ์Œ์„ ์ƒ์„ฑ
-xํŒŒ์ผ ๋ฌถ์Œ์„ ํ•ด์ œ
-zํŒŒ์ผ์„ gzip ์••์ถ•ํ•˜๋ฉด์„œ ๋ฌถ์Œ์„ ์ƒ์„ฑ
-v์ฒ˜๋ฆฌ ์ƒํ™ฉ์„ ์ถœ๋ ฅ
-tํŒŒ์ผ ๋ฌถ์Œ์— ๋“ค์–ด์žˆ๋Š” ํŒŒ์ผ ๋ชฉ๋ก์„ ์ถœ๋ ฅ
-P์ ˆ๋Œ€ ๊ฒฝ๋กœ ์ฒ˜๋ฆฌ
--excludeํŒŒ์ผ ์ œ์™ธ. exclude๋Š” tar ๋ฒ„์ „์— ๋”ฐ๋ผ ์ปค๋งจ๋“œ์˜ ์ œ์ผ ์•ž์— ์‚ฌ์šฉ๋˜์–ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๋„ ์žˆ์Œ.
--deleteํŒŒ์ผ ์‚ญ์ œ

์‚ฌ์šฉ์˜ˆ์ œ

ํŒŒ์ผ ์••์ถ•
# foo, bar๋ฅผ archive.tar๋กœ ๋งŒ๋“ฌ 
tar -cf archive.tar foo bar

# archive.tar ํŒŒ์ผ ์•ˆ์— ๋ฌถ์—ฌ ์žˆ๋Š” ๋‚ด์šฉ์„ ํ™•์ธ
tar -tf archive.tar

# foo, bar๋ฅผ gzip ์••์ถ•ํ•˜์—ฌ archive.tar.gz ์œผ๋กœ ๋งŒ๋“ฌ 
tar -zcvf archive.tar.gz foo bar

# source_dir์˜ .log, .attatch ๋กœ ๋๋‚˜๋Š” ํŒŒ์ผ, folder_name ๋””๋ ‰ํ† ๋ฆฌ ์ œ์™ธํ•˜๊ณ  file.tar.gz ์œผ๋กœ ์••์ถ• 
tar -zcvf file.tar.gz source_dir --exclude="*.log" --exclude="*.attach*" --exclude="./folder_name"

# source_dir์˜ logs ํด๋”๋Š” ์ œ์™ธํ•˜๊ณ  ์••์ถ•. exclude ์˜ต์…˜์„ ์ œ์ผ ์•ž์— ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Œ 
tar --exclude="source_dir/logs" -zcvf file.tar.gz source_dir

๊ฒฝ๊ณ : tar: Removing leading `/' from member names

tar ๋กœ ์••์ถ•์„ ์ง„ํ–‰ํ•  ๋•Œ ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋กœ ์„ค์ •๋˜์–ด ์žˆ์œผ๋ฉด ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ๊ณ ์ž…๋‹ˆ๋‹ค. ์ ˆ๋Œ€ ๊ฒฝ๋กœ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ์••์ถ•์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๊ฒฝ๊ณ  ์ด๊ธฐ ๋•Œ๋ฌธ์— ์ฐธ๊ณ ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.
# ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ ์‹ค์ œ ์••์ถ•์€ etc/sample/conf ๋กœ ์ง„ํ–‰ 
tar -zcf sample.tgz /etc/sample/conf

# ํŒŒ์ผ ์••์ถ• ์ƒํƒœ ํ™•์ธ 
tar -tf sample.tgz
#
# etc/sample/conf/file_a
# etc/sample/conf/file_b

tar -zcfP sample2.tgz /etc/sample/conf

# ํŒŒ์ผ ์••์ถ• ์ƒํƒœ ํ™•์ธ 
# / ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์••์ถ•์ด ์ง„ํ–‰ ๋จ 
tar -tf sample2.tgz
#
# /etc/sample/conf/file_a
# /etc/sample/conf/file_b

GNU-tar / BSD-tar

tar ์‹คํ–‰ ํŒŒ์ผ์€ GNU ๋ฒ„์ „๊ณผ BSD ๋ฒ„์ „์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋งฅ๋ถ Ventura ๋ฒ„์ „์—์„œ๋Š” BSD tar ์ด ์„ค์น˜ ๋˜์—ˆ๊ณ , ์šฐ๋ถ„ํˆฌ 20์—๋Š” GNU tar ์ด ์„ค์น˜ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ๋งฅ๋ถ์—์„œ ์••์ถ•ํ•œ tar ํŒŒ์ผ์„ ์šฐ๋ถ„ํˆฌ์—์„œ ์••์ถ• ํ•ด์ œํ•  ๋•Œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜์˜€์Šต๋‹ˆ๋‹ค.

์ด๋•Œ๋Š” ๋งฅ๋ถ์— GNU ๋ฒ„์ „ tar ์„ ์„ค์น˜ํ•˜์—ฌ ์˜ค๋ฅ˜๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

# ๋งฅ๋ถ ๊ธฐ๋ณธ tar
tar --version
#
# bsdtar 3.5.3 - libarchive 3.5.3 zlib/1.2.11 liblzma/5.0.5 bz2lib/1.0.8

# gnu tar ์„ค์น˜ ํ›„ ํ™•์ธ 
brew install gnu-tar
gtar --version
#
# tar (GNU tar) 1.34
# Copyright (C) 2021 Free Software Foundation, Inc.
# License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
# This is free software: you are free to change and redistribute it.
# There is NO WARRANTY, to the extent permitted by law.
# 
# Written by John Gilmore and Jay Fenlason.

zip, unzip

zip, unzip ํ˜•์‹์˜ ํŒŒ์ผ ์••์ถ•์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

์ฃผ์š” ์˜ต์…˜

์˜ต์…˜์„ค๋ช…
-rํด๋” ์••์ถ•
-qquite ์˜ต์…˜
-d์‚ญ์ œ
-x์ œ์™ธ
-o๋ฎ์–ด์“ฐ๊ธฐ

์˜ˆ์ œ

์••์ถ•
# ํŒŒ์ผ ์••์ถ• 
zip sample.zip sample.txt abc.txt

# ํด๋” ์••์ถ• 
zip -r folder.zip abc/