Chuong 2 - He Thong Tap Tin

86
CHƯƠNG II : HỆ THỐNG TẬP TIN 1

Transcript of Chuong 2 - He Thong Tap Tin

Page 1: Chuong 2 - He Thong Tap Tin

CHƯƠNG II : HỆ THỐNG TẬP TIN

1

Page 2: Chuong 2 - He Thong Tap Tin

I. Tổ chức hệ thống tập tin. II. Các lệnh và chương trình III. Các lệnh cơ bản làm việc với thư mục IV. Các lệnh cơ bản làm việc với tệp bình thường V. Cách sinh tên tệp VI. Quản trị luồng dữ liệu VII. Các bộ lọc riêng VIII. Giới thiệu một số tiện ích quản lý HTTT IX. Soạn thảo văn bản X. Lệnh truyền thông

NỘI DUNG

2

Page 3: Chuong 2 - He Thong Tap Tin

1. Các kiểu tệp 2. Tổ chức các tập tin 3. Đặt tên tập tin 4. So sánh với DOS và Windows

I. Tổ chức hệ thống tập tin.

3

Page 4: Chuong 2 - He Thong Tap Tin

Hệ thống UNIX có 3 kiểu tệp cần phân biệt:

a- Tệp bình thường

là tệp văn bản hoặc tệp lệnh shell hoặc tệp dữ liệu thuần tuý

b- Các tệp thư mục

là một tệp chứa các thông tin về những tệp có quan hệ trực tiếp với thư mục đó.

Các thư mục thông thường trong hệ thống UNIX:

1. Các kiểu tệp

4

Page 5: Chuong 2 - He Thong Tap Tin

/: Thư mục gốc /bin: chứa hầu hết các lệnh của người dùng linux /boot: chứa các tệp khởi động /dev: chứa các chương trình điều khiển thiết bị /etc: chứa các tệp cấu hình hệ thống /lib: chứa các tệp thư viện nhị phân được chia xẻ bởi nhiều ƯD /sbin: chứa các tệp nhị phân hệ thống được sử dụng bởi root /home: thư mục chủ của user. Mỗi user có một thư mục chủ nằm trong thư mục này với tên chính là tên của user /proc: là hệ thống tệp ảo (chứa trong bộ nhớ chứ không chứa trên đĩa). Chúng đại diện các ctrình và quá trình đang hoạt động. /tmp: chứa các tệp tạm thời được tạo ra khi các ứng dụng hđ /usr: chứa các thư mục con trong đó chứa các chương trình và thông tin cấu hình quan trọng sử dụng trong hệ thống. /var: chứa cácthư mục con và tệp có kích thước thường xuyên đổi.

1. Các kiểu tệp

5

Page 6: Chuong 2 - He Thong Tap Tin

c- Các tệp đặc biệtÐó là những tệp có quan hệ trực tiếp với các thiết bị ngoại vi. - Lệnh file: cho biết kiểu của một tệp là gì. - Ví dụ: - Nếu "prog.c" là tên một tệp mà ta xây dựng trước kia và chứa mã nguồn trong ngôn ngữ C: file prog.c prog.c: ASCII C program text- Nếu tệp khả thi "a.out" sinh ra từ quá trình biên dịch bằng cc: file a.out linked executable- Nếu vd.sh là một tệp script chứa các lệnh của shellfile vd.shvd.sh: POSIX shell script text executable

1. Các kiểu tệp

6

Page 7: Chuong 2 - He Thong Tap Tin

2. Tổ chức các tập tin

7

Page 8: Chuong 2 - He Thong Tap Tin

- không phân biệt là kiểu tệp gì- phải tuân theo các quy ước chung như sau:

◦ là một chuỗi các ký tự khả hiện của ASCII.◦ Phân biệt chữ hoa, thường.◦ Ký tự đầu tiên phải khác những ký tự: + – =(tránh dùng các ký tự đặc biệt)

Tên tệp UNIX System V dài tối đa 14 ký tự Tên tệp UNIX BSD dài tối đa 255 ký tự.

3. Đặt tên tập tin

8

Page 9: Chuong 2 - He Thong Tap Tin

Giống: Lưu trữ dữ liệu theo cấu trúc thư mục cây Sử dụng dòng lệnh hoặc dùng chuột X-Window = WindowsKhác biệt Linux phân biệt chữ hoa chữ thường Linux thường “im lặng” Dấu phân cách và đường dẫn thư mục Đường dẫn tìm kiếm

4. So sánh với DOS và Windows

9

Page 10: Chuong 2 - He Thong Tap Tin
Page 11: Chuong 2 - He Thong Tap Tin

mỗi ổ đĩa sẽ được gắn kết (mount) vào trong cây thư mục (Tree Directory) giống như là một thư mục bình thường:◦hda1: / (Root) ◦hda2: /home ◦hdb1:  /home/user/music ◦ổ đĩa mềm: /mnt/floppy ◦ổ CD-ROM: /mnt/cdrom

ổ đĩa

11

Page 12: Chuong 2 - He Thong Tap Tin

1. Khái niệm 2. Cú pháp tổng quát của một lệnh 3. Các đường dẫn đến các tệp lệnh 4. Thời gian thực hiện lệnh

II. Các lệnh và chương trình

12

Page 13: Chuong 2 - He Thong Tap Tin

Lệnh: - một tệp nhị phân khả thi hoặc

- một tệp văn bản viết theo cú pháp của shell. Lệnh ngoại trú là một tệp khả thi có thể tìm ra vị trí bằng lệnh find. Shell phải tạo ra một tiến trình con để xử lý nó. Lệnh nội trú (shell buil-in) không tồn tại như một tệp độc lập.

Nó nằm sẵn ngay trong shell và coi như từ khoá của shell, không cần phải tạo ra một tiến trình con để xử lý nó. lệnh type: type xxx

- lệnh ngoại trú thì kết qủa hiện thị sẽ là đường dẫn tuyệt đối của nó

[root@stb225 ~]# type mkdirmkdir is /bin/mkdir- lệnh nội trú thì kết qủa là: xxx is shell buil-in[root@stb225 ~]# type cdcd is a shell builtin

1. Khái niệm:

13

Page 14: Chuong 2 - He Thong Tap Tin

Cú pháp dòng lệnh: command [option] argument Command: Lệnh- một lệnh được viết dưới dạng đơn giản nhất bao gồm một tên lệnh viết theo sau dấu nhắc Shell option: tuỳ chọn, thường bắt đầu bằng - hoặc --.

Có thể có nhiều tuỳ chọn, giữa chúng phải có khoảng trống argument: tham số lệnh. Có thể viết trước option

