BÀI 53 LẬP TRÌNH C - ĐỌC GHI FILE TRONG LẬP TRÌNH C PHẦN 1
BÀI 53 LẬP TRÌNH C - ĐỌC GHI FILE TRONG LẬP TRÌNH C PHẦN 1- Cách sử dụng lệnh
mv
- Di chuyển nhiều tập tin và thư mục
- Tùy chọn lệnh
mv
- Nhắc trước khi ghi đè
- Buộc ghi đè
- Không ghi đè lên các tập tin hiện có
- Sao lưu tập tin
- Báo cáo dài dòng
- Phần kết luận
Di chuyển tệp và thư mục là một trong những nhiệm vụ cơ bản nhất bạn thường cần thực hiện trên hệ thống Linux.
Trong hướng dẫn này, chúng tôi sẽ giải thích cách sử dụng lệnh
mv
để di chuyển tệp và thư mục.
Cách sử dụng lệnh
mv
Lệnh
mv
[viết tắt từ di chuyển] được sử dụng để đổi tên và di chuyển và các tệp và thư mục từ vị trí này sang vị trí khác. Cú pháp của lệnh
mv
như sau:
mv SOURCE DESTINATION
SOURCE
có thể là một hoặc nhiều tệp hoặc thư mục và
DESTINATION
có thể là một tệp hoặc thư mục.
- Khi nhiều tệp hoặc thư mục được cung cấp dưới dạng
SOURCE
,DESTINATION
phải là một thư mục. Trong trường hợp này, các tệpSOURCE
được chuyển đến thư mục đích. Nếu bạn chỉ định một tệp làSOURCE
và mục tiêuDESTINATION
là một thư mục hiện có, thì tệp sẽ được chuyển đến thư mục được chỉ định. Nếu bạn chỉ định một tệp làSOURCE
và một tệp duy nhất làm mục tiêuDESTINATION
sau đó bạn đổi tên tệp. KhiSOURCE
là một thư mục vàDESTINATION
không tồn tại,SOURCE
sẽ được đổi tên thànhDESTINATION
. Mặt khác, nếuDESTINATION
tồn tại, nó sẽ được di chuyển trong thư mụcDESTINATION
.
Để di chuyển tệp hoặc
thư mục, bạn cần có quyền ghi trên cả
SOURCE
và
DESTINATION
. Nếu không, bạn sẽ nhận được một lỗi từ chối cấp phép.
Ví dụ: để di chuyển tệp
file1
từ thư mục làm việc hiện tại sang
/tmp
bạn sẽ chạy:
mv file1 /tmp
Để đổi tên một tệp, bạn cần chỉ định tên tệp đích:
mv file1 file2
Cú pháp để di chuyển các thư mục giống như khi di chuyển tệp. Trong ví dụ sau, nếu thư mục
dir2
tồn tại, lệnh sẽ di chuyển
dir1
bên trong
dir2
. Nếu
dir2
không tồn tại,
dir1
sẽ
được đổi tên thành
dir2
:
mv dir1 dir2
Di chuyển nhiều tập tin và thư mục
Để di chuyển nhiều tệp và thư mục, chỉ định các tệp bạn muốn di chuyển làm nguồn. Ví dụ: để di chuyển tệp
file1
và
file2
sang thư mục
dir1
bạn sẽ gõ:
mv file1 file2 dir1
Lệnh
mv
cũng cho phép bạn sử dụng khớp mẫu. Ví dụ: để di chuyển tất cả các tệp
pdf
từ thư mục
hiện tại sang thư mục
~/Documents
, bạn sẽ sử dụng:
mv *.pdf ~/Documents
Tùy chọn lệnh
mv
Lệnh
mv
chấp nhận một số tùy chọn ảnh hưởng đến hành vi lệnh mặc định.
Trong một số bản phân phối Linux,
mv
có thể là bí danh của lệnh
mv
với một bộ tùy chọn tùy chỉnh. Ví dụ: trong CentOS
mv
là bí
danh của
mv -i
. Bạn có thể tìm xem
mv
có phải là bí danh hay không bằng cách sử dụng lệnh
type
:
type mv
Nếu
mv
là bí danh, đầu ra sẽ trông giống như thế này:
mv is aliased to `mv -i'
Nếu các tùy chọn xung đột được đưa ra, cái cuối cùng được ưu tiên.
Nhắc trước khi ghi đè
Theo mặc định, nếu tệp đích tồn tại, nó sẽ bị ghi đè. Để nhắc xác nhận, hãy sử dụng tùy
chọn
-i
:
mv -i file1 /tmp
mv: overwrite '/tmp/file1'?
Để ghi đè loại tệp
y
hoặc
Y
Buộc ghi đè
Nếu bạn cố ghi đè lên tệp chỉ đọc, lệnh
mv
sẽ nhắc bạn xem bạn có muốn ghi đè tệp không:
mv -i file1 /tmp
mv: replace '/tmp/file1', overriding mode 0400 [r--------]?
Để tránh bị nhắc sử dụng các tùy chọn
-f
:
mv -f file1 /tmp
Tùy chọn này đặc biệt hữu ích khi bạn cần ghi đè lên nhiều tệp chỉ đọc.
Không ghi đè lên các tập tin hiện có
Tùy chọn
-n
cho
mv
không bao giờ ghi đè
lên bất kỳ tệp hiện có nào:
mv -f file1 /tmp
Nếu một
file1
tồn tại, lệnh trên sẽ không làm gì cả. Nếu không, nó sẽ di chuyển tệp vào
/tmp
.
Sao lưu tập tin
Nếu tệp đích tồn tại, bạn có thể tạo bản sao lưu của tệp bằng tùy chọn
-b
:
mv -b file1 /tmp
Tệp sao lưu sẽ có cùng tên với tệp gốc có dấu ngã [
~
] được gắn vào nó.
Sử dụng lệnh ls để xác minh rằng bản sao lưu đã được tạo:
ls /tmp/file1*
/tmp/file1 /tmp/file1~
Báo cáo dài dòng
Một tùy chọn khác có thể hữu ích là
-v
. Khi tùy chọn này được sử dụng, lệnh sẽ in tên của từng tệp được di chuyển:
mv -i file1 /tmp
renamed 'file1' -> '/tmp/file1'
Phần kết luận
Lệnh
mv
được sử dụng để di chuyển và đổi tên các tập tin và thư mục.
Để biết thêm thông tin về lệnh
mv
, hãy kiểm tra trang man hoặc nhập
man mv
trong terminal của bạn.
Người dùng Linux mới bị đe dọa bởi dòng lệnh có thể sử dụng trình quản lý tệp GUI để di chuyển tệp của họ.
thiết bị đầu cuối mv