2009-01-08 13 views
20

Tôi có cảm giác rằng tôi đã biết câu trả lời cho câu hỏi này, nhưng tôi nghĩ tôi sẽ kiểm tra.Tôi có thể liên kết nhiều thư mục với nhau không?

Tôi có một số thư mục khác nhau:

images_a/ 
images_b/ 
images_c/ 

Tôi có thể tạo một số loại liên kết tượng trưng đến nỗi thư mục mới này có các nội dung của tất cả những thư mục? Đó là "images_all" mới có chứa tất cả các tệp trong images_a, images_bimages_c?

Trả lời

11

No. Bạn sẽ phải liên kết tượng trưng cho tất cả các tệp riêng lẻ.

gì bạn thể làm là để tạo ra một công việc để chạy theo định kỳ mà về cơ bản loại bỏ tất cả các liên kết tượng trưng hiện tại images_all, sau đó tái tạo liên kết cho tất cả các file từ ba thư mục khác, nhưng đó là một chút một kludge, một cái gì đó như thế này:

rm -f images_all/* 
for i in images_[abc]/* ; do; ln -s $i images_all/$(basename $i) ; done 

Lưu ý rằng, khi công việc này đang chạy, nó có thể xuất hiện cho các quá trình khác mà các tệp tạm thời biến mất.

Bạn cũng sẽ cần xem trường hợp tên tệp duy nhất tồn tại trong hai hoặc nhiều thư mục.


Sau khi trở lại câu hỏi này, tôi cũng có thể giảm thiểu thời gian tệp không khả dụng.

Nếu bạn liên kết chúng với một thư mục khác nhau sau đó thực hiện các hoạt động tương đối nhanh chóng mv sẽ giảm thiểu thời gian. Một cái gì đó như:

mkdir images_new 
for i in images_[abc]/* ; do 
    ln -s $i images_new/$(basename $i) 
done 

# These next two commands are the minimal-time switchover. 
mv images_all images_old 
mv images_new images_all 

rm -rf images_old 

Tôi chưa thử nghiệm để mọi người thực hiện nó sẽ phải xác nhận tính phù hợp hoặc cách khác.

+4

Bạn có thể sử dụng 'lndir' để làm liên kết tượng trưng. –

8

Bạn có thể thử hệ thống tệp kết hợp như unionfs!

http://www.filesystems.org/project-unionfs.html

http://aufs.sourceforge.net/

+5

Và cụm từ "vẫn còn trong giai đoạn phát triển" tấn công sợ hãi vào trái tim của ngay cả linh hồn dũng cảm nhất :-). – paxdiablo

+0

trông khá tuyệt, nhưng có một chút đáng sợ. – nickf

+2

'aufs' đã được sử dụng trong Ubuntu một thời gian, vì vậy nó có thể đủ ổn định. –