linux command


Linux Command – tar ใช้ในการจัดเก็บรวบรวม file ข้อมูล



1. สร้าง archive file จาก file ข้อมูล

  • option -c  ระบุว่าสร้าง archive file ใหม่
  • option -f  ระบุว่าตัวแปรต่อไปคือชื่อ file archive
$ tar -cf archive.tar file1 file2


2. แสดงข้อมูลภายใน archive file

  • option -t  ใช้ในการแสดง list ข้อมูล
  • option -v ระบุว่าแสดงข้อมูลแบบละเอียด
  • option -f  ระบุว่าตัวแปรต่อไปคือชื่อ file archive
$ tar -tvf archive.tar


3. แตก file ข้อมูลที่ archive

  • option -x  ระบุว่าทำการแตกข้อมูล file ออกมา
  • option -f  ระบุว่าตัวแปรต่อไปคือชื่อ file archive
$ tar -xf archive.tar


4. แตก file ข้อมูลที่ archive ที่มีการ zip

  • option -x  ระบุว่าทำการแตกข้อมูล file ออกมา
  • option -z  ระบุว่า file มีการ zip
  • option -v ระบุว่าแสดงข้อมูลแบบละเอียด
  • option -f  ระบุว่าตัวแปรต่อไปคือชื่อ file archive
$ tar -xzvf archive.tar.gz


5. สร้าง archive file จาก directory

$ tar -cf archive.tar mydir/


6. สร้าง archive file แบบ zip จาก directory

$ tar -czf archive.tar.gz mydir/


7. แตก arhive file แบบ zip ไปยัง direcory ปัจจุบัน

$ tar -zxvf myfile.tar.gz


8. แตก archive file โดยระบุเฉพาะ file ข้างในที่ต้องการ

$ tar -xvf archive.tar documents/work/budget.doc



 tar [-] A --catenate --concatenate | c --create | d --diff --compare | --delete | r --append | 
         t --list | --test-label | u --update | x --extract --get [options] [pathname ...]



