EDA365电子论坛网

标题: Linux文件在系统中传输 [打印本页]

作者: dapmood    时间: 2021-6-3 15:01
标题: Linux文件在系统中传输

$ I1 p) M9 e: {$ X2 o7 n" ^; q7 T* a一、文件的传输
6 ~3 |  ~# I) M! q% E( X4 H3 Q/ L1 s. J6 Z  g2 \3 N2 m
1.命令:scp
$ H2 G; q3 Q' H" z" x: j0 T: }) G. [% S' ?/ o9 y
  scp  file  user@ip:/dir    ##把当前系统目录下的文件file复制到另一个系统目录下
/ w( }% A" o, U- M" c, z6 t, @* m
9 k1 `& ?& y$ |5 r: s0 [  scp  user@ip:/file  dir5 C3 D9 f5 `( T3 D  [

7 B( {6 G' E( ?2 [2.命令:rsync    ##数据的远程同步 ,可以加快传输速率
+ {# I2 ~4 t2 C6 X, G+ i0 p3 g! w" w- a& B9 W" z
  常用参数:-r  ##同步目录里面的内容       -p  ##同步权限      -D  ##同步传输设备- |" ^, s" a) _6 Z5 _
                -o  ##同步用户                -g  ##同步组信息
+ [- k' N( x; L! Y( `' Q) c0 l& y6 h. x7 Q1 g: ]! |, w
                -t  ##同步时间戳              -l  ##同步链接
' C% B( E( V; {) G: C4 [6 g
: p* H# b7 Z$ H8 K% P6 ^  示例:  在主机97下进行的命令rsync -r niu/ root@172.25.254.177:/mnt/的操作:
! m& `  P+ b) c$ x$ f8 [5 n  [root@localhost mnt]# mkdir niu
! A, E9 t6 ^! O  g9 }) E  [root@localhost mnt]# touch niu/file{1..3}
" K1 W! |0 h" {1 ^
  l! s6 s* o5 {5 k& Q  [root@localhost mnt]# chmod 777 niu/*  }' L5 A- G2 f
' `9 d0 [8 r/ w  w- ]0 r
  [root@localhost niu]# chown student.student *6 E# e& J# R; I
  [root@localhost niu]# ls -l9 [- T, I: A0 H0 D  s2 d
  total 0- h9 C: H: |3 P! b
  -rwxrwxrwx. 1 student student 0 Jul 26 08:49 file1. F' E. V0 X$ ^1 h4 e& ^
  -rwxrwxrwx. 1 student student 0 Jul 26 08:49 file2# |' {5 u' T  x# s+ M
  -rwxrwxrwx. 1 student student 0 Jul 26 08:49 file3
7 b" V5 Z' N& i% P  [root@localhost mnt]# rsync -r niu/ root@172.25.254.177:/mnt/
+ q1 d% a+ N4 r5 k   在主机177里面进行查看:
, b  i/ Z+ {- F4 z9 K- T6 f, L   [root@localhost mnt]# ls -l
7 X: {* c0 p4 y% [2 ]   total 0
5 A' V6 i; x' p   -rwxrwxrwx 1 root root 0 Jul 26 09:00 file1
3 z0 q! d- m+ j% M   -rwxrwxrwx 1 root root 0 Jul 26 09:00 file2/ R4 ]/ g1 G) Q& g
   -rwxrwxrwx 1 root root 0 Jul 26 09:00 file3* N! c. K+ F$ {4 ?( E; ^
   在97主机下使用rsync -rp niu/ root@172.25.254.177:/mnt/的操作:" ?/ C% M3 v& N
  1 [! N( d/ U3 i$ c% y2 k+ @3 \

1 h1 k' k" I2 {7 Z6 R   [root@localhost mnt]# rsync -rp niu/ root@172.25.254.177:/mnt/
* h' o9 y( w$ }5 A5 H* B3 m0 b1 i' B; O* i
   在177主机下进行测试 :  (文件的权限相同的)
* _; c( a! T$ q; f/ q" i2 Y( x* y1 T   [root@localhost mnt]# ls -l
  y  O2 |7 O3 N" _   total 0
" v; t3 k% l' h# k0 s7 t   -rwxrwxrwx 1 root root 0 Jul 26 09:00 file11 A+ T2 t& t1 r1 s1 S5 F: S; G
   -rwxrwxrwx 1 root root 0 Jul 26 09:00 file2
* V  W# o; x& g: S   -rwxrwxrwx 1 root root 0 Jul 26 09:00 file3* b; _; {9 \  g
   在97主机下使用rsync -rpogt niu/  root@172.25.254.177:/mnt/的操作:; j' P' J  g- ?. I; ?0 r& }
   [root@localhost niu]# ls -l
7 T# i% A9 V% i# @, l! m   total 0
6 s' I7 X+ D# w; y* ^   -rwxrwxrwx. 1 student student 0 Jul 26 08:49 file1# ~: ~9 D6 r/ [, ]
   -rwxrwxrwx. 1 student student 0 Jul 26 08:49 file2
  p% ^, l4 B4 y9 v7 h   -rwxrwxrwx. 1 student student 0 Jul 26 08:49 file3, l% U7 b$ n' d
    [root@localhost mnt]# rsync -rpogt niu/ root@172.25.254.177:/mnt/
7 ]: B1 c7 m  {3 Z) _    root@172.25.254.177's password:  
! C7 i- C: Z$ I( h5 V% w5 W7 b! F1 e# \6 {( F5 }
    在177主机下测试:
& g4 R2 A4 N! s4 l( E3 U7 Q& t9 g; N, o8 T
    [root@localhost mnt]# ls -l
) g) A8 p- [% K2 n  ^9 Z& k% z/ _6 u# I  G
    total 00 G$ Q0 L+ G4 x
    -rwxrwxrwx 1 student student 0 Jul 26 08:49 file1- C4 ?! T% H( d
    -rwxrwxrwx 1 student student 0 Jul 26 08:49 file22 g6 r& b1 r1 O8 B7 i" N) J
    -rwxrwxrwx 1 student student 0 Jul 26 08:49 file3
2 S2 y2 C% J+ ]5 n8 ]) F* I    进行链接的传输:
; r) P- E" T4 g    [root@localhost niu]# ln -s file1 /mnt/niu/westos
8 o) v) S# b* C3 _0 o
7 c/ f/ }7 T$ v6 I- A' ?# P    [root@localhost niu]# ls -l9 b/ \- a# N: w6 r2 }$ P
    total 0' A/ H6 {4 u3 i8 B5 c8 |
    -rwxrwxrwx. 1 student student 0 Jul 26 08:49 file1% s7 \2 n+ r7 _
    -rwxrwxrwx. 1 student student 0 Jul 26 08:49 file2
  F) |9 V/ k7 P* m7 [    -rwxrwxrwx. 1 student student 0 Jul 26 08:49 file3, b: X- z2 l. c$ z6 {& \9 y
    lrwxrwxrwx. 1 root    root    5 Jul 26 09:28 westos -> file1
& p: h: @: E2 |  Z    [root@localhost mnt]# rsync -rl niu/ root@172.25.254.177:/mnt/, G" j' Q; W" f* s' a
    root@172.25.254.177's password:
* {& d! Q8 M9 ]9 ^7 a: c/ b- [3 b    进行设备文件的传输:     
" {* S! D4 P$ ^* t) h    [root@localhost mnt]# ls /dev/pts/
& C$ O, s8 h/ l! k     0  ptmx
7 `* i$ N/ k8 L) ^    [root@localhost mnt]# rsync -rD /dev/pts/ root@172.25.254.177:/mnt/" O0 q$ i; E6 ?* Z
    root@172.25.254.177's password: & W9 R- Z2 E" j! b  X3 h" f
    在177主机下:
" \9 ~! c" A# b# A. k, D: ], Q    [root@localhost mnt]# ls
. G7 d% r1 S, k- r0 a3 P. r3 Z
     0  ptmx1 {& ]# m' A, }# r5 p  N

: Y' x1 B7 L& w6 x! x5 R' W- z9 b5 V' ~/ D/ A$ k& }
二、归档. z- ^3 f) Y: [! k
  作用:可以加快不同系统之间文件的传输,使一个目录或多个文件打包为一个文件,方便传输。(归档不代表剪切)
2 T; E6 }3 A# Z+ _+ Z  命令:tar
6 _8 {8 ]. p  ~  J. u  i7 P  参数:-c   ## 创建      -v   ## 显示过程      -f   ## 指定归档的文件名称
" o0 Y" B% u. B# M' c1 s  k' e       -t   ## 查看归档文件内容       -r    ## 添加文件到归档中     
: W' @7 y6 f- m2 s9 _
7 k. j1 A1 u' G       --get file  ## 解档指定文件    --delete  file   ##删除归档中文件
7 k) C4 z3 ]( `9 @% d5 R
2 R* d! C* ]/ n- \; x5 f. I       -C    dir   ## 指定解档的目录
$ z5 L; u0 c7 H4 Y& L) V) d+ i! w
  示例:etc.tar的创建和查看结果* Z4 m# V* H3 S+ L) q% I. g! }4 h
   
$ Z7 O; g# v" Z; b " N! ~# |6 O& H$ X
: ^  L2 I! ]% l8 n4 S, H( D3 I
   添加file文件到etc.tar归档中:
( d/ d$ P3 y" l  z& m
: j1 ]0 x3 `$ R& \ * f# u  I/ U# A- ?6 U- y9 F' J
   4 _& o: g* P5 v1 ]5 v4 e+ |5 `
  
- R* x- K. U: K* R! V) i2 ^( z/ l5 E
# ^. `* K8 N  F; z3 s   
: ?) O7 t% J7 ~& b  Y: k, A   归档文件的拿出(默认到当前目录下): 7 z& \5 N; }: T# N7 K
     z/ \; J2 p% z7 u' i3 A
