自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何使用CP / SCP / RSYNC在Linux中排除特定目錄?

系統(tǒng) Linux
在本文中,我們將演示如何排除特定的文件或目錄,或者使用用于此目的的三種最常用和廣泛使用的實用程序(即rsync,cp和scp)進(jìn)行復(fù)制。

介紹

對于任何系統(tǒng)管理員或一般Linux操作系統(tǒng)用戶而言,在服務(wù)器之間執(zhí)行文件復(fù)制操作都是一項常見任務(wù)。在將文件從一個系統(tǒng)復(fù)制到另一個系統(tǒng)時,由于某些特定原因,我們可能需要排除某些文件和目錄被復(fù)制。即使在同一系統(tǒng)上將數(shù)據(jù)從一個位置傳輸?shù)搅硪晃恢脮r,這也可能適用。

[[323844]]

在本文中,我們將演示如何排除特定的文件或目錄,或者使用用于此目的的三種最常用和廣泛使用的實用程序(即rsync,cp和scp)進(jìn)行復(fù)制。使用cp命令排除特定文件/目錄的復(fù)制:

考慮以下情形,其中我的當(dāng)前工作目錄中有五個目錄。

  1. [root@linuxnix tmp]# ls -ld dir* 
  2. drwxr-xr-x 2 root root 6 Aug 29 22:47 dir1 
  3. drwxr-xr-x 2 root root 71 Aug 29 22:47 dir2 
  4. drwxr-xr-x 2 root root 6 Aug 29 22:47 dir3 
  5. drwxr-xr-x 2 root root 6 Aug 29 22:47 dir4 
  6. drwxr-xr-x 2 root root 6 Aug 29 22:47 dir5 

我想復(fù)制以名稱dir開頭的所有目錄的內(nèi)容,除了dir2目錄,然后可以執(zhí)行以下操作:

  1. [root@linuxnix tmp]# cp -r `ls -A | grep dir| grep -v "dir2"` /tmp/sahil/ 

這將復(fù)制除dir2以外的所有dir目錄。如果我們需要復(fù)制所有目錄并跳過單個目錄,則可以運(yùn)行以下命令。

  1. [root@linuxnix tmp]# cp -r !(dir2) /sahil 

除目錄dir2之外,當(dāng)前工作目錄中的所有目錄和子目錄都將復(fù)制到/ sahil中。同樣,如果我們要從當(dāng)前工作目錄中復(fù)制除一個文件以外的所有文件,請鍵入以下內(nèi)容

  1. [root@linuxnix dir2]# cp -r !(file3) /sahil 

在上面的示例中,當(dāng)前工作目錄中的所有文件都被復(fù)制到/ sahil,除了名為file3的文件。

使用scp命令排除特定文件/目錄被復(fù)制:

scp中的數(shù)據(jù)排除機(jī)制與先前使用cp命令演示的類似。以下是一個示例。上面的命令從當(dāng)前工作目錄中復(fù)制了所有文件,除了名為file4的文件。

  1. [root@linuxnix dir2]# scp -rp !(file4) 192.168.19.142:/sahil 
  2. file1 100% 0 0.0KB/s 00:00 
  3. file2 100% 0 0.0KB/s 00:00 
  4. file3 100% 0 0.0KB/s 00:00 
  5. file5 100% 0 0.0KB/s 00:00 
  6. [root@linuxnix dir2]# 

使用rsync命令排除特定文件/目錄的復(fù)制:

在用于復(fù)制文件的命令集中,最靈活的是rsync命令。在本文中,我們將討論范圍限于排除某些文件/目錄被復(fù)制的功能。要使用rysnc命令復(fù)制文件或文件夾,請使用–exclude標(biāo)志,如以下示例所示。

  1. [root@linuxnix tmp]# rsync -av --progress --exclude="dir2" dir* /sahil 
  2. sending incremental file list 
  3. dir1/ 
  4. dir3/ 
  5. dir4/ 
  6. dir5/ 
  7.  
  8. sent 82 bytes received 28 bytes 220.00 bytes/sec 
  9. total size is 0 speedup is 0.00 
  10. [root@linuxnix tmp]# cd /sahil/ 
  11. [root@linuxnix sahil]# ls -l 
  12. total 0 
  13. drwxr-xr-x 2 root root 6 Aug 29 22:47 dir1 
  14. drwxr-xr-x 2 root root 6 Aug 29 22:47 dir3 
  15. drwxr-xr-x 2 root root 6 Aug 29 22:47 dir4 
  16. drwxr-xr-x 2 root root 6 Aug 29 22:47 dir5 
  17. [root@linuxnix sahil]# 

我們也可以在遠(yuǎn)程復(fù)制文件時使用–exclude標(biāo)志。以下是一個示例:

  1. [root@linuxnix tmp]# rsync -av --progress --exclude="dir2" dir* 192.168.19.142:/sahil 
  2. sending incremental file list 
  3. dir1/ 
  4. dir3/ 
  5. dir4/ 
  6. dir5/ 
  7.  
  8. sent 82 bytes received 28 bytes 220.00 bytes/sec 
  9. total size is 0 speedup is 0.00 
  10. [root@linuxnix tmp]# 

結(jié)論

這結(jié)束了我們的演示,演示了如何在使用cp、scp和rsync命令時排除某些內(nèi)容被復(fù)制。希望這篇文章對您有幫助。

責(zé)任編輯:趙寧寧 來源: CU技術(shù)社區(qū)
相關(guān)推薦

2014-07-31 09:44:43

Linuxcp命令合并目錄樹

2018-01-30 17:00:10

Linuxscp命令排除文件

2023-08-12 15:05:26

Linuxcp 命令

2019-09-09 15:13:19

Yum包管理器Linux

2019-04-08 16:15:26

Linuxbd命令父目錄

2014-12-23 09:37:09

Linuxrsync

2022-02-17 10:28:10

Linux命令網(wǎng)絡(luò)故障

2020-09-03 13:20:17

scprsync遷移指南

2009-11-23 11:51:07

linuxscp

2009-12-14 11:08:07

Linux scp

2019-03-14 14:30:48

SSHLinux特定目錄

2020-03-13 18:10:08

Linuxapt軟件包

2018-09-30 10:18:44

Linux 文件系統(tǒng)目錄

2023-08-01 21:43:48

2022-06-28 09:10:28

Linuxtree命令

2022-02-26 08:39:09

LinuxScp命令

2022-12-25 10:09:44

2010-04-27 15:08:01

2023-11-07 12:07:22

2021-07-20 10:00:28

Linuxgrep命令
點贊
收藏

51CTO技術(shù)棧公眾號