- Được gõ vào từ dấu nhắc Shell: Ví dụ: $ cd- Phân biệt chữ hoa chữ thường. - Help khi dùng lệnh: sử dụng tham số --help (ví dụ: $cp -help) hoặc sử dụng lệnh man <tên tệp> (ví dụ: $man cp).

- Dòng lệnh sau khi nhập vào sẽ được Shell diễn dịch và sau đó sẽ thi hành theo đúng ý nghĩa của lệnh.

2. Cú pháp tổng quát của một lệnh

14

Page 15: Chuong 2 - He Thong Tap Tin

Lệnh echo $PATH: cho biết các path được thiết lập trước# echo $PATH/usr/kerberos/sbin:/usr/kerberos/bin...

Đường dẫn tuyệt đối: độc lập với thư mục hiện thời của người dùng và bắt đầu với /

Đường dẫn tương đối: phụ thuộc vào thư mục hiện thời của người dùng và không bắt đầu với /

3. Các đường dẫn đến các tệp lệnh

15

Page 16: Chuong 2 - He Thong Tap Tin

Lệnh time cho ta biết được thời gian thực hiện một lệnh

hoặc thời gian thực hiện một chương trình, đo bằng giây

$ time find / -name tệp -print > result

55.6 real 1.5 user 18.3 sys

- real: là tổng thời gian thực tế, từ lúc bấm

<RETURN> đến lúc dấu nhắc shell trở lại

- user: là thời gian chỉ dùng để thực hiện lệnh

- sys là thời gian mà lõi UNIX sử dụng để quản trị

lệnh này

real >= user + sys

4. Thời gian thực hiện lệnh

16

Page 17: Chuong 2 - He Thong Tap Tin

1. Di chuyển giữa các thư mục: cd (change directory) 2. Hiện thị thư mục hiện thời: pwd (print working directory) 3. Xem nội dung thư mục, danh sách file: ls (list) 4. Tạo thư mục: mkdir (make directory) 5. Xóa thư mục: rmdir (remove directory)

III. Các lệnh cơ bản làm việc với thư mục

17

Page 18: Chuong 2 - He Thong Tap Tin

cd [path]

Để về thư mục home khi ta đang ở bấy kỳ đâu:

cd or cd ~

Về thư mục home của user: cd ~user

Về thư mục mẹ: cd..

pwd – print working directory

Ex: pwd

1. cd – change; 2. pwd

18

Page 19: Chuong 2 - He Thong Tap Tin

ls [option] [file]

[option]:

-l: Xem chi tiết

-a: Xem tất cả (kể cả các tệp ẩn)

-F: Thêm thông tin mô tả vào sau tên

-R: Xem trong các thư mục conMàu sắc

Các kiểu file thông thường

3. ls - list

19

s: socket

p: ống dẫn (pipe)

l: liên kết mềm

d: thư mục

b: file thiết bị khối

c: file thiết bị ký tự

executable files greenarchive files (.gz,.zip,etc,) redtext files blackjpgs,bmp files magentasymbolic links cyandirectories blue

Page 20: Chuong 2 - He Thong Tap Tin

mkdir [option] Directoryoption: -m, --mode=Mod: thiết lập quyền truy cập Mod, như trong

lệnh chmod nhưng không cho quyền rwxrwxrwx-p, --parents: tạo các thư mục theo nhiều cấp.--verbose: hiển thị các thông báo cho mỗi thư mục được

tạo.--help: đưa ra trang trợ giúp và thoát.directory: Tên đặc tả và vị trí của nó trong hệ thống (vị trí

mặc định là thư mục hiện thời).Ví dụ: mkdir -p /a/b/c/d ->

mkdir a b c d ->

4. mkdir – make directory

20

Page 21: Chuong 2 - He Thong Tap Tin

rmdir [option] directoryoption:--ignore-fail-on-non-empty: bỏ qua các lỗi nếu xóa thư

mục không rỗng.-p, --parants: xoá thư mục và cả thư mục cha (các thư

mục trên path)--verbose: đưa ra thông báo sau khi xóa 1thư mục.--help: hiện thị trang trợ giúp và thoát.Ví dụ:rmdir –p /a/b/c/drmdir a1 a2 a3 a4

5. rmdir – remove directory

21

Page 22: Chuong 2 - He Thong Tap Tin

Cho một biến có chứa 1 string dạng đường dẫn đến 1 thư mục D hoặc 1 file X,

lệnh basename sẽ trả về đúng tên thư mục D hoặc tên file X,

lệnh dirname trả về phàn đường dẫn đến thư mục mẹ của D hoặc X.

Ví dụ:◦$ basename /home/test/workspace/foo.txt -> foo.txt ◦$ dirname /home/test/workspace/foo.txt ->

/home/test/workspace ◦$ basename /home/test/workspace workspace ◦$ dirname /home/test/workspace /home/test

Lệnh basename và dirname

22

Page 23: Chuong 2 - He Thong Tap Tin

1. Tạo file với lệnh: touch, cat

2. Sao chép, đổi tên: cp

3. Di chuyển, đổi tên: mv

4. Tạo kết nối cho tệp: ln(link)

5. Xóa bỏ tên tệp: rm(remove)

6. Liệt kê: ls

7. So sánh tên tệp: cmp (compare), comm, diff , diff3

8. Tìm kiếm file: find

9. Các lệnh biên tập tệp: cat, head, tail, pg, more

10. Hiện thị tệp văn bản/ nhị phân: od [tùy chọn]

11. Đếm số dòng, từ, ký tự: wc

12. Kích cỡ tệp: sum

13. Nén và giải nén tệp: pack và gzip

14. Chia nhỏ tệp: Split

15. Cut

16. Sort

17. awk

III. Các lệnh cơ bản làm việc với tệp bình thường

23

Page 24: Chuong 2 - He Thong Tap Tin

Touch: tạo file mới, cập nhật thời gian truy cập và sửa đổi lần cuối.

Cú pháp: touch <file> cat : lấy thông tin từ đầu vào (bàn phím...) rồi kết xuất ra file

hoặc các nguồn khác (màn hình ...), hay để xem nội dung của một file.

Cú pháp:cat > [option] <file> + option:

- n đánh số thứ tự dòng, “>” để tạo file

Kết thúc soạn thảo: gõ Enter và ^D hay gõ ^D 2 lần. Cách này là không cho phép sửa lỗi, phải xóa đến vị trí của

lỗi và gõ lại nội dung vừa bị xóa

1. touch, cat – create file

24

Page 25: Chuong 2 - He Thong Tap Tin