! O: o  _" a8 X' Y

" j+ S/ T: E4 X5 a8 f; g   解档:使档案里的文件全部拿出、解档到固定目录
* V% u% d! p0 d2 n! w; Z1 h5 t   
3 d% p8 g7 I9 |0 h   
  c7 l2 c- w. s9 ?3 ?$ Q     
' b& e1 w, f8 C
- V5 z5 r4 |( B- E! T- o) G6 b. h. W. a' Z6 N- E
三、文件的压缩2 B, N5 e& M) M+ M  U
【1】zip2 d3 P7 q! w5 _2 I* _) p
% H/ `: f0 g8 [- c5 {
  格式:zip -r xxx.tar.zip  xxx.tar   压缩
% V2 W& z( u9 A( U6 T5 i7 T) a2 M3 W
       unzip  xxx.tar.zip    解压% R; X4 C6 [" n5 {3 z+ \* K  U: C1 ?
2 v/ q7 c6 z& g& A
  示例:
+ h( g" d4 z1 R1 O9 \! T4 a, h; W' e& x3 I9 J# i6 W& T' \
    $ b8 u1 V. \2 {4 c, r
2 j& ^) t2 l$ T

, K4 ^4 l5 t" }  A  
! X# L- @0 V9 `" F  打包和压缩后的文件的大小: 9 C' O% a: Y6 d: x+ g, U
% u7 I. Q0 [' m6 P4 o, a. u
  [root@localhost Desktop]# ls
% W! p: a7 Y6 W1 O2 S, m  etc.tar  etc.tar.zip8 s% U  C$ n" C8 a* Q( ?
  [root@localhost Desktop]# du -sh *
1 {/ Z# H0 g; L- b  30M    etc.tar% H- I7 p& O5 t6 B! ^0 N
  16M    etc.tar.zip- _& s, Z5 ]% C, P4 }" @