เป็นคำสั่งที่ใช้ในการจัดเก็บรวบรวม file ข้อมูล (archive) ในลักษณะการรวมหลายๆ file และ directory เป็น file เดียวชื่อว่า file.tar รวมถึงสามารถแตก file ข้อมูลกลับออกมาได้



 Main operation mode:

 -A, --catenate, --concatenate
 append tar files to an archive

 -c, --create
 create a new archive

 -d, --diff, --compare
 find differences between archive and file system

 delete from the archive (not on mag tapes!)

 -r, --append
 append files to the end of an archive

 -t, --list
 list the contents of an archive

 test the archive volume label and exit

 -u, --update
 only append files newer than copy in archive

 -x, --extract, --get
 extract files from an archive

 Operation modifiers:

 specify drive and density

 -a, --auto-compress
 use archive suffix to determine the compression program

 Enable the POSIX ACLs support

 Disable the POSIX ACLs support

 add given FILE to the archive (useful if its name starts with a dash)

 patterns match file name start

 patterns match after any '/' (default for exclusion)

 preserve access times on dumped files, either by restoring the times after reading (METHOD='replace'; default) or by not setting the times in the first place (METHOD='system')

 do not use archive suffix to determine the compression program

 -b, --blocking-factor BLOCKS
 BLOCKS x 512 bytes per record

 -B, --read-full-records
 reblock as we read (for 4.2BSD pipes)

 backup before removal, choose version CONTROL

 -C, --directory DIR
 change to directory DIR

 check device numbers when creating incremental archives (default)

 do not check device numbers when creating incremental archives

 display progress messages every NUMBERth record (default 10)

 execute ACTION on each checkpoint

 only set time when the file is more recent than what was given with --mtime

 delay setting modification times and permissions of extracted directories until the end of extraction

 cancel the effect of --delay-directory-restore option

 exclude files, given as a PATTERN

 exclude backup and lock files

 exclude contents of directories containing CACHEDIR.TAG, except for the tag file itself

 exclude directories containing CACHEDIR.TAG

 exclude everything under directories containing CACHEDIR.TAG

 read exclude patterns for each directory from FILE, if it exists

 read exclude patterns for each directory and its subdirectories from FILE, if it exists

 exclude contents of directories containing FILE, except for FILE itself

 exclude directories containing FILE

 exclude everything under directories containing FILE

 exclude version control system directories

 read exclude patterns from the VCS ignore files

 -f, --file ARCHIVE
 use archive file or device ARCHIVE

 -F, --info-script, --new-volume-script NAME
 run script at end of each tape (implies -M)

 archive file is local even if it has a colon

 print file time to its full resolution

 -g, --listed-incremental FILE
 handle new GNU-format incremental backup

 -G, --incremental
 handle old GNU-format incremental backup

 force NAME as group for added files

 -h, --dereference
 follow symlinks; archive and dump the files they point to

 -H, --format FORMAT
 create archive of the given formatFORMAT is one of the following:

 GNU tar 1.13.x format

 GNU format as per tar <= 1.12

 POSIX 1003.1-2001 (pax) format

 same as pax

 POSIX 1003.1-1988 (ustar) format

 old V7 tar format

 follow hard links; archive and dump the files they refer to

 -i, --ignore-zeros
 ignore zeroed blocks in archive (means EOF)

 -I, --use-compress-program PROG
 filter through PROG (must accept -d)

 ignore case

 case sensitive matching (default)

 ignore exit codes of children

 treat non-zero exit codes of children as error

 do not exit with nonzero on unreadable files

 send verbose output to FILE

 -j, --bzip2

 -J, --xz

 -k, --keep-old-files
 don't replace existing files when extracting, treat them as errors

 -K, --starting-file MEMBER-NAME
 begin at member MEMBER-NAME when reading the archive

 preserve existing symlinks to directories when extracting

 don't replace existing files that are newer than their archive copies

 -l, --check-links
 print a message if not all links are dumped

 -L, --tape-length NUMBER
 change tape after writing NUMBER x 1024 bytes

 dump level for created listed-incremental archive




 -m, --touch
 don't extract file modified time

 -M, --multi-volume
 create/list/extract multi-volume archive

 force (symbolic) mode CHANGES for added files

 set mtime for added files from DATE-OR-FILE

 -n, --seek
 archive is seekable

 -N, --newer, --after-date DATE-OR-FILE
 only store files newer than DATE-OR-FILE

 compare date and time when data changed only

 -T reads null-terminated names, disable -C

 disable the effect of the previous --null option

 always use numbers for user/group names

 -O, --to-stdout
 extract files to standard output

 process only the NUMBERth occurrence of each file in the archive; this option is valid only in conjunction with one of the subcommands --delete, --diff, --extract or --list and
 when a list of files is given either on the command line or via the -T option; NUMBER defaults to 1

 --old-archive, --portability
 same as --format=v7

 stay in local file system when creating archive

 create a subdirectory to avoid having loose files extracted

 overwrite existing files when extracting

 overwrite metadata of existing directories when extracting (default)

 preserve metadata of existing directories

 force NAME as owner for added files

 -p, --preserve-permissions, --same-permissions
 extract information about file permissions (default for superuser)

 -P, --absolute-names
 don't strip leading '/'s from file names

 control pax keywords

 same as --format=posix

 same as both -p and -s

 additionally quote characters from STRING

 disable quoting for characters from STRING

 set name quoting style; see below for valid STYLE values

 -R, --block-number
 show block number within archive with each message

 NUMBER of bytes per record, multiple of 512

 recurse into directories (default)

 avoid descending automatically in directories

 empty hierarchies prior to extracting directory

 remove files after adding them to the archive

 disable use of some potentially harmful options

 use given rmt COMMAND instead of rmt

 use remote COMMAND instead of rsh

 -s, --preserve-order, --same-order
 member arguments are listed in the same order as the files in the archive

 -S, --sparse
 handle sparse files efficiently

 try extracting files with the same ownership as exists in the archive (default for superuser)

 extract files as yourself (default for ordinary users)

 apply the user's umask when extracting permissions from the archive (default for ordinary users)

 archive is not seekable

 Enable the SELinux context support

 Disable the SELinux context support

 show tar defaults

 when listing or extracting, list each directory that does not match search criteria

 show valid ranges for snapshot-file fields

 --show-transformed-names, --show-stored-names
 show file or archive names after transformation

 don't replace existing files when extracting, silently skip over them

 directory sorting order: none (default), name or inodedirectory sorting order: none (default) or name

 set version of the sparse format to use (implies --sparse)

 strip NUMBER leading components from file names on extraction

 backup before removal, override usual suffix ('~' unless overridden by environment variable SIMPLE_BACKUP_SUFFIX)

 -T, --files-from FILE
 get names to extract or create from FILE

 pipe extracted files to another program

 print total bytes after processing the archive; with an argument - print total bytes when this SIGNAL is delivered; Allowed signals are: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 and
 SIGUSR2; the names without SIG prefix are also accepted

 --transform, --xform EXPRESSION
 use sed replace EXPRESSION to transform file names

 -U, --unlink-first
 remove each file prior to extracting over it

 unquote input file or member names (default)

 do not unquote input file or member names

 print file modification times in UTC

 -v, --verbose
 verbosely list files processed

 -V, --label TEXT
 create archive with volume name TEXT; at list/extract time, use TEXT as a globbing pattern for volume name

 use/update the volume number in FILE

 -w, --interactive, --confirmation
 ask for confirmation for every action

 -W, --verify
 attempt to verify the archive after writing it

 warning control

 use wildcards (default for exclusion)

 wildcards match '/' (default for exclusion)

 wildcards do not match '/'

 verbatim string matching

 -X, --exclude-from FILE
 exclude patterns listed in FILE

 Enable extended attributes support

 specify the exclude pattern for xattr keys

 specify the include pattern for xattr keys

 Disable extended attributes support

 -z, --gzip, --gunzip --ungzip

 -Z, --compress, --uncompress



tar(5), symlink(7), rmt(8)



คำสั่ง Unix – Linux Command

Linux, Unix


Author: Suphakit Annoppornchai


Leave a Reply