cp [option] source destination+ source, destination: tên thư mục/ tệp nguồn, đích

cp file1 file2… thư mục: sao chép nhiều file vào thư mục+ Option:-a, --archive: giống như -dpR (tổ hợp ba tham số -d, -p, -R)-b, --backup[=CONTROL] : tạo file lưu cho mỗi file đích nếu như nó đang tồn tại.-d, --no-dereference : duy trì các liên kết.-f, --force : ghi đè file-dest đang tồn tại không nhắc nhở.-i, --interactive : có thông báo trước khi ghi đè.-l, --link : chỉ tạo liên kết giữa file-dest từ file-scr không sao chép.-p, --preserve : duy trì các thuộc tính của file-scr sang file-dest.

2. cp – copy, rename file /directory

25

Page 26: Chuong 2 - He Thong Tap Tin

-r : sao chép toàn bộ-R : sao chép toàn bộ 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 file.-S, --suffix=<hậu-tố> : bỏ qua các hậu tố thông thường (hoặc được

chỉ ra).-u, --update :sao chép khi file-src mới hơn file-dest hoặc khi file-

dest 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.Ví dụ:cp file1 tmp/file2 -> copy, rename filecp –R dir1 tmp/dir2 -> copy, rename directory>>

2. cp – copy, rename file /directory

26

Page 27: Chuong 2 - He Thong Tap Tin

mv [option] old_name new_nameHay mv [option] <src> <dest> + option-i: nhắc trước khi move/rename tập tin,thư mục đã có -f: ghi đè khi move/rename thư mục đích đã có rồi.Ví dụ:mv tmp1/dir1 tmp2/dir2 -> move, renamemv tmp1/file* tmp2/ -> move files

3. mv – move, rename file/ directory

27

Page 28: Chuong 2 - He Thong Tap Tin

ln tệpgốc tệplk4. ln – link

28

Liên kết mềm Liên kết cứng

Khác chỉ số inode Cùng chỉ số inode

- Khi xoa file gốc -> file liên kết ko còn hiệu lực. - - Khi tạo lại file gốc -> lk được khôi phục

Khi xoa file gốc/ liên kết -> file còn lại không ảnh hưởng

Dùng option -sCó ký hiệu l

Không dùng -sKhông có,

Khi thay đổi file gốc hoặc file liên kết thì file còn lại sẽ thay đổi

Page 29: Chuong 2 - He Thong Tap Tin

rm [option] file1 file2 file3 -i: yêu cầu ta phải khẳng định việc xoá -d : xóa thư mục

-r : xóa tất cả file và thư mục-f : xóa không hỏi lại

5. rm – rmove file/directory

29

Page 30: Chuong 2 - He Thong Tap Tin

ls [option] <file/dir>+ option:- a: liệt kê tất cả các file, kể cả file ẩn-l: thông tin đầy đủ nhất về file và thư mục-s: chi ra kích thước file, tính theo khối (1 khối = 1024byte)-f: xác định kiểu file (/= thư mục, *= chương trình kả thi)-m: liệt kê các file được ngăn cách nhau bởi dấu “,”-c: liệt kê cột, 2 thư mục gần nhau vào 1 cột-x: liệt kê cột, 2 dir gần nhau trên 2 dòng đầu của 2 cột gần nhau-t: liệt kê, sắp xếp theo thứ tự thời gian sửa đổi gần nhất-r: sắp xếp danh sách theo thứ tự ngược lại-R: liệt kê lần lượt các thư mục và nội dung các thư mục+ <file/dir>: không có thì sẽ hiện thị thư mục hiện hànhCó thể sử dụng mô tả nhóm: *,?, [ ] để xác định nhóm cần liệt kê

6. ls - list

30

Page 31: Chuong 2 - He Thong Tap Tin

cmp [option] file1 file2cho kết qủa ở vị trí mà 2 tệp bắt đầu khácVí dụ: cmp –l file1 file2-> vị trí các kí tự khác, giá trị thập phân của từng cặp ký tự khác nhau

cmp –s file1 file2 -> ko hiển thị dù các tệp có giống hay không

7.1. cmp – compare 2 file

31

Page 32: Chuong 2 - He Thong Tap Tin

Ví dụ về lệnh cmp

cmp file1 file2

file1 file2 differ: char 11, line 2 cmp -l file1 file2

11 102 130

12 102 131

13 102 132

7.1. cmp – compare 2 file

32

AAAAAA

BBBYYZ

CMCCC

AAAAAA

BBBXYZ CCCCCC

AAAAAABBBBBBCCCCCC

file3 file2 file1

Page 33: Chuong 2 - He Thong Tap Tin

so sánh tệp có sắp xếp tăng dầncomm file1 file2:comm – file1 -> thay 1 trong 2 tệp bằng những gì gõ ở bàn

phím comm –1 file1 file2-> sẽ xoá bỏ việc soạn thảo từ cột 1 (2,3)

7.2. comm – compare 2 file sorted

33

Page 34: Chuong 2 - He Thong Tap Tin

Ví dụ về lệnh comm comm file1 file2

- Cột 1: chỉ có trong tệp1 mà không có trong tệp2

- Cột 2: chỉ có trong tệp2 mà không có trong tệp1

- Cột 3: có trong cả tệp1 và tệp2 comm - file1 comm -1 file1 file2 comm -12 file2 comm -123 file2

7.2. comm – compare 2 file sorted

34

AAAAAA

BBBXYZ

CMCCC

AAAAAA

BBBXYZ CCCCCC

AAAAAABBBBBBCCCCCC

file3 file2 file1

Page 35: Chuong 2 - He Thong Tap Tin

chỉ ra sự khác nhau giữa các tệpdiff file1 file22c2< BBBBBB---BBBXYZ

7.3. diff – difference 2 file

35

- 2c2 nghĩa là cần thay dòng 2 của tệp này bằng dòng 2 của tệp kia để cho 2 tệp giống hệt nhau- Sau đấy hiện lên 2 dòng đã nói để soạn thảo lại chúng.

Page 36: Chuong 2 - He Thong Tap Tin

chỉ ra sự khác nhau giữa 3 tệpdiff3 file1 file2 file3===1:2,3cBBBBBBCCCCCC2:2,3cBBBXYZCCCCCC3:2,3cBBBXYZCMCCCC

7.4. diff3 – difference 3 file

36

Lưu ý:

- Các ký tự = = = ở dòng đầu có nghĩa là 3 tệp khác nhau

- Giả sử đó là = = 2 thì chỉ có tệp2 khác các tệp kia v.v..

Page 37: Chuong 2 - He Thong Tap Tin

