linux下拷貝資料夾的時候排除其中的一些目錄
比如有一個/usr/tmp/ 下面有幾個目錄 dira, dirb,dirc, 現在要想把 /usr/tmp 拷貝到 /home/xx/ 下面,但又不想要dirc
有幾種方法可以實現
1) 使用rsync --exclude
cd /usr
rsync -avP --exclude=dirc/ tmp /home/xx/
注意 dirc/ 後面的 / 一定要,指名是目錄,如果不加的話 dirc檔案也會被排除
如果想排除多個目錄或檔案的話 使用
rsync -avP --exclude-from=/usr/exclude.list
exclude.list 必須是絕對路徑,裡面儲存了各種要排除的檔案或目錄,以換行隔開
-a, --archive 歸檔模式,表示以遞迴方式傳輸檔案,並保持所有檔案屬性,等於-rlptgoD
-v, --verbose 詳細模式輸出
-P 等同於 --partial 保留那些因故沒有完全傳輸的檔案,以是加快隨後的再次傳輸
更詳細的引數如下
-v, --verbose 詳細模式輸出
-q, --quiet 精簡輸出模式
-c, --checksum 開啟校驗開關,強制對檔案傳輸進行校驗
-a, --archive 歸檔模式,表示以遞迴方式傳輸檔案,並保持所有檔案屬性,等於-rlptgoD
-r, --recursive 對子目錄以遞迴模式處理
-R, --relative 使用相對路徑資訊
-b, --backup 建立備份,也就是對於目的已經存在有同樣的檔名時,將老的檔案重新命名為~filename。可以使用--suffix選項來指定不同的備份檔案字首。
--backup-dir 將備份檔案(如~filename)存放在在目錄下。
-suffix=SUFFIX 定義備份檔案字首
-u, --update 僅僅進行更新,也就是跳過所有已經存在於DST,並且檔案時間晚於要備份的檔案。(不覆蓋更新的檔案)
-l, --links 保留軟鏈結
-L, --copy-links 想對待常規檔案一樣處理軟鏈結
--copy-unsafe-links 僅僅拷貝指向SRC路徑目錄樹以外的鏈結
--safe-links 忽略指向SRC路徑目錄樹以外的鏈結
-H, --hard-links 保留硬鏈結
-p, --perms 保持檔案許可權
-o, --owner 保持檔案屬主資訊
-g, --group 保持檔案屬組資訊
-D, --devices 保持裝置檔案資訊
-t, --times 保持檔案時間資訊
-S, --sparse 對稀疏檔案進行特殊處理以節省DST的空間
-n, --dry-run 現實哪些檔案將被傳輸
-W, --whole-file 拷貝檔案,不進行增量檢測
-x, --one-file-system 不要跨越檔案系統邊界
-B, --block-size=SIZE 檢驗演算法使用的塊尺寸,預設是700位元組
-e, --rsh=COMMAND 指定使用rsh、ssh方式進行資料同步
--rsync-path=PATH 指定遠端伺服器上的rsync命令所在路徑資訊
-C, --cvs-exclude 使用和CVS一樣的方法自動忽略檔案,用來排除那些不希望傳輸的檔案
--existing 僅僅更新那些已經存在於DST的檔案,而不備份那些新建立的檔案
--delete 刪除那些DST中SRC沒有的檔案
--delete-excluded 同樣刪除接收端那些被該選項指定排除的檔案
--delete-after 傳輸結束以後再刪除
--ignore-errors 及時出現IO錯誤也進行刪除
--max-delete=NUM 最多刪除NUM個檔案
--partial 保留那些因故沒有完全傳輸的檔案,以是加快隨後的再次傳輸
--force 強制刪除目錄,即使不為空
--numeric-ids 不將數字的使用者和組ID匹配為使用者名稱和組名
--timeout=TIME IP 超時時間,單位為秒
-I, --ignore-times 不跳過那些有同樣的時間和長度的檔案
--size-only 當決定是否要備份檔案時,僅僅察看檔案大小而不考慮檔案時間
--modify-window=NUM 決定檔案是否時間相同時使用的時間戳視窗,預設為0
-T --temp-dir=DIR 在DIR中建立臨時檔案
--compare-dest=DIR 同樣比較DIR中的檔案來決定是否需要備份
-P 等同於 --partial
--progress 顯示備份過程
-z, --compress 對備份的檔案在傳輸時進行壓縮處理
--exclude=PATTERN 指定排除不需要傳輸的檔案模式
--include=PATTERN 指定不排除而需要傳輸的檔案模式
--exclude-from=FILE 排除FILE中指定模式的檔案
--include-from=FILE 不排除FILE指定模式匹配的檔案
--version 列印版本資訊
--address 繫結到特定的地址
--config=FILE 指定其他的配置檔案,不使用預設的rsyncd.conf檔案
--port=PORT 指定其他的rsync服務埠
--blocking-io 對遠端shell使用阻塞IO
-stats 給出某些檔案的傳輸狀態
--progress 在傳輸時現實傳輸過程
--log-format=formAT 指定日誌檔案格式
--password-file=FILE 從FILE中得到密碼
--bwlimit=KBPS 限制I/O頻寬,KBytes per second
-h, --help 顯示幫助資訊
2) 使用find
cd /usr
find ./tmp/ | grep -v tmp/dirc | cpio -pdm /home/xx/
其中grep的-v 表示把匹配到的去掉不顯示,cpio命令中的-d選項要注意加上,因為該選項用來在必要的時候建立目錄。
相關推薦
linux下拷貝資料夾的時候排除其中的一些目錄
比如有一個/usr/tmp/ 下面有幾個目錄 dira, dirb,dirc, 現在要想把 /usr/tmp 拷貝到 /home/xx/ 下面,但又不想要dirc 有幾種方法可以實現 1) 使用rsync --exclude cd /usr rsync -avP --e
Linux| Linux下各資料夾的結構說明及用途介紹
linux下各資料夾的結構說明及用途介紹: /bin:二進位制可執行命令。 /dev:裝置特殊檔案。 /etc:系統管理和配置檔案。 /etc/rc.d:啟動的配 置檔案和指令碼。 /home:使用者主目錄的基點,比如使用者user的主目錄就是/home/user,可以用~u
【轉載】Linux下各資料夾的含義和用途 Linux下各資料夾的含義和用途
原文地址:https://www.cnblogs.com/lanqingzhou/p/8037269.html Linux下各資料夾的含義和用途 Linux根目錄”/“下各個系統資料夾的含義和用途 1、/boot 該目錄預設下存放的是Linux的啟動檔案和核心。 2、/initrd 它的英文
Linux下多資料夾編寫Makefile詳解
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
Linux下統計資料夾數量
1) 統計當前資料夾下檔案的個數: ls -l |grep "^-"|wc -l 2) 統計當前資料夾下目錄的個數: ls -l |grep "^d"|wc -l 3) 統計當前資料夾下檔案的個數,包括子資料夾裡的 : ls -lR|grep "^-"|wc
Linux下各資料夾的含義和用途
Linux根目錄”/“下各個系統資料夾的含義和用途 1、/boot 該目錄預設下存放的是Linux的啟動檔案和核心。 2、/initrd 它的英文含義是boot loader initialized RAM disk,就是由boot loader初始化的記憶體盤。在lin
java在linux下新建資料夾
java在lin
linux 下修改資料夾的使用者許可權和所屬組,為檔案建立軟連線
chown wlq testfilwe //為資料夾testfile更改擁有者為wlq chgrp [-r] wlq testfile //為資料夾testfile更改擁有者組為wlq sudo du -sh /home/* //檢視一臺機器上
linux下合併資料夾
問題來源 在window下,如果直接將一個資料夾拷貝到另外一個包含同名資料夾的位置,可以選擇將兩個資料夾合併。 那麼,linux下的mv命令是否有同樣的功能?合併同名資料夾呢? 答案是否定的。
C++ 庫研究筆記——Linux下建立資料夾
查了很多,都不怎麼完成,後在stackoverflow 上了一個失推薦不多的方案,發現是最有效的。 如建立 “ab/b/c” 這個資料夾,其中,ab資料夾不要求事先不存在(若不存在,先建立) #pragma once #include <ios
Linux 下統計資料夾中檔案的數量
方法一: 這裡涉及幾個命令: 命令1: ls -l === ll 其實不用太多解釋,這個是入門命令,當然,還有-R引數。列出子目錄和檔案 命令2: grep “^-” grep我的理解是GNU正則(GNU regular expression)的縮寫,這裡是匹配
linux下打包資料夾(不保留路徑)
問題: 加入要將/home/moma/Downloads/下的test資料夾壓縮成test.tar.gz,放在/home/moma/Documents下 命令: tar czf /home/moma/Documents/test.tar.g
Linux command: 統計資料夾下的檔案數目
Linux下有三個命令:ls、grep、wc。通過這三個命令的組合可以統計目錄下檔案及資料夾的個數。 統計當前目錄下檔案的個數(不包括目 1 $ ls -l | grep "^-" | wc -l
Linux 檢視某資料夾下檔案數量
轉至:www.xitongzhijia.net/xtjc/20150504/47340.html LInux find指令的使用: find命令檢視(推薦): 所有子目錄的數量: [[email protected] ~]# find pma -type d
獲取指定目錄下的資料夾(包含檔案)並且拷貝到另一指定資料夾下,刪除指定目錄下的資料夾(包含檔案)
/** * 複製整個資料夾內容 * * @param oldPath *
linux 命令替換資料夾下所有檔案指定字串為
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
linux檢視根目錄下所有資料夾大小
linux檢視根目錄下所有資料夾大小的方法如下: 1、進入根目錄:cd / 2、使用命令 : du -sh * 檢視根目錄下每個資料夾的大小 3、進入佔用空間比較大的資料夾,然後再使用2中命令查詢大檔案。 查詢大於10M的檔案 find / -type f -size +
Linux隨筆 - Linux統計某資料夾下檔案、資料夾的個數
統計某資料夾下檔案的個數 ls -l |grep "^-"|wc -l 統計某資料夾下目錄的個數 ls -l |grep "^d"|wc -l 統計資料夾下檔案的個數,包括子資料夾裡的 ls -lR|grep "^-"|wc -l 統計/i
Linux 根路徑下各資料夾用途(centos)
/bin: 包含了引導啟動所需的命令或普通使用者可能用的命令(可能在引導啟動後)。這些命令都是二進位制檔案的可執行程式,多是系統中重要的系統檔案。 /boot: 包含可引導的Linux核心和引導裝載(boot loader)配置檔案(GRUB)。 /dev: 包含代表系統
linux遍歷資料夾下的檔案
static bool getFileNamesInDir(const string strDir, vector<string> &vecFileName) { DIR* dir = NULL; struct dirent entry; stru