Tôi đã học cách thay thế một dòng bằng cách sử dụng tập lệnh bash nhưng tôi muốn tìm hiểu cách thay thế toàn bộ tệp bằng một tệp khác trong một thư mục khác có cùng tên. Điều này có thể không?thay thế toàn bộ tệp bằng một tệp khác trong bash
Trả lời
cp -f [oringinal file] [new file]
Sao chép tệp gốc và ghi đè tệp đích (do đó -f
viết tắt của "lực lượng").
Sử dụng các lệnh này: file2
mv file1 file2
Nếu file2 không tồn tại, sau đó được đổi tên file1. Nếu file2 tồn tại, nội dung của nó được thay thế bằng nội dung của file1.
mv -i file1 file2
Giống như tuy nhiên ở trên, kể từ khi lựa chọn "-i"
(tương tác) được chỉ định, nếu file2 tồn tại, người dùng sẽ được nhắc nhở trước khi nó được ghi đè bằng các nội dung của file1.
mv file1 file2 file3 dir1
Tệp files1, file2, file3 được chuyển đến thư mục dir1. dir1 phải tồn tại hoặc mv
sẽ thoát với lỗi.
mv dir1 dir2
Nếu dir2 không tồn tại, thì dir1 được đổi tên thành dir2. Nếu dir2 tồn tại, thư mục dir1 được tạo trong thư mục dir2.
Điều này không làm chính xác những gì OP muốn - nó di chuyển/đổi tên tệp, chứ không phải sao chép/ghi đè chúng ... – Christian
HI @Christian cảm ơn bình luận của bạn. Bạn có thể vui lòng xây dựng thêm? Tôi muốn hiểu tại sao đổi tên một tập tin không giống như thay thế. Ví dụ, nếu tôi muốn "thay thế" file1 với file2, tại sao tôi không thể làm: mv file2 file1? Lệnh này có thay thế nếu file1 bị xóa trước không? – user1747935
Đổi tên một tệp có nghĩa là nó sẽ không tồn tại ở vị trí ban đầu - dường như với tôi rằng những gì OP muốn là ghi đè lên một tệp mà không có bất kỳ tác dụng phụ nào như vậy. – Christian
Trong trường hợp bạn đang cố gắng để sao chép chỉ là nội dung của tập tin thử
cat /first/file/same_name > /second/file/same_name
này sẽ ghi đè lên tất cả các nội dung của tập tin thứ hai với nội dung từ đầu tiên. Tuy nhiên, chủ sở hữu, nhóm và quyền của tệp thứ hai sẽ không thay đổi.
Tôi không thể xử lý việc này. Tôi đã bỏ lỡ một cái gì đó hoặc cần phải kết thúc nó với thực hiện? –
Lệnh bạn đang viết là gì? Bạn không cần các dấu ngoặc vuông. –
như là một lưu ý phụ, điều này giữ nguyên chế độ và quyền sở hữu của tệp gốc khi được thực hiện với sudo – hanzo2001