Tạo tậptin với lệnh cat

Một phần của tài liệu Tài liệu tham khảo hệ điều hành linux (Trang 62 - 64)

MM: hai số chỉ tháng,

Tạo tậptin với lệnh cat

Lệnh cat tuy đơn giản nh−ng rất hữu dụng trong Linux. Chúng ta có thể sử dụng lệnh này để lấy thông tin từ đầu vào (bàn phím...) rồi kết xuất ra tập tin hoặc các nguồn khác (màn hình ...), hay để xem nội dung của một tập tin ... Phần này trình bày tác dụng của lệnh cat đối với việc tạo tập tin.

Cú pháp lệnh:

cat > <tập-tin>

Theo ngầm định, lệnh này cho phép lấy thông tin đầu vào từ bàn phím rồi xuất ra màn hình. Soạn thảo nội dung của một tập tin bằng lệnh cat tức là đã đổi h−ớng đầu ra của lệnh từ màn hình vào một tập tin. Ng−ời dùng gõ nội dung của tập tin ngay tại dấu nhắc màn hình và gõ CTRL+dđể kết thúc việc soạn thảo. Nh−ợc điểm của cách tạo tập tin này là nó không cho phép sửa lỗi, ví dụ nếu muốn sửa một lỗi chính tả trên một dòng, chỉ có cách là xóa đến vị trí của lỗi và gõ lại nội dung vừa bị xóa.

Ví dụ: tạo tập tin newfile trong th− mục /home/vd bằng lệnh cat. # cat > /home/vd/newfile

This is a example of cat command #

Sau khi soạn thảo xong, gõ EnterCTRL+d để trở về dấu nhắc lệnh, nếu không

Enter thì phải gõ CTRL+d hai lần. Có thể sử dụng luôn lệnh cat để xem nội dung

của tập tin vừa soạn thảo:

# cat /home/vd/newfile This is a example of cat command

#

3.4.3 Các lệnh thao tác trên tập tin * Sao chép tập tin với lệnh cp * Sao chép tập tin với lệnh cp

Lệnh cp có hai dạng nh− sau:

cp [tùy-chọn]... <tập-tin-nguồn> ... <tập-tin-đích> cp [tùy-chọn]... --target-directory=<th−-mục> <tập- tin-nguồn>...

Lệnh này cho phép sao tập-tin-nguồn thành tập-tin-đích hoặc sao chép từ nhiều tập-tin-nguồn vào một th− mục đích (tham số <tập-tin-đích> hay <th−-mục>). Dạng thứ hai là một cách viết khác đổi thứ tự hai tham số vị trí.

Các tùy chọn của lệnh:

-a, --archive

giống nh− -dpR (tổ hợp ba tham số -d, -p, -R, nh− d−ới đây).

tạo tập tin l−u cho mỗi tập tin đích nếu nh− nó đang tồn tại.

-d, --no-dereference

duy trì các liên kết.

-f, --force

ghi đè tập tin đích đang tồn tại mà không nhắc nhở.

-i, --interactive

có thông báo nhắc nhở tr−ớc khi ghi đè.

-l, --link

chỉ tạo liên kết giữa tập-tin-đích từ tập-tin-nguồn mà không sao chép.

-p, --preserve

duy trì các thuộc tính của tập-tin-nguồn sang tập-tin-đích.

-r

cho phép sao chép một cách đệ quy tập tin thông th−ờng.

-R

cho phép sao chép một cách đệ quy th− mục.

-s, --symbolic-link

tạo liên kết t−ợng tr−ng thay cho việc sao chép các tập tin.

-S, --suffix=<hậu-tố>

bỏ qua các hậu tố thông th−ờng (hoặc đ−ợc chỉ ra).

-u, --update

chỉ sao chép khi tập tin nguồn mới hơn tập tin đích hoặc khi tập tin đích ch−a có.

-v, --verbose

đ−a ra thông báo về quá trình sao chép.

--help

hiển thị trang trợ giúp và thoát.

Tập tin đích đ−ợc tạo ra có cùng kích th−ớc và các quyền truy nhập nh− tập tin nguồn, tuy nhiên tập tin đích có thời gian tạo lập là thời điểm thực hiện lệnh nên các thuộc tính thời gian sẽ khác.

Ví dụ, lệnh

# cp /home/ftp/vd /home/test/vd1

Nếu ở vị trí đích, mô tả đầy đủ tên tập tin đích thì nội dung tập tin nguồn sẽ đ−ợc sao chép sang tập tin đích. Trong tr−ờng hợp chỉ đ−a ra vị trí tập tin đích đ−ợc đặt trong th− mục nào thì tên của tập tin nguồn sẽ là tên của tập tin đích.

# cp /home/ftp/vd /home/test/

Trong ví dụ này, tên tập tin đích sẽ là vd nghĩa là tạo một tập tin mới

Nếu sử dụng lệnh này để sao một th− mục, sẽ có một thông báo đ−ợc đ−a ra cho biết nguồn là một th− mục và vì vậy không thể dùng lệnh cp để sao chép.

# cp . newdir cp: .: omitting directory

Ví dụ về việc lệnh cp cho phép sao nhiều tập tin cùng một lúc vào một th− mục.

# cp vd vd1 newdir # pwd /newdir # ls -l total 8 -rw-r--r-- 1 root ftp 15 Nov 14 11:00 vd -rw-r--r-- 1 root ftp 12 Nov 14 11:00 vd1 Lu ý:

Đối với nhiều lệnh làm việc với tập tin, khi gõ lệnh có thể sử dụng kí hiệu mô tả nhóm để xác định một nhóm tập tin làm cho tăng hiệu lực của các lệnh đó. Ví dụ, lệnh:

# cp * bak

thực hiện việc sao chép mọi tập tin có trong th− mục hiện thời sang th− mục con của nó có tên là bak.

Dùng lệnh

# cp /usr/src/linux-2.2.14/include/linux/*.h bak

cho phép sao chép mọi tập tin với tên có hai kí hiệu cuối cùng là ".h" sang th− mục con bak.

Chính vì lí do nói trên, dù trong nhiều lệnh tuy không nói đến việc sử dụng kí hiệu mô tả nhóm tập tin nh−ng chúng ta có thể áp dụng chúng nếu điều đó không trái với suy luận thông th−ờng. Do những tình huống nh− thế là quá phong phú cho nên không thể giới thiệu hết trong cuốn sách. Chúng ta chú ý một giải pháp là mỗi khi sử dụng một lệnh nào đó, nên thử nghiệm cách thức hiệu quả này.

Một phần của tài liệu Tài liệu tham khảo hệ điều hành linux (Trang 62 - 64)