Làm cách nào tôi có thể tạo 'view' của cây thư mục trong unix?


0

Trong môi trường nhà phát triển hiện tại của tôi, tôi có các thư mục với hàng tá tệp chứ không phải hàng trăm tệp, bao gồm rất nhiều tệp được tạo được sao chép trực tiếp bên cạnh nguồn trong bản sao làm việc của tôi. Thật không may, tôi không có quyền thay đổi cách thức hoạt động của bất kỳ thứ gì trong số này. Vì vậy, để làm cho cuộc sống của tôi dễ dàng hơn, tôi muốn tạo một 'khung nhìn' cho cây nguồn của mình. Điều này có thể không? Về cơ bản, hiện tại /srcroot/, tôi có thư mục apple/, orange/melon/. Nhưng tôi không sử dụng 2 cái sau, vì vậy nếu bạn lsvào /srcroot/, tôi muốn nó chỉ liệt kê apple/.

Một cách tôi có thể thực hiện điều này là tạo một thư mục thực /srcview/có danh sách các liên kết tượng trưng, ​​một thư mục cho mỗi thư mục tôi muốn. Vấn đề đi kèm với bảo trì - nếu tôi thêm một thư mục mới, tôi không muốn phải duy trì chế độ xem liên kết theo cách thủ công. Tôi có thể viết một tập lệnh duy trì điều này, được cung cấp từ một số loại tập tin cấu hình, nhưng tôi cảm thấy như tôi có thể đang phát minh lại bánh xe.

Tôi muốn có một số loại tệp hoạt động như một thư mục, nhưng thay vào đó trả về một cái gì đó như ls | grep -v "apple" | grep -v "melon" | grep -v "GENERATED", rõ ràng với logic hơn trong việc nhập ngũ thực tế của tôi.

Cuối cùng, chỉ cần tạo bí danh cho các mục trên lssẽ không hoạt động, vì trong thực tế, tôi sử dụng nhiều trình soạn thảo và trình duyệt tệp không biết sử dụng lệnh "ls đặc biệt" của mình, vì vậy nó thực sự phải hoạt động như một thư mục bình thường cây.

Suy nghĩ?


1
Giải pháp (vượt quá khả năng của tôi) dường như là viết một chương trình sử dụng FUSE - và sử dụng nó để tạo ra một khung nhìn của hệ thống tập tin. willmcgugan.com/blog/tech/post/ từ có thể hữu ích trong việc giúp bạn bắt đầu.
davidgo

Một khả năng mỏng manh khác, tùy thuộc vào nơi mà các giới hạn của bạn xuất hiện có thể là do bạn di chuyển / srcroot lên cấu trúc kiểu unionfs và sau đó truy cập vào hệ thống tệp cơ bản của một phần của unionfs mà bạn quan tâm - tức là chuyển vấn đề lên đầu.
davidgo
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.