find: tìm một hay nhiều file trong thư mục find –name filename/dirname –printEx: find /pra -name vd > /pra/kq find –inum number –printTìm theo tên i-node find –user username –printTìm theo tên người sử dụng

8. find – find file

37

Page 38: Chuong 2 - He Thong Tap Tin

1. Biên tập đơn giảncathead tail …2. Biên tập màn hìnhpgmore

9. Các lệnh biên tập tệp

38

Page 39: Chuong 2 - He Thong Tap Tin

Tạo và hiển thị nội dung một tệpcat [option] <filename>Option:

-A :show all, giống như -vET-b : hiển thị thêm số thứ tự trên mỗi dòng (bỏ dòng trống)-e : Giống –vE; -E: Hiển thị dấu ‘$’ tại cuối mỗi dòng-n : Hiển thị số thứ tự của mỗi dòng (kể cả dòng trống)-s : Bỏ bớt dòng trống liên tiếp chỉ còn 1 dòng-t : Giống như –vT-T : hiển thị dấu TAB dưới dạng ^I-v : Hiển thị các ký tự không in ra được, trừ LFD và TAB-help : Hiển thị trang trợ giúp và thoát

9.1. cat

39

Page 40: Chuong 2 - He Thong Tap Tin

Hiển thị n dòng đầu tiên của một filehead [option] <filename> …Option:

-c: Hiển thị cỡ ký tự đầu tiên trong nội dung file -n: Hiển thị n dòng thay cho 10 dòng ngầm định-q: không đưa ra tên file ở dòng đầu-v: Luôn đưa ra tên file ở dòng đầu-help: Hiển thị trang trợ giúp và thoát

9.2. head

40

Page 41: Chuong 2 - He Thong Tap Tin

Hiển thị n dòng cuối của một file

tail [option] <filename> …

Option:

--retry: Cố gắng mở một file khó truy nhập khi bắt đầu thực hiện

lệnh tail

-c, --byte=n: hiển thị n (số) ký tự sau cùng

-f, --follow[=(name|descriptor)]: Sau khi thực hiện nội dung file sẽ

hiện thong tin về file: -f, --follow và –follow=descriptor là như

nhau

-n: Hiển thị n dòng cuối cùng của file thay cho 10 dòng ngầm định

9.3. tail

41

Page 42: Chuong 2 - He Thong Tap Tin

--max-unchanged-stats=n: hiển thị tài liệu về file (ngầm định n=5)

--max-consecutive-size-change=n: Hiển thị tài liệu vể file (ngầm định

n=200)

--pid: kết hợp dùng –f, chấm dứt sau khi quá trình có chỉ số =PID lỗi

-q: không đưa ra tên file ở dòng đầu trong nội dung hiển thị

-s, sleep-interval=k: kết hợp dùng –f, dừng k giây giữa các hoạt động

-v: luôn hiển thị tên của file

--help: Hiển thị trang trợ giúp và thoát

9.3. tail

42

Page 43: Chuong 2 - He Thong Tap Tin

Xem nội dung với các file lớn theo từng trang màn hình Cú pháp: more [-dlfpcsu] [-num] [+/ pattern] [+ linenum] Option:

-num: Xác định số dòng nội dung của file được hiển thị

-d: Hiển thị thêm cách sử dụng lệnh more thay cho tiếng

chuông báo sai một phím

-l: nội dung của file sẽ được hiển thị như bình thường nhưng

ở một khuôn dạng khác, tức là dấu ^L sẽ mất và trước dòng

^L sẽ có thêm một dòng trống

9.4. more

43

Page 44: Chuong 2 - He Thong Tap Tin

-p : Không cuộn màn hình, thay vào đó là xoá những gì có trên màn hình và hiển thị tiếp nội dung file-c : Không cuộn màn hình, thay vào đó là xoá màn hình và hiển thị nội dung bắt đầu từ đỉnh màn hình-u : Bỏ qua dấu gạch chân+/partern : chỉ ra một chuỗi sẽ được tìm kiếm trước khi hiển thị mỗi file+linenum : Bắt đầu hiển thị dòng thứ linenum-s : Xoá bớt các dòng trống liền nhau trong nội dung của file chỉ giữ lại một dòng

9.4. more

44

Page 45: Chuong 2 - He Thong Tap Tin

Các phím tắt trong lệnh more-Space: Hiển thị màn hình tiếp theo-N: Hiển thị N dòng tiếp theo-Enter: Hiển thị dòng tiếp theo-H: Hiển thị danh sách các phím tắt-D hoặc Ctrl+D: Cuộn màn hình (mặc định là 11 dòng)-Q hoặc Ctrl+Q: Thoát khỏi lệnh more-S: Bỏ qua n dòng (mặc định là 1)-F: Bỏ qua k màn hình tiếp theo (mặc định là 1)-B hoặc Ctrl+B: Trở lại k màn hình trước (mặc định là 1)

=: Hiển thị số dòng hiện thời :n: Xem k file tiếp theo :p: Trở lại k file trước V: Chạy chương trình soạn thảo vi tại dòng hiện thời

:f: Hiển thị tên file hiện thời và số dòng .: Lặp lại lệnh trước

9.4. more

45

Page 46: Chuong 2 - He Thong Tap Tin

Lệnh od (octal dump) dùng để hiển thị một tệp dưới nhiều dạng khác nhau theo tuỳ chọn.

a. Hiện thị tệp văn bản

Tuỳ chọn –c: sẽ hiển thị một tệp văn bản dưới dạng ASCII

Tuỳ chọn –b: hiển thị ở dạng bát phân và có thể đọc dạng nhị phân

b. Hiện thị tệp nhị phân

Tuỳ chọn –d: hiển thị mỗi từ máy (machine word) của một tệp nhị phân dưới dạng thập phân.

Tuỳ chọn –o: hiển thị mỗi từ máy của một tệp nhị phân dưới dạng bát phân.

Tuỳ chọn –x: hiển thị mỗi từ máy của một tệp nhị phân dưới dạng thập lục phân (hexadecimal).

Các tuỳ chọn –D –O –X: hiển thị mỗi từ máy dài (machine long word) của một tệp nhị phân dưới dạng thập phân, bát phân và 16

10. Hiển thị tệp = các dạng khác nhau

46

Page 47: Chuong 2 - He Thong Tap Tin

Đếm số dòng, từ, ký tựwc file- Đếm và hiển thị số dòng, số từ và số ký tự (kể cả ký tự điều khiển) của một tệp, - Nếu chỉ đếm một thứ thì dùng tuỳ chọn -l, -w, hoặc -c: wc tệp -lw wc file1 file2 filen

