Giải pháp kịch bản
1. Tự động cập nhật chế độ xem thư viện
Với tập lệnh nền bên dưới, bạn có thể thiết lập một thư mục, hầu như hiển thị nội dung kết hợp của một số lượng thư mục khác tùy ý.
Nội dung của thư mục (hiện có của các liên kết tượng trưng) được đồng bộ hóa động với các nguồn (kết hợp).
Làm thế nào nó hoạt động
Kịch bản liệt kê định kỳ nội dung của các thư mục nguồn cũng như thư mục được nhắm mục tiêu cho chế độ xem "thư viện".
- Nếu có các mục trong bất kỳ thư mục nguồn nào, không tồn tại trong thư viện, một liên kết tượng trưng sẽ được tạo trong thư viện.
- nếu có các mục trong thư viện, không tồn tại trong bất kỳ thư mục nguồn nào (thực sự là một liên kết bị hỏng), mục đó sẽ bị xóa khỏi thư viện.
Danh sách so sánh có trọng lượng cực kỳ nhẹ (lập trình) và tài nguyên thấp. Tôi đã thử nghiệm tập lệnh với một vòng lặp nhanh hơn nhiều trong tập lệnh bên dưới, với một số mục khoảng 500 trong một cấp thư mục duy nhất, không tải thêm (đáng chú ý) gì.
Kịch bản và cách sử dụng
#!/usr/bin/env python3
import os
import sys
import time
# --- set loop time below (or leave it as it is)
loop = 5
# ---
# don't change anything below
target = sys.argv[1]
sources = sys.argv[2:]
while True:
currlinks = os.listdir(target)
compare = []
for dr in sources:
for f in os.listdir(dr):
compare.append(f)
if not f in currlinks:
# create link
os.symlink(dr+"/"+f, target+"/"+f)
# clean up possible broken links
for link in currlinks:
if not link in compare:
os.remove(target+"/"+link)
# loop time
time.sleep(loop)
- Sao chép tập lệnh vào một tập tin trống, lưu nó dưới dạng
library_view.py
Kiểm tra tập lệnh với thư mục được nhắm mục tiêu , để xem các thư mục được kết hợp trong, như là đối số đầu tiên , các thư mục nguồn làm đối số tiếp theo, ví dụ:
python3 /path/to/library_view.py /path/to/virtual_library /path/to/source1 /path/to/source2
Lệnh này sẽ hiển thị nội dung của các thư mục source1
và source2
trong virtual_library
.
Nếu tất cả đều hoạt động tốt, hãy thêm nó vào các ứng dụng khởi động: Dash> Ứng dụng khởi động> Thêm. Thêm lệnh:
python3 /path/to/library_view.py /path/to/virtual_library /path/to/source1 /path/to/source2
Ghi chú
Như đã đề cập, bạn có thể thêm nhiều hơn hai thư mục soure nếu muốn.
2. Phiên bản thủ công
Nếu bạn không muốn sử dụng tập lệnh nền vì một số lý do, bạn có thể cập nhật (đồng bộ hóa) thư mục thư viện theo cách thủ công, với chính xác cùng một lệnh dưới phím tắt, sử dụng tập lệnh bên dưới:
#!/usr/bin/env python3
import os
import sys
target = sys.argv[1]
sources = sys.argv[2:]
currlinks = os.listdir(target)
compare = []
for dr in sources:
for f in os.listdir(dr):
compare.append(f)
if not f in currlinks:
# create link
os.symlink(dr+"/"+f, target+"/"+f)
# clean up possible broken links
for link in currlinks:
if not link in compare:
os.remove(target+"/"+link)
Chọn: Cài đặt hệ thống> "Bàn phím"> "Phím tắt"> "Phím tắt tùy chỉnh". Nhấp vào "+" và thêm lệnh yo một tổ hợp phím bạn chọn:
python3 /path/to/library_view.py /path/to/virtual_library /path/to/source1 /path/to/source2
sudo mount --bind olddir newdir
nhưng đây có thể không chính xác là những gì bạn đang có sau ...