共計 2109 個字符,預計需要花費 6 分鐘才能閱讀完成。
自動寫代碼機器人,免費開通
這篇文章給大家分享的是有關怎么使用 CP / SCP / RSYNC 在 Linux 中排除特定目錄的內容。丸趣 TV 小編覺得挺實用的,因此分享給大家做個參考,一起跟隨丸趣 TV 小編過來看看吧。
在本文中,我們將演示如何排除特定的文件或目錄,或者使用用于此目的的三種最常用和廣泛使用的實用程序 (即 rsync,cp 和 scp) 進行復制。使用 cp 命令排除特定文件 / 目錄的復制:
考慮以下情形,其中我的當前工作目錄中有五個目錄。
[root@linuxnix tmp]# ls -ld dir* drwxr-xr-x 2 root root 6 Aug 29 22:47 dir1 drwxr-xr-x 2 root root 71 Aug 29 22:47 dir2 drwxr-xr-x 2 root root 6 Aug 29 22:47 dir3 drwxr-xr-x 2 root root 6 Aug 29 22:47 dir4 drwxr-xr-x 2 root root 6 Aug 29 22:47 dir5
我想復制以名稱 dir 開頭的所有目錄的內容,除了 dir2 目錄,然后可以執行以下操作:
[root@linuxnix tmp]# cp -r `ls -A | grep dir| grep -v dir2 ` /tmp/sahil/
這將復制除 dir2 以外的所有 dir 目錄。如果我們需要復制所有目錄并跳過單個目錄,則可以運行以下命令。
[root@linuxnix tmp]# cp -r !(dir2) /sahil
除目錄 dir2 之外,當前工作目錄中的所有目錄和子目錄都將復制到 / sahil 中。同樣,如果我們要從當前工作目錄中復制除一個文件以外的所有文件,請鍵入以下內容
[root@linuxnix dir2]# cp -r !(file3) /sahil
在上面的示例中,當前工作目錄中的所有文件都被復制到 / sahil,除了名為 file3 的文件。
使用 scp 命令排除特定文件 / 目錄被復制:
scp 中的數據排除機制與先前使用 cp 命令演示的類似。以下是一個示例。上面的命令從當前工作目錄中復制了所有文件,除了名為 file4 的文件。
[root@linuxnix dir2]# scp -rp !(file4) 192.168.19.142:/sahil file1 100% 0 0.0KB/s 00:00 file2 100% 0 0.0KB/s 00:00 file3 100% 0 0.0KB/s 00:00 file5 100% 0 0.0KB/s 00:00 [root@linuxnix dir2]#
使用 rsync 命令排除特定文件 / 目錄的復制:
在用于復制文件的命令集中,最靈活的是 rsync 命令。在本文中,我們將討論范圍限于排除某些文件 / 目錄被復制的功能。要使用 rysnc 命令復制文件或文件夾,請使用 ndash;exclude 標志,如以下示例所示。
[root@linuxnix tmp]# rsync -av --progress --exclude= dir2 dir* /sahil sending incremental file list dir1/ dir3/ dir4/ dir5/ sent 82 bytes received 28 bytes 220.00 bytes/sec total size is 0 speedup is 0.00 [root@linuxnix tmp]# cd /sahil/ [root@linuxnix sahil]# ls -l total 0 drwxr-xr-x 2 root root 6 Aug 29 22:47 dir1 drwxr-xr-x 2 root root 6 Aug 29 22:47 dir3 drwxr-xr-x 2 root root 6 Aug 29 22:47 dir4 drwxr-xr-x 2 root root 6 Aug 29 22:47 dir5 [root@linuxnix sahil]#
我們也可以在遠程復制文件時使用 ndash;exclude 標志。以下是一個示例:
[root@linuxnix tmp]# rsync -av --progress --exclude= dir2 dir* 192.168.19.142:/sahil sending incremental file list dir1/ dir3/ dir4/ dir5/ sent 82 bytes received 28 bytes 220.00 bytes/sec total size is 0 speedup is 0.00 [root@linuxnix tmp]#
感謝各位的閱讀!關于“怎么使用 CP / SCP / RSYNC 在 Linux 中排除特定目錄”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
向 AI 問一下細節
丸趣 TV 網 – 提供最優質的資源集合!