11. wc – count line, word, char

47

Page 48: Chuong 2 - He Thong Tap Tin

sum filetính checksum của một tệp và kích cỡ tính bằng số block của nó: sum file1- Kích cỡ của một blockTrong tệp stdio.h ta có thể đọc cạnh hằng số BUFSIZ kích cỡ của một block là bao nhiêu byte, ví dụ: #define BUFSIZ 1024c

12. sum – size file

48

Page 49: Chuong 2 - He Thong Tap Tin

Lệnh gzip: nén file

gzip [tùy-chọn] [tên-tập-tin]

Vi dụ: nén file1 thành file1.gz: gzip file1

- Nếu nén thất bại, sẽ báo:

no saving - file unchanged- Nén tệp nhị phân thường ít khi bị báo lỗi

gzip a.out

Tệp nén này không khả thi, nếu ta cho chạy nó: a.out.gz

Lệnh sẽ gửi thông báo: a.out.gz: Exec định dạng error Lệnh gunzip: giải nén

gunzip [tùy-chọn] [tên-tập-tin]

gunzip file1.gz

13.1. gzip/gunzip – compress/uncomp

49

Page 50: Chuong 2 - He Thong Tap Tin

Lệnh tar

Lệnh này dùng để gom và bung những tập tin/thư mục. Nó sẽ

tạo ra một tập tin có phần mở rộng .tar

Cú pháp: tar [tùy-chọn] [file-đích] [file-nguồn/dir-nguồn..]

Trong đó:

–cvf : gom tập tin/ thư mục

–xvf : bung tập tin / thư mục

file-đích: tập tin .tar sẽ được tạo ra.

file-nguồn/dir-nguồn: những file và thư mục cần gom.

Ví dụ:

tar –cvf backup.tar /etc/passwd /etc/group

tar –xvf backup.tar

13.2. tar

50

Page 51: Chuong 2 - He Thong Tap Tin

Chia nhỏ tệpLệnh split chia tệp_to thành các tệp_bé_aa, tệp_bé_ab ... tệp_bé_zz, mỗi tệp không vượt quá n dòng, ví dụ n=5000: split –5000 tệp_to tệp_bé_- Nếu không đặt tên tệp_bé_ trước thì các tên mặc định sẽ là xaa, xab, ... xzz: split –5000 tệp_to- Nếu không đặt n rõ ràng thì giá trị mặc định sẽ là 1000: split tệp

14. split

51

Page 52: Chuong 2 - He Thong Tap Tin

Sắp xếp các dòng trong file◦sort [option] file◦-n: Sắp xếp số◦-c: Sắp xếp chữ

15. sort

52

Page 53: Chuong 2 - He Thong Tap Tin

Ví dụ:An nam 165Mai nu 158Minh nam 170Minh nu 162Thanh nam 169

awk xem các cột như các trường và được đặt tên $1, $2…

Câu lệnh thường dùng trong Awk là lệnh in ra màn hình (print).

awk ‘{print $2}’ <sourcefile>

16. awk

53

Page 54: Chuong 2 - He Thong Tap Tin

Tiện ích cut có thể lấy ra một vùng các ký tự hoặc các

trường từ mỗi dòng của văn bản. Cú pháp: cut option range1, range2 Option:◦ -c: được dùng để xử lý ký tự (lấy theo ký tự)

