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

在 Linux 中怎樣使用cp命令合并目錄樹

系統(tǒng) Linux
怎樣將兩個(gè)布局相似的目錄樹合并成一個(gè)新的目錄樹?為理解該問題讓我們思考下面的例子……

怎樣將兩個(gè)布局相似的目錄樹合并成一個(gè)新的目錄樹?為理解該問題讓我們思考下面的例子。

[[117173]]

假設(shè) dir1 和 dir2 目錄中分別有3個(gè)子目錄a,b和c.目錄布局如下所示:

Layout of input directories

輸入目錄布局

在目錄a,b和c中有一些文件,tree命令的輸出將能更好的說明:

Layout of files

文件布局

1. 使用cp命令創(chuàng)建合并:

現(xiàn)在我們將這兩個(gè)目錄合并成一個(gè)名為"merged"新的目錄中.完成上述操作最簡(jiǎn)單的方式就是遞歸復(fù)制目錄,如下圖所示:

Copy directories recursively to create new merge

遞歸復(fù)制完成新的合并

1.1 cp命令和替換帶來(lái)的問題:

這種方式所帶來(lái)的問題是該合并目錄中所創(chuàng)建的文件為原文件的副本,并非原文件本身.別急, (你可能正在問自己) 如果不是原文件又有什么問題? 要回答你的問題,考慮下你有很多大文件的情況.那種情形下,復(fù)制所有的文件可能花費(fèi)數(shù)小時(shí)。

現(xiàn)在讓我們回到剛那問題上,且嘗試使用mv命令而不是cp命令。

Attempt to merge with mv command

企圖使用mv命令進(jìn)行合并操作

這些目錄不能被合并.因此我們不能像這樣使用mv命令去合并目錄. 現(xiàn)在你該怎樣將原文件保存到"merged"目錄中?

2. 解決方法:

cp命令有一個(gè)非常有用的選項(xiàng)來(lái)幫助我們擺脫這種狀況. cp命令的-l 或 --link選項(xiàng)能夠創(chuàng)建硬鏈接而非原文件副本.讓我們嘗試一下。

在我們嘗試cp命令的硬鏈接選項(xiàng)前,讓我們查看一下原文件的inode號(hào)碼. 可通過tree命令--inodes選項(xiàng)來(lái)查看inodes:

Display inodes of original files

原文件的inodes

現(xiàn)在我們有了inodes的列表,對(duì)于cp命令可通過--link選項(xiàng)創(chuàng)建硬鏈接:

Merge directories with hard links

使用硬鏈接合并的目錄

2.1 驗(yàn)證文件:

現(xiàn)在文件已經(jīng)被復(fù)制,讓我們驗(yàn)證一下inodes是否和原文件匹配:

Verify Inodes

Verify Inodes

2.2 清除:

正如你所看到的,這些文件的inodes和原文件的一樣?,F(xiàn)在問題已經(jīng)解決,且原文件已被復(fù)制到合并目錄中.現(xiàn)在我們能夠移除dir1和dir2目錄。

Remove original directories

移除原始目錄

原文鏈接:http://linux.cn/article-3494-1.html

責(zé)任編輯:牛小雨 來(lái)源: linux
相關(guān)推薦

2023-08-12 15:05:26

Linuxcp 命令

2022-06-28 09:10:28

Linuxtree命令

2020-04-26 14:25:56

目錄Linux操作系統(tǒng)

2014-03-17 10:27:08

Linux cp備份

2018-01-08 15:30:18

Linux命令date

2022-10-25 13:01:36

Linux命令行空目錄

2021-12-12 09:19:16

find命令Linux

2022-11-11 14:55:14

Linuxcron

2022-11-02 18:54:00

2019-04-08 16:15:26

Linuxbd命令父目錄

2023-07-04 16:36:03

Linuxcd 命令

2023-07-23 19:26:18

Linuxcat 命令

2019-09-24 19:00:41

Linuxrm命令unlink命令

2022-11-03 11:19:22

2009-07-31 16:34:44

linux cd命令linux cd命令詳

2010-09-10 13:57:55

echo命令

2023-02-07 09:49:26

Linux命令行合并文件

2012-05-11 10:26:09

Linuxcdalias

2021-04-22 06:15:59

Linux靜態(tài)鏈接動(dòng)態(tài)庫(kù)

2014-03-19 19:46:43

Linuxmkdir 命令
點(diǎn)贊
收藏

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