【2】gz
* z8 A4 S& i. d% K& e( h
4 r: V) s0 ?/ S  j" f  I8 `  格式:gzip  xxx.tar   压缩- s& l7 P4 r4 R. g( X8 ~# a
       gunzip  xxx.tar.gz  解压! K% M0 k( o4 X# [; `
, q+ r" F8 U( T8 ~) T# K3 W
       tar zcf  xxx.tar.gz /etc/    打包+压缩: T9 y, K: Y* r- k! ]- x, a% L

6 u. g5 e8 d/ k2 N8 P1 y       tar zxf  xxx.tar.gz  解压
! W7 |) d. y. b5 X. V; |! I2 N5 ~6 U
  示例:(在压缩和解压过程中,只能产生一个 )
1 H& a- t0 M. v2 L  R) W# x! v   4 E9 ^* o' z/ R  }# Y! b+ U) R
5 y9 [8 g  p6 l0 _* G

( O5 O% n5 ^2 Z4 I$ Q$ h, g
$ P! |# ?2 b! V' t% q/ a  
2 P  ?+ f% X' l; o+ u) r: A  打包和压缩后的文件的大小:! O3 B. N  ~* d$ v+ T/ y  j) z
  [root@localhost Desktop]# du -sh etc.tar
5 H9 D' U* F: |  30M    etc.tar
3 ]( N6 ?) A, z  [root@localhost Desktop]# du -sh etc.tar.gz
4 j+ G/ l( Q0 G$ @" |6 F( d& `  8.4M    etc.tar.gz* ~& [2 P7 m# s& O
【3】bz28 {0 a% i# K1 e  R& W5 u. c, d

7 E, Q. v6 F9 y( D, v' [6 \  格式:bzip2  xxx.tar   压缩
0 B2 g  l6 u" g& W       bunzip2   xxx.tar.bz2  解压
2 V% ~  v( D  X8 G+ {; k
$ S+ v* `# U1 c4 s# A/ s. z       tar jcf   xxx.tar.bz2  /etc/   打包+解压
: \, `3 K/ T; q1 d
1 }2 m- W8 b- c$ X8 k+ j2 J+ Z       tar jxf   xxx.tar.bz2  解压# g& s% _; ~; g) L+ k9 q+ y+ Y
  示例:  : T8 a0 K* t* X
   * x5 F$ Y6 P- J- W5 h/ G
$ c3 w7 `) Q& W: {( X2 R4 r$ u
# G- M. p  `+ W* `3 x+ B2 M

* D. J+ j+ n, Y  `, e% D   
! |* V. K. w% I) N' }【4】xz
8 m: [" j, ~+ v: t6 [3 |
3 X$ i9 t6 v; U$ P6 I( U  格式:xz  xxx.tar   压缩# @* i2 E: s% I0 p) A2 K2 R3 F
       unxz  xxx.tar.xz  解压2 M) x3 U$ d& p+ b5 d. F2 d: I
. s0 ~3 [1 x8 t6 p" `
       tar  Jcf   xxx.tar.xz   /etc/   打包+解压 : N7 v% D, _  g$ r* |( |

0 o+ U& L9 z+ E8 d/ A: l       tar Jxf  xxx.tar.xz  解压/ p9 L9 n3 P# W7 b# j
  示例:& D. r% b% ~8 W6 O
   8 L) n* m1 V! ~$ w  y5 t1 l; a% y/ {
( [) g: V) o, h: S  {4 d
! I6 S8 z1 p  W' Z, I
; O( A  y' k- ^6 q
   & v# \4 W( \) S: H4 A4 g
   注释:【2】【3】【4】解压打包可以一步完成 , [, b& J. J3 j2 p- x3 ?9 M2 P! r

作者: hope123    时间: 2021-6-3 15:54
楼主,你的压缩包在哪?我想试试这个代码。
作者: xiaogegepcb    时间: 2021-6-3 16:33
Linux文件在系统中传输
作者: youOK    时间: 2021-6-3 16:34
hope123 发表于 2021-6-3 15:54
' Q& Y. f6 K( r$ O) C( K楼主,你的压缩包在哪?我想试试这个代码。

( F! p, e3 K3 \" d2 h楼主主要分享了一下他的经验,至于里面的内容,还是你自己琢磨吧/ u( O. M8 u8 l. ?8 E4 W' I

) M1 S: ?' q* X" m0 V) Q




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2