Ví dụ: cut –c 5-10 file.txt (

◦ -d: Xác định dấu phân cách hiện tại giữa các trường trên 1

dòng (“ “, “;”, “:”)

◦ -f <fieldnum>: xác định trường (thư tự) xuất ra

◦ --output-delimiter=<gt>: gán kí tự phân cách giữa các trường

◦Ví dụ: cut –d” “ -f 1,3 --output-delimiter=“ “ /etc/passwd

17. cut

54

Page 55: Chuong 2 - He Thong Tap Tin

1. Nguyên lý sinh tệp

ví dụ: rm tệp1 tệp2 tệp3 có thể viết dưới dạng sau: rm tệp?

2. Các siêu kí tự: là những ký tự sau: ' ? * [ ] – ! ("!" trong Bourne).

a- Siêu ký tự dấu hỏi "?“: thay cho bất kỳ ký tự nào khác,

ví dụ: rm fi?e

b- Siêu ký tự dấu sao "*“: sẽ sinh ra 0, 1 hoặc nhiều ký tự bất kỳ

ví dụ lệnh: cat tệp*

c- Cặp siêu ký tự dấu "[" và "]“: 1 ký tự bất kỳ sẽ được chọn trong dấu [ ]

Ví dụ: rm sa[cnN]h

Từ các ký tự cnN, 1 ký tự bất kỳ sẽ được chọn,

tức là: rm sach sanh saNh

V. Cách sinh tên tệp

55

Page 56: Chuong 2 - He Thong Tap Tin

2. Các siêu kí tự:a.b.c.d- Siêu ký tự dấu "-“: Từ ký tự đầu đến ký tự sau trong cặp dấu ngoặc vuôngví dụ: cat fi[b–m]htương đương với: cat fibh fich filhe Siêu ký tự dấu "!" : chỉ có nghĩa với Bourne shell - Phải lấy một ký tự khác những ký tự trong cặp dấu ngoặc vuông sau nó.ví dụ: rm fi[!fgtk]htương đương với: rm fiAh fich fioh

V. Cách sinh tên tệp

56

Page 57: Chuong 2 - He Thong Tap Tin

3. Liên kết các siêu kí tựCó thể liên kết các siêu ký tự trong cùng 1 biểu thức dòng lệnhví dụ: Hiện lên màn hình những tệp có tên như mtệp.p00, ntệp.x12, ytệp.doc, v.v. thì dùng: cat ?tệp.[M–Z]*Hoặc xoá mọi tệp có tên kiểu như #tên_tệp# và tên_tệp~ thì gõ: rm [#] * [#] *[~]4. Trung hòa các siêu kí tựTrung hoà nghĩa là làm cho shell không phải hiểu các ý nghĩa đặc biệt nói trên của các siêu ký tự nữa,dùng \ và ‘ ‘.a- Bằng ký tự dấu chéo ngượcVí dụ có thể tạo ra một tệp có tên "tệp*": cat > tệp\*Ta có thể xoá nó: rm tệp\*b- Bằng ký tự dấu nháy đơn2 ví dụ trên tương đương với: cat > ‘tệp*’ rm ‘tệp*’

V. Cách sinh tên tệp

57

Page 58: Chuong 2 - He Thong Tap Tin

1. Các vào/ra chuẩn của UNIX 2. Các luồng dữ liệu của shell 3. Chỉnh hướng các luồng dữ liệu 4. Các ống nối

VI. Quản trị luồng dữ liệu

58

Page 59: Chuong 2 - He Thong Tap Tin

Có 3 kênh vào/ra chuẩn ở terminal (/dev/tty) đó là:Kênh Số Tên Thiết bịNhập chuẩn 0 stdin Bàn phím /dev/ttyXuất chuẩn 1 stdout Màn hình /dev/ttyLỗi chuẩn 2 stderr Màn hình /dev/tty

1. Các vào/ra chuẩn của UNIX

59

Page 60: Chuong 2 - He Thong Tap Tin

- Xuất chuẩn

Ví dụ đưa luồng dữ liệu ra màn hình ngày giờ hiện nay: $ date

- Nhập chuẩn

Ví dụ lệnh tee nhập luồng dữ liệu từ bàn phím và đồng thời đưa ra màn hình: tee

Luồng dữ liệu vào từ bàn phím sẽ kết thúc bằng ^D

VD các tệp sẽ có cùng nội dung từ một luồng dữ liệu gõ vào:

tee tệp1 tệp2 tệp3 tệpn

- Bộ lọc dữ liệu

Một lệnh vừa vào lại vừa ra dữ liệu được gọi là bộ lọc (filter)

Lệnh cat hiển thị tệp1 ra màn hình và là một bộ lọc: cat tệp1

2. Các luồng dữ liệu của shell

60

Page 61: Chuong 2 - He Thong Tap Tin

- Lỗi chuẩn

Shell khi cần thiết sẽ phải thông báo lỗi và hiển thị nó lên màn hình, nếu tệp không tồn tại:

cat kiki

kiki: No such file or directory

2. Các luồng dữ liệu của shell

61

Page 62: Chuong 2 - He Thong Tap Tin

a- Chỉnh hướng ra tệp mới

Sử dụng siêu ký tự ">" để tạo ra một tệp mới

VD: ls >t tệp1

Nếu tệp1 đã có sẵn thì nó sẽ bị mất nội dung cũ.

C shell cho phép lập một biến để bảo vệ việc chỉnh hướng

set noclobber

Ví dụ tạo ra một tệp mới, có cùng nội dung như prog.c :

cat prog.c > tệp_2

lệnh sau cũng tương đương như trên: cp prog.c tệp_2

Lệnh sau sao a.out vào một tệp đĩa result:

a.out > result

3. Chỉnh hướng các luồng dữ liệu

62

Page 63: Chuong 2 - He Thong Tap Tin

b- Chỉnh hướng ra tệp cũ

- Dùng " >>" để ghi ra một tệp mới hoặc nếu nó đã có sẵn thì ghi tiếp vào cuối tệp cũ,

ví dụ: cat tệp_2 >> tệp_1

- Có thể chỉnh hướng ra bất kỳ một thiết bị ngoại vi nào vì nó cũng là một tệp,

ví dụ ra máy in: ls > /dev/lp

- Có thể chỉnh hướng ra /dev/null để huỷ dữ liệu (null):

- wc tệp > /dev/null

Ví dụ không hiển thị các dòng chữ do lệnh tee gửi ra màn hình:

tee tệp1 tệp2 tệp3 > /dev/null

3. Chỉnh hướng các luồng dữ liệu

63

Page 64: Chuong 2 - He Thong Tap Tin

c- Chỉnh hướng vào từ tệp

Ta gõ "< " để nhập dữ liệu từ tệp thay vì từ bàn phím,

ví dụ: tee < tệp1

Ba ví dụ sau tương đương và đều che các dòng chữ gửi ra màn hình:

tee < tệp1 > tệp2

tee > tệp2 < tệp1

cat tệp1 > tệp2

Hai ví dụ sau cũng tương đương:

cat tệp

cat < tệp

3. Chỉnh hướng các luồng dữ liệu

64

Page 65: Chuong 2 - He Thong Tap Tin

d- Chỉnh hướng vào với kết thúc tệp

Ta gõ "<< " và một từ bất kỳ từ bàn phím,

ví dụ: cat << END

Hai ví dụ sau tương đương:

cat < /dev/tty > tệp2

cat > tệp2

e- Chỉnh hướng thông báo lỗi

+Trong Bourne shell:

- Ta gõ " 2> " để tạo ra một tệp mới hoặc ghi thông báo lỗi lên một tệp cũ cùng tên: rm tệp 2> tệp_error

- Ta gõ " 2>> " để tạo ra một tệp mới hoặc ghi thông báo lỗi vào cuối một tệp cũ cùng tên: cat tệp_ strange 2>> tệp_old

- < và << tức là 0< và 0<<, còn > và >> tức là 1> và 1>>

3. Chỉnh hướng các luồng dữ liệu

65

Page 66: Chuong 2 - He Thong Tap Tin

+Trong C shell:

- không có ký hiệu riêng để chỉnh hướng báo lỗi, chỉ có >& và >>& để chỉnh hướng nó cùng với luồng dữ liệu thông thường,

ví dụ: rm tệp_strange >& tệp_error

- Nếu muốn tách thông báo lỗi ra khỏi luồng dữ liệu thông thường ta phải dùng các ( ),

ví dụ: (cat tệp_strange > tệp_data) >& tệp_error

- Nếu "tệp1" tồn tại thì "tệp_data" sẽ nhận nội dung của nó, nếu "tệp1" không tồn tại thì "tệp_data" sẽ nhận thông báo lỗi về lý do đó:

(cat tệp >> tệp_ data) >>& tệp_error

3. Chỉnh hướng các luồng dữ liệu

66

Page 67: Chuong 2 - He Thong Tap Tin

- là kỹ thuật shell dùng để nối các luồng dữ liệu của một số tiến trình- Ta có thể liên lạc nhiều tiến trình với nhau bằng các pipe, ví dụ:

command_1 | command_2 | command_3

Trong đó:

command_1 phải có đầu ra,

command_2 là bộ lọc và

command_3 phải có đầu vào.

PIPE: mỗi pipe nối hai luồng dữ liệu của 2 lệnh liền kề qua một ống trung gian, thể hiện bằng bộ nhớ đệm BUFER.

Hoạt động: command_i ==> BUFER ==> command_j

Vd: cut –d “ “ –f 1 vb | sort

4. Các ống nối (pipe)

67

Page 68: Chuong 2 - He Thong Tap Tin

4. Các ống nối (pipe)

68

Page 69: Chuong 2 - He Thong Tap Tin

1. Lệnh tr2. Lệnh fgrep3. Lệnh grep4. Lệnh egrep

VII. Các bộ lọc riêng

69

Page 70: Chuong 2 - He Thong Tap Tin

a- Lệnh tr tổng quátLệnh tr nhập dữ liệu vào từ bàn phím (sau <RETURN> và trước ^D) và thay đổi các dữ liệu ở chuỗi_1 thành các ký tự ở chuỗi_2, xuất ra màn hình: tr chuỗi_1 chuỗi_2Ví dụ: tr abcd xyztGõ tiếp: la cravatte => thì sẽ nhận được dòng chữ sau: lx zrxvxtteb- Biểu thức trong lệnh trMỗi chuỗi ký tự "chuỗi_1" và "chuỗi_2" sẽ được thể hiện bằng:- chuỗi ký tự ASCII, nếu có ký tự đặc biệt thì phải cho vào cặp ‘’ ví dụ: tr ‘$% ^&’ uiol- một khoảng ký tự hiển thị dùng: kí_tự_đầu-kí_tự_cuốii-q ([i-q] cho UNIX System V)Ví dụ: tr ‘a–z’ ‘A–Z’ < tệp > tệp_hoa-> chuyển tệp chứ thường thành hoa

1. Lệnh tr

70

Page 71: Chuong 2 - He Thong Tap Tin

1. Lệnh tr

71

c- Các tuỳ chọn của lệnh tr

-d: Xoá những dữ liệu gõ vào mà giống các ký tự ở chuỗi_1

Khi dùng tuỳ chọn -d: chuỗi_2 không can thiệp gì

VD: sao tệp1 vào tệp2 xóa hết dấu phảy thì:

tr -d ‘,’ > tệp2 < tệp1

-s: Nếu trong dữ liệu ra có 1 chuỗi ký tự giống nhau và tương ứng với 1 ký tự của chuỗi_2 thì chúng sẽ bị gộp làm 1

tr -s abcd 12345

dddddddabcd -> 41234

d- Nếu hai chuỗi không dài bằng nhau

Nếu "chuỗi_1" và "chuỗi_2" không dài bằng nhau thì những ký tự thừa ra sẽ không tham dự vào việc chuyển dịch.

Page 72: Chuong 2 - He Thong Tap Tin

GREP (Global regular expression print) là lệnh tìm kiếm các dòng có chứa một chuỗi hoặc từ khóa trong filea- Dạng tổng quát của grepgrep [option] PATTERN FILE "chuỗi" PATTERN phải là loại biểu thức hợp quy (regular expression)Vd:grep chuỗi tệp_input > tệp_outputgrep '^abcd' tep >tep_outb- Biểu thức chinh qui (RE) của grepRE là một chuỗi ký tự bao gồm cả các ký tự đặc biệt và được xử lý theo cách riêng của lệnh grep.Lưu ý: lệnh tự xử lý các ký tự đặc biệt trong RE chứ không nhờ shell như trong trường hợp có các siêu ký tự.

2. Lệnh grep

72

Page 73: Chuong 2 - He Thong Tap Tin

c- Các ký tự đặc biệt đối với grep

Các ký tự đặc biệt đối với grep có nghĩa khác các siêu ký tự:◦ ^c: in những dòng bắt đầu “c”

grep ‘^Begin’ vd: những dòng có chuỗi “Begin" ở đầu dòng.◦ c$: in những dòng kết thúc bằng “c”

grep ‘End$’ vd: những dòng kết thúc bằng chuỗi “End"◦ \<c: in các dòng chứa các từ bắt đầu bằng chuỗi “c”

grep ‘\<Be’ vd: các dòng chứa các từ bắt đầu “Be” trong vd◦ c\>: in các dòng có chứa từ có kết thúc bằng chuỗi “c”

grep ‘\<nd’ vd: in dòng có các từ kết thúc là “nd” trong file vd◦ *: thể hiện một chuỗi n ký tự (n >=0 giống ký tự đi trước *):

grep ‘ I*T’ tệp => hiển thị những dòng chứa các chuỗi ký tự toàn I đến T.

2. Lệnh grep

73

Page 74: Chuong 2 - He Thong Tap Tin

.: dấu chấm thể hiện một ký tự ASCII bất kỳ, trừ <RETURN>:

grep ‘ .*’ tệp => hiển thị mọi dòng của "tệp", kể cả dòng trống.

[ ]: thể hiện một ký tự ASCII trong cặp ngoặc vuông, nhưng cần đặt giữa cặp dấu nháy như: [^xyzt]

-: dấu trừ giữa hai ký tự ASCII bên trong cặp ngoặc vuông,

ví dụ [b-y], thể hiện một ký tự có trong khoảng đó, nhưng cũng cần đặt giữa cặp dấu nháy như '[b-y]'.

\: dấu chéo ngược sẽ bỏ ý nghĩa đặc biệt của ký tự đi sau nó và trả lại ý nghĩa gốc.

^: ngoại trừ

Ex: một biểu thức như [^xyzt] thể hiện một ký tự không phải là x, y, z, t .

2. Lệnh grep

74

Page 75: Chuong 2 - He Thong Tap Tin

- Bài tập

Hãy thử những thí dụ dùng lệnh grep như sau:

grep ‘ ^L..N’ file1

grep ‘ [X–Z] ‘file1

grep ‘ ^ [ ^eom ] . \ . c . *te’ file1 > output

grep ‘ [ A – Za – z ] [ A – Za – z ] *’ file1

grep grep ‘ ^ [ ^ : ] * : [ ^ : ] * : ‘ /tc/passwd

grep ‘ ^ [ ^ : ] * : : ‘ /etc/passwd

2. Lệnh grep - vd

75

Page 76: Chuong 2 - He Thong Tap Tin

egrep and fgrep are available.

◦ Egrep is the same as grep -E.

◦ Fgrep is the same as grep -F.

a- Dạng thứ nhất của fgrep

Hiển thị mọi dòng của tệp có tên "tệp" nếu chúng chứa "chuỗi":

fgrep chuỗi tệp1

b- Dạng thứ hai của fgrep

Có thể có trong đối số la: 0, 1 hoặc nhiều tệp:

fgrep chuỗi tệp1 tệp2 tệp3

c- Dạng thứ ba của fgrep

Chỉnh hướng ra đến một tệp: fgrep chuỗi tệp > tệp_output

3. Lệnh fgrep

76

Page 77: Chuong 2 - He Thong Tap Tin

d- Về "chuỗi" trong lệnh fgrep

"Chuỗi" chứa ký tự đặc biệt thì cả "chuỗi" phải được đặt trong một cặp dấu nháy đơn hoặc kép:

fgrep ‘^rsT$’ tệp > tệp_output

e- Các tuỳ chọn của fgrep

-n: các dòng kết quả sẽ được đánh số theo tệp gốc:

fgrep –n 'abcd' tệp > tệp_output

-v: là những dòng không chứa "chuỗi": fgrep –v 'abcd' tệp

-i: không phân biệt chữ hoa với chữ thường

-c: chỉ hiển thị số lượng dòng kết quả

-f "chuỗi" được đặt trong một tệp: fgrep –f tệp_chain tệp_data

Ví dụ:

who | fgrep lan_anh -> tìm xem lan_anh có đang làm việc không

ls | fgrep a* -> hiện thị các file bắt đầu a

3. Lệnh fgrep

77

Page 78: Chuong 2 - He Thong Tap Tin

a- Dạng tổng quát của egrepDạng tổng quát của egrep cũng giống như của các lệnh fgrep và grep: egrep chuỗi tệp > tệp_outputb- Biểu thức regular của egrepBiểu thức regular của egrep cũng giống như của grep với một chút bổ sung:+: dấu cộng thể hiện một chuỗi n ký tự (n là nguyên dương) giống y ký tự đi trước nó.?: dấu hỏi thể hiện 0 hoặc 1 lần xuất hiện của ký tự trước đó.a | b: a hoặc b sẽ được chấp nhận để tìm kiếm.c- Các tuỳ chọn của egrepCác tuỳ chọn của egrep cũng giống như của fgrep, kể cả -f vốn không được grep chấp nhận.

4. Lệnh egrep

78

Page 79: Chuong 2 - He Thong Tap Tin

- Bài tập egrep ‘ [A–Za–z ] +’ file1 egrep ‘ C | Peterbourg’ file1

4. Lệnh egrep

79

Page 80: Chuong 2 - He Thong Tap Tin

1. Lệnh write dùng để trao đổi giữa những user đang cùng làm việc trong hệ thống. Trước hết, cần liên hệ với người dùng khác, dùng lệnh who: $who hiện thông tin như sau: user1 tty17 Oct 15 10:20 user2 tty43 Oct 15 8:25 user4 tty52 Oct 15 12:20 Sau đó, chuyển thông báo: $write <tên user> [<tên trạm cuối>] Vd: cần user1 gửi thông báo đến người dùng có tên user2:

$write user2 tty43 (write root pts/1)• "user2 is not logged in“: Nếu user2 hiện không làm việc• “Message from user1 on tty17 at <giờ, phút>”: Nếu user2 đang làm việc

VIII. Lệnh truyền thông

80

Page 81: Chuong 2 - He Thong Tap Tin

Người gửi gõ thông báo của mình theo quy tắc: - Kết thúc một dòng bằng cụm -o, - Kết thúc dòng cuối (hết thông báo) bằng cụm -oo. - Để kết thúc kết nối với user2, user1 gõ ctrl-d. - Để từ chối mọi việc nhận thông báo từ người khác,

sử dụng lệnh không nhận thông báo: $mesg n (n - no) - Một người khác gửi thông báo đến người này sẽ

nhận được việc truy nhập không cho phép permission denied.

- Để tiếp tục cho phép người khác gửi thông báo đến, sử dụng lệnh:

$mesg y (y - yes)

VIII. Lệnh truyền thông

81

Page 82: Chuong 2 - He Thong Tap Tin

2. Lệnh mail - cho phép gửi, nhận thư điện tử giữa các người dùng, hoạt động theo chế độ off-line (gián tiếp).- hệ thống tạo ra cho mỗi người dùng một hộp thư riêng. - Cho phép sử dụng trên mạng internet (địa chỉ mail thường dưới dạng tên-login@máy.mạng.lĩnh-vực.quốc-gia)- Tại thời điểm login hệ thống, người dùng có thể thấy được có thư mới khi xuất hiện dòng thông báo "you have mail". - Lệnh mail gồm 2 chức năng: gửi thư và quản lý thư. Tương ứng, có hai chế độ làm việc với lệnh mail:

* mode lệnh (command mode) quản trị thư* mode soạn (compose mode) cho phép tạo thư

VIII. Lệnh truyền thông

82

Page 83: Chuong 2 - He Thong Tap Tin

a/ Mode soạn làm việc trực tiếp với một thư và gửi ngay cho người khác, có tham số: $mail <tên_người_nhận> Ví dụ, $mail user2 => cho phép soạn và gửi thư cho người nhận có tên được chỉ. Sau đó nhập nội dung thư. Để kết thúc soạn thư, hãy gõ ctrl-dChú ý: Gửi thư đã soạn trong nội dung một file nào đó (dùng dấu "<" chỉ dẫn thiết bị vào chuẩn là nội dung file thay vì cho bàn phím): $mail tên_người_nhận < tên_file_nội_dung_thư Ví dụ, $ mail user2 < thu1 Nội dung thư từ File thu1 được gửi cho người nhận user2.

VIII. Lệnh truyền thông

83

Page 84: Chuong 2 - He Thong Tap Tin

b/ Mode lệnh - để quản lý hộp thư, không tham số: $mail Sau đó, sử dụng các lệnh của mail quản lý hệ thống thư của mình. - Cần trợ giúp gõ dấu chấm hỏi (màn hình có hai dấu ??): ? =>in ra dạng sau: <số> Hiện thư số <số> (dấu cách) Hiện thư ngay phía trước + Hiện thư ngay tiếp theo l cmd thực hiện lệnh cmd dq xóa thư hiện thời và ra khỏi mail m user gửi thư hiện thời cho người dùng s tên-file ghi thư hiện thời vào file có tênr [tên-file] trả lời thư hiện thời (có thể từ file) d <số> xóa thư số u khôi phục thư hiện thời u <số> khôi phục thư số m <user> ... chuyển tiếp thư tới các người dùng khác q ra khỏi mail

VIII. Lệnh truyền thông

84

Page 85: Chuong 2 - He Thong Tap Tin

3. Lệnh talk

Trong Linux cho phép sử dụng lệnh talk thay thế cho lệnh write.

VIII. Lệnh truyền thông

85

Page 86: Chuong 2 - He Thong Tap Tin

VIII. Giới thiệu một số tiện ích quản lý HTTT 1. Midnight Conmander (MC) 2. Konqueror 3. Krusader IX. Soạn thảo văn bản 4. Soạn thảo văn bản với lệnh vi (visual

interpreter, video interactif) 5. OpenOffice 6. Text Editor: giống như notepad của MSoffice

Tự đọc:

86