Tôi đang cố gắng tar
tập hợp các tệp trong thư mục có tên 'my_directory' và xóa bản gốc bằng cách sử dụng lệnh:
tar -cvf files.tar my_directory --remove-files
Tuy nhiên, nó chỉ loại bỏ các tệp riêng lẻ trong thư mục chứ không phải chính thư mục (đó là những gì tôi đã chỉ định trong lệnh). Tôi đang thiếu gì ở đây?
CHỈNH SỬA:
Có, tôi cho rằng tùy chọn 'remove-files' hoàn toàn theo nghĩa đen. Mặc dù tôi cũng tìm thấy trang người đàn ông không rõ ràng về điểm đó. (Trong linux tôi có xu hướng không thực sự phân biệt nhiều giữa các thư mục và tệp nhiều và đôi khi quên rằng chúng không giống nhau). Có vẻ như sự đồng thuận là nó không xóa các thư mục.
Tuy nhiên, điểm chính của tôi khi đặt câu hỏi này bắt nguồn từ việc xử lý các đường dẫn tuyệt đối của tar. Vì bạn phải chỉ định đường dẫn tương đối cho tệp / s được nén, do đó bạn phải thay đổi thư mục cha để tar đúng cách. Như tôi thấy nó sử dụng bất kỳ loại lệnh 'rm' tiếp theo nào đều có khả năng gây nguy hiểm trong tình huống đó. Vì vậy, tôi đã hy vọng đơn giản hóa mọi thứ bằng cách tự làm tar.
Ví dụ, hãy tưởng tượng một tập lệnh sao lưu trong đó thư mục cần sao lưu (ví dụ: tar) được bao gồm dưới dạng biến shell. Nếu giá trị biến shell đó được nhập sai, có thể kết quả có thể bị xóa các tệp khỏi bất kỳ thư mục nào bạn đã ở cuối cùng.