Câu 1Đâu là sự khác nhau đúng giữa cp và mv?
Thao tác tệp — cp / mv / rm
Sao chép tệp bằng cp, di chuyển và đổi tên bằng mv, xóa tệp bằng rm, và xóa thư mục bằng rmdir và rm -r — cùng các tùy chọn chính, thực hành ngay trên terminal trong trình duyệt.
Sao chép — cp
cp là lệnh nhân bản một tệp.
Viết cp nguồn đích sẽ giữ lại tệp gốc và tạo đích như một bản sao mới.
Thêm -r để sao chép cả một thư mục, hoặc -i để tránh ghi đè.
| Cách dùng | Ý nghĩa |
|---|---|
cp src dst | Nhân bản một tệp (bản gốc vẫn còn) |
cp -r src dst | Sao chép một thư mục cùng nội dung của nó |
cp -i src dst | Hỏi trước khi ghi đè khi đích đã tồn tại |
cp giữ bản gốc và tạo một bản sao. Thêm -r để sao chép thư mục cùng nội dung của nó.echo 'report' > report.txt # tạo tệp mẫu
cp report.txt backup.txt # nhân bản tệp (bản gốc vẫn còn)
mkdir docs # chuẩn bị một thư mục
cp -r docs docs_copy # sao chép cả thư mục
Di chuyển và Đổi tên — mv
mv là lệnh dùng cho cả di chuyển lẫn đổi tên.
mv tệp thư-mục/ để di chuyển, còn mv tên-cũ tên-mới để đổi tên tại chỗ.
Di chuyển trùng vào một tên đã có sẽ ghi đè mà không hỏi, nên hãy thêm -i khi bạn muốn ngăn điều đó.
| Cách dùng | Ý nghĩa |
|---|---|
mv file directory/ | Di chuyển một tệp (bản gốc biến mất) |
mv oldname newname | Đổi tên ngay tại chỗ |
mv -i src dst | Hỏi khi sắp ghi đè |
mv -f src dst | Ghi đè cưỡng bức mà không hỏi |
mv di chuyển hoặc đổi tên, và tên gốc không còn lại. Thêm -i để xác nhận trước khi ghi đè.echo 'draft' > draft.txt # tạo tệp mẫu
mv draft.txt final.txt # đổi tên (draft.txt biến mất)
echo 'old' > final.txt # chuẩn bị một đích để ghi đè
mv -i draft.txt final.txt # đã tồn tại, nên xác nhận y/n
Xóa tệp — rm
rm là lệnh xóa tệp.
Nó không đưa vào thùng rác — tệp biến mất ngay tại chỗ và không thể khôi phục.
Thêm -i để xác nhận từng cái một, hoặc -f để xóa mà không báo lỗi hay hỏi.
| Cách dùng | Ý nghĩa |
|---|---|
rm file | Xóa một tệp (không thể hoàn tác) |
rm -i file | Xóa kèm xác nhận cho từng tệp |
rm -f file | Xóa cưỡng bức không hỏi hay cảnh báo |
rm xóa ngay lập tức, không có thùng rác. Thêm -i để xác nhận trước khi xóa.echo 'log' > old.log # tạo tệp mẫu
rm old.log # xóa tệp
echo 'tmp' > tmp.log # tạo thêm một tệp
rm -i tmp.log # xác nhận y/n trước khi xóa
rm không thể hoàn tác
Tệp bị xóa bằng rm không vào thùng rác — nó bị gỡ bỏ ngay tại chỗ.
Đặc biệt rm -rf xóa cả một thư mục và mọi thứ bên trong mà không hỏi xác nhận, nên hãy kiểm tra kỹ tên đích trước khi chạy.
Xóa thư mục rỗng — rmdir
rmdir chỉ xóa thư mục rỗng.
Nếu bên trong còn tệp hoặc thư mục con thì nó không bị xóa và thư mục vẫn còn.
Thêm -p để xóa một đường dẫn lồng nhau như a/b/c theo từng bước, đi ngược lên qua các thư mục cha rỗng.
| Cách dùng | Ý nghĩa |
|---|---|
rmdir directory | Xóa một thư mục rỗng |
rmdir -p a/b/c | Nếu rỗng, xóa c → b → a, đi ngược lên qua các thư mục cha |
rmdir chỉ thành công khi rỗng. Dùng -p để xóa cả các thư mục cha rỗng.mkdir empty_box # tạo một thư mục rỗng
rmdir empty_box # rỗng, nên có thể xóa được
mkdir -p a/b/c # tạo một cấu trúc lồng rỗng
rmdir -p a/b/c # xóa c → b → a lên đến thư mục cha
Xóa cả một thư mục — rm -r
Một thư mục chứa tệp hoặc thư mục con không thể gỡ bỏ bằng rmdir.
rm -r xóa thư mục cùng toàn bộ nội dung của nó.
Thêm cả -f (rm -rf) sẽ gỡ bỏ mọi thứ mà không hỏi xác nhận hay cảnh báo, nên đây là tùy chọn cần xử lý cẩn thận nhất.
| Cách dùng | Ý nghĩa |
|---|---|
rm -r directory | Xóa một thư mục cùng nội dung của nó một cách đệ quy |
rm -rf directory | Xóa cưỡng bức cả nội dung mà không hỏi (nguy hiểm nhất) |
rm -r. Không thể hoàn tác, nên hãy xác nhận đường dẫn trước khi chạy.Kiểm tra kiến thức
Hãy trả lời từng câu hỏi một.
Câu 2Bạn thêm tùy chọn nào để sao chép một thư mục cùng nội dung của nó?
Câu 3Điều gì xảy ra khi bạn chạy rm -r trash?