1 / 88

Thực hành Unix, Linux Ngô Thanh Nguyên Bộ môn Hệ thống và Mạng máy tính

Thực hành Unix, Linux Ngô Thanh Nguyên Bộ môn Hệ thống và Mạng máy tính Khoa Khoa học và kỹ thuật máy tính Email: ntnguyen@cse.hcmut.edu.vn. Assignment 1: Các giải thuật định thời và lập trình multiprocess, multithread, IPC

dyami
Download Presentation

Thực hành Unix, Linux Ngô Thanh Nguyên Bộ môn Hệ thống và Mạng máy tính

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Thực hành Unix, Linux Ngô Thanh Nguyên Bộ môn Hệ thống và Mạng máy tính Khoa Khoa học và kỹ thuật máy tính Email: ntnguyen@cse.hcmut.edu.vn Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM

  2. Assignment 1: Các giải thuật định thời và lập trình multiprocess, multithread, IPC Assignment 2: Quản lí bộ nhớ và I/O Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM

  3. Tài liệu tham khảo • http://www.cse.hcmut.edu.vn/~c506001/ • Nguyễn Phương Lan, Hoàng Đức Hải: “Lập trình Linux, tập 1” • Linux manual • Internet Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM

  4. Nộidung • Giới thiệu • Khái niệm cơ bản về người dùng – account • Các lệnh cơ bản trong Linux • Hệ thống file, lệnh thao tác trên hệ thống file • Đổi hướng xuất nhập, pipe • Trình soạn thảo vi (visual interpreter) • Lập trình Shell Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM

  5. Nộidung • Giớithiệu • Kháiniệmcơbảnvềngườidùng – account • Cáclệnhcơbảntrong Linux • Hệthống file, lệnhthaotáctrênhệthống file • Đổihướngxuấtnhập, pipe • Trìnhsoạnthảo vi (visual interpreter) • Lậptrình Shell Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM

  6. Giới thiệu • Thực hành trên hệ điều hành *nix • Cóthểlogin trực tiếp hay dùng chương trình telnet/ssh đểkết nối đến máy *nix • Mỗi người dùng phải cómột tài khoản (account) đểsửdụng hệthống. Mỗi tài khoản gồm có: • Tênsửdụng (username) • Mậtkhẩu (password) • Thưmụclàmviệc (home directory) Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM

  7. Login và logout Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM

  8. Đăng nhập hệ thống • Linux • Tại dấu nhắc của hệ thống, gõ username và password • Windows • Dùng ssh để kết nối đến máy chủ Linux từ xa • PuTTY Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM

  9. Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM

  10. Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM

  11. Đăng xuất hệ thống • exit,Ctrl + Dhoặcđóng cửa sổ PuTTY • Tất cảcác quátrình đang chạy đều kết thúc (ngoại trừcác quátrình được thực hiện với lệnh nohup) Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM

  12. Một số chú ý • Hệthống *nix phân biệt chữhoa vàchữ thường. • Nếu đăng nhập từcác máy Windows, cần tắt các chương trình gõ tiếng Việt(Unikey,Vietkey…). • Đểxoáký tự trước đó, cóthểdùng phím Backspace trong một số trường hợp không dùng phím Delete được. Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM

  13. Nộidung • Giớithiệu • Kháiniệmcơbảnvềngườidùng – account • Cáclệnhcơbảntrong Linux • Hệthống file, lệnhthaotáctrênhệthống file • Đổihướngxuấtnhập, pipe • Trìnhsoạnthảo vi (visual interpreter) • Lậptrình Shell Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM

  14. Các lệnh cơ bản • Một lệnh *nix cơ bản có định dạng như sau <command_name> <options> <arguments> • Ví dụ: $ls –l /etc $cd /tmp (no option) $whoami (no option and argument) Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM

  15. Danh định (identifier) • Mỗi người dùng cómột danh định duy nhất trong hệthống.Đối với người dùng, danh định chính làusername duy nhất trong hệthống. • Đối với hệthống, một danh định người dùng bao gồm: • UID (user identifier) • GID (group identifier) • Lệnhhiểnthịthông tin về UID và GID: id • Lệnh cho biết danh định: whoamihoặcwho am i • Vídụ $who am i a01 pts/1 Apr 2 14:38 $whoami a01 Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM

  16. Thư mục home,thư mục hiệnhành • Mỗi người dùng trong hệthống đều cómột thư mục home và người đócótoàn quyền trong đó • Thư mục home Dùng lệnhechođểhiển thịbiến môi trườngHOME: $echo $HOME /home/a01 • Thư mục làm việc (hay thư mục hiện hành) $pwd /home/a01 Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM

  17. Hiển thị người dùng có mặt trong hệ thống • Lệnh who $who root pts/1 Aug 17 15:02 (172.28.12.14) mpi pts/2 Aug 17 15:05 (172.28.10.143) a01 pts/8 Aug 17 14:25 (172.28.11.192) Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM

  18. Thay đổi mật khẩu • Lúc đầu, người dùng log on vào hệthống cóthểkhông cần mật khẩu. Tuy nhiên, người dùng phải thay đổi sau đó. • Dùng lệnh passwd để thay đổi mật khẩu $ passwd Newpassword: Confirmnew password: Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM

  19. Để được trợ giúp • Dùng lệnhman(manual) đểxem trợgiúp cho một lệnh hay một hàm nào đó. • Một sốphím chức năng trong lệnh man -Kết thúc: q-Về trang trước:b-Vềtrang sau: f • Ví dụ $ man passwd Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM

  20. Nộidung • Giớithiệu • Kháiniệmcơbảnvềngườidùng – account • Cáclệnhcơbảntrong Linux • Hệthống file, lệnhthaotáctrênhệthống file • Đổihướngxuấtnhập, pipe • Trìnhsoạnthảo vi (visual interpreter) • Lậptrình Shell Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM

  21. Cấu trúc hệ thống file Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM

  22. Một số thư mục quan trọng • / • /bin • /boot • /dev • /etc • /home • /lib • /lost+found • /mnt • /sbin • /tmp • /usr • /var Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM

  23. Các kiểu file • Directory • là file đặc biệt, chứa thông tin của các file khác. • thựcchấtlà 1 file. • Ordinary file • làfile thông thường, chương trình hoặc dữliệu. • Special file • làfile đặc biệt, tương ứng với các thiết bị(devicefile) • Dùng lệnh file path_name đểbiết path_name làloại file gì. Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM

  24. Dạo chơi trong cây thư mục • Dùng lệnh cd (change directory) $ cd <pathname> pathname = đường dẫn tương đối (tính từ thư mục hiện hành) hoặc tuyệt đối (tính từ thư mục gốc) • Thư mục đặc biệt: • Thư mục hiện hành:. • Thư mục cha:.. • Thư mục home:~hoặc~username Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM

  25. Ví dụ $cd /tmp(move to /tmp directory) $cd ../home/a01 (then you are in your home) $pwd /home/a01 ... $cd(move back to your home) ... $cd /etc/sysconfig/network-scripts $pwd /etc/sysconfig/network-scripts Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM

  26. Liệt kê nội dung thư mục • Dùng lệnh ls (listing directory): ls [option] path_name • Ví dụ $ ls addr.c env.c fork.c lockf.c pipe1.c a.out exec1.c forkex.c lockf.h Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM

  27. Mộtsốtùychọncủalệnhls • -a/A liệt kê các file ẩn • -dchỉliệt kê tên của thư mục, không liệt kê nội dung • -F liệtkêcác file vàchobiếtkiểucủa file qua kýhiệu ở cuối • Không cóký hiệu gì:file thường • ‘/’ directories • ‘*’ executable files • “@” linked files • -ichobiếtsốinodecủa file • -lliệt kê đầy đủthông tin về file/thư mục • -Rliệt kê các thư mục conđệquy • -t sắpxếptheothờigiancậpnhật Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM

  28. Ví dụ • Hiển thị đầy đủthông tin: $ls –l total 8 drwxr-xr-x 15 a01 student 512 Aug 10 2000 floppy -rw-r--r– 1 a01 student 58984 Mar 9 2000 arch.tar Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM

  29. Ví dụ $ ls -a . .libs .rhosts io.c .. .login 1.c nohup.out .cshrc .netscape debugging.html .desksetdefaults .profile fork.c (Các file/thư mục ẩn cótên bắt đều bằng dấu chấm, vídụ: .lib, .rhosts,.login) Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM

  30. Ví dụ $ ls -R .: Desktop examples ex.tar ./Desktop: Autostart kontrol-panel Linux Documentation Printer ./examples: c cmd ./examples/c: addr.c env.c fork.c lockf.c pipe1.c procinfo.c sig1.c a.out exec1.c forkex.c lockf.h pipe2.c sema.c sig2.c ./examples/cmd: 1.txt case.sh Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM

  31. Wildcards • Wildcardslàcác ký tựdùng đểthay thếcho các mẫu tương ứng với tên file hay thư mục. • Wildcards: * ? […] • Vídụ: $ls p*.pas p10.pas p1.pas p2.pas p5.pas $ls p?.pas p1.pas p2.pas p5.pas $ls p[1-3].pas p1.pas p2.pas Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM

  32. Các lệnhtrên file vàthư mục • Tạo thư mục: mkdir • Xoá file hay thư mục: rm • Copy: cp • Di chuyển: cd Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM

  33. Tạo thư mục • Dùnglệnhmkdir mkdirpath_name • Vídụ: $pwd /export/home/a01 $mkdir examples $ls –aF ./ .bash_logout .bashrc .emacs ex.tar .screenrc ../ .bash_profile Desktop/ examples/ .kde/ .wl Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM

  34. Tạo cây thư mục con • Vídụcần tạo 3 thư mục a, b, c như sau a/b/c • Dùng 3 lệnh mkdir $mkdir a $mkdir a/b $mkdir a/b/c • Dùng một lệnh mkdir $mkdir –p a/b/c Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM

  35. Xoá file hay thư mục • Xoá thư mục rỗng (không chứa thư mục con hay file) rmdir path_name(s) • Xoá thư mục không rỗng rm –r path_name(s) • Xoá file rm –option file_name(s) Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM

  36. Copy • Copy files: cp [-option] from(s) to • Copy thư mục cp -r from(s) to • Vídụ: $cp /etc/passwd . $cp p*.pas /tmp $cp /etc/sysconfig/network-sripts /tmp Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM

  37. Di chuyển/đổi tên file/thư mục • Dùng lệnh mv (move): mv [option] filename dest_file mv [option] directory dest_dir mv [option] filename dest_dir • Ví dụ: $mv examples lab1 Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM

  38. Làm việc trên file • Tạo files • Hiển thị nội dung files • Tìm kiếm file • Tìm kiếm trong nội dung của file Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM

  39. Tạo file • Tạo file vànhậpvàonội dung cat > name_of_file • Sau khi nhập nội dung, gõ <Enter> đểxuống dòng. • Ấn Ctrl-d đểghi nội dung soạn thảo vào file vàkết thúc thao tác. • Vídụ $cat > test.txt <Enter> this is my file <Enter> Ctrl + D $ • Tạo file rỗng (0 bytes) bằnglệnh touch touch new_file Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM

  40. Tạo file • Dùnglệnhcat: cat filename • Với file cónội dung dài, dùnglệnhmore: more filename • Dấu nhắc--More--(nn%) xuất hiện bên dưới màn hình. • Cóthểdùng các phím điều khiển trong lúc đang xem nội dung file • space bar hiểnthịtrangkếtiếp • <RETURN> hiểnthịdòngkếtiếp • q thoátkhỏilệnh more • bvề trang trước. • h xemtrợgiúp. Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM

  41. Hiểnthịnội dung file • Hiển thịndòng đầu tiêncủa mộttext file,dùng lệnh head head -n filename (nếu n=10, cóthểbỏoption –n đi:head filename) • Hiển thị ndòng sau cùng của một text file, dùng lệnh last last -n filename (nếu n=10, cóthểbỏ option –n đi: last filename) Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM

  42. Tìm kiếm một file • Tìmkiếmmột file tronghệthống file (file system), dùnglệnhfind find pathname -name filename -print (Cóthểdùng wildcard đặt trong dấu nháy kép) • Vídụ $find / -name “*.cpp” -print • Cũng cóthể định vịmột file bằng các lệnh which, whereis, locate (lưu ý làcác lệnh này chỉtìm trong phạm vi biến môi trường PATH hoặc xxxPATH) • Vídụ $ which find $ locate ls Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM

  43. Tìmkiếmtrongnội dung của file • Tìm một chuỗi ký tự trong một text file bằng lệnh grep pattern filename(s) pattern: chuỗi ký tựcần tìm kiếm. Nếu chuỗi cóký tự đặc biệt thìphải đặt trong dấu nháy đơn. • Ví dụ $ grep UNIX /usr/man/man*/* $ grep -n '[dD]on\'t' notes $ grep a01 /etc/passwd Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM

  44. Các quyền trên file và thư mục • Hệthống *NIX bảo vệcác file và thư mục thông qua các quyền thiết lập trên đó. • Có 3 quyền: • r–read - đọc • w–write –ghi • x–execute -thựcthi • Các quyền được áp dụng trên 3 nhóm người dùng, kíhiệu bằng ba kítự tương ứng u, g, o • u = owner user = chủsởhữu • g= group = những người cùng nhóm với chủsởhữu • o= others = tất cảnhững người khác Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM

  45. Phânquyền • Các quyền áp dụng cho 3 nhóm người dùng kết hợp lại thành 9 bit như sau: rwxrwxrwx user group other • Cóthểxemthông tin vềquyềntruycậpbằnglệnhls -l Vídụ $ls -l -rwxr-xr-x Vớivídụtrên: • Chủsởhữu cóquyềnr(đọc),w(ghi),vàx(thực thi). • Cácthànhviêncùngnhómvớichủsởhữucóquyềnr và x. • Những người khác cóquyền rvàx. Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM

  46. Thay đổi các quyền trên file và thư mục • Dùng lệnh chmod. chmod access_mode file(s) • Quyền truy cập có thể thiết lập theo 2 dạng • Dạng dùng ký hiệu (symbolic): [ugo][+ -=][rwx] • Dạng dùng số bát phân (octal): [0-7][0-7][0-7] Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM

  47. Phân quyền • Dạngsốbátphân Octal Binary Permissions 0 000 --- 1 001 --x 2 010 -w- 3 011 -wx 4 100 r-- 5 101 r-x 6 110 rw- 7 111 rwx Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM

  48. Ví dụ $mkdir perm $touch test $ls –l total 110 drwxr-xr-x 15 a01 other 512 Aug 10 2001 perm -rw-r--r-- 1 a01 other 0 Aug 10 2001 test $chmod o-rx perm $chmodg+w perm $ls -al total 1170 drwxrwx--- 15 a01other 512 Aug 10 2001 perm -rw-r--r-- 1 a01other 0 Aug 10 2001 test Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM

  49. Ví dụ $chmod 750 perm $chmod 700 test $ls -al total 1170 drwxr-x--- 15 a01 other 512 Aug 10 2001 perm -rwx------ 1 a01 other 0 Aug 10 2001 test Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM

  50. Thay đổi quyền mặc định • Khi một file/thư mục được tạo ra, nó được gán một quyền hạn đã được định nghĩa trước • Người dùng cóthểthay giátrịmặc định này bằng cách thay đổi mặt nạquyền(file-creationmode mask). • Hiển thị mặt nạ quyền: $umask 022 • Thay đổi mặt nạquyền: umask nnn ("n”:0..7) Khoa KH&KTMT - Đại học Bách Khoa Tp. HCM

More Related