Giáo án Hệ điều hành Unix-Linux - Chương 3: Hệ thống File

pdf 83 trang huongle 6350
Bạn đang xem 20 trang mẫu của tài liệu "Giáo án Hệ điều hành Unix-Linux - Chương 3: Hệ thống File", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfgiao_an_he_dieu_hanh_unix_linux_chuong_3_he_thong_file.pdf

Nội dung text: Giáo án Hệ điều hành Unix-Linux - Chương 3: Hệ thống File

  1. H điu hành UNIXLinux Chương 3. H thng File Linux operating system Nguyen Tri Thanh 1
  2. Khái nim cơ bn  Mt đi tưng đin hình trong các h điu hành đĩ là file  File là mt tp hp d liu cĩ t chc đưc h điu hành qun lý  Cách t chc d liu trong file thuc v ngưi đã to ra file  File cĩ th là:  mt văn bn (trưng hp đc bit là chương trình ngun trên C, PASCAL, shell script )  mt chương trình ngơn ng máy,  H điu hành t chc vic lưu tr ni dung file trên các thit b nh lâu dài và đm bo các thao tác lên file. Linux operating system Nguyen Tri Thanh 2
  3. Khái nim cơ bn  H điu hành đm bo các chc năng liên quan đn file nên ngưi dùng khơng cn bit file ca mình lưu vùng nào trên đĩa t, bng t cách nào đc/ghi lên các vùng ca đĩa t mà vn thc hin đưc yêu cu tìm kim, x lý lên các file  H điu hành qun lý file theo tên gi ca file (tên file) và mt s thuc tính liên quan đn file  H điu hành khơng ch qun lý ni dung file mà cịn phi qun lý các thơng tin liên quan đn các file.  Thư mc (directory) là đi tưng đưc dùng đ cha thơng tin v các file  Các thư mc cũng đưc h điu hành qun lý trên vt dn ngồi và vì vy thư mc cũng đưc coi là file Linux operating system Nguyen Tri Thanh 3
  4. File trong Linux UNIX  Tên file trong Linux cĩ th dài > 256 ký t  Nên ch gm các ch cái, ch s, du gch ni, gch chân, du chm  Tên thư mc/file trong Linux cĩ th cĩ nhiu hơn mt du chm: This_is.a.VERY_long.filename  Xâu con ca tên file t du chm cui cùng đưc gi là phn m rng ca tên file  Phn m rng đây khơng mang ý nghĩa như mt s h điu hành khác (chng hn như MSDOS)  Phân bit ch hoa và ch thưng đi vi tên thư mc/file  Nu trong tên thư mc/file cĩ cha khong trng, đt tên vào trong cp du nháy kép: # mkdir “My document”  Mt s ký t khơng đưc s dng trong tên thư mc/file: !, *, $, &, # Linux operating system Nguyen Tri Thanh 4
  5. Cách t chc file  Trên đĩa h thng file là dãy tun t các khi lơgic mi khi cha hoc 512B hoc 1024B hoc bi ca 512B  Các khi d liu đưc đa ch hĩa bng cách đánh ch s liên tip, mi đa ch đưc cha trong 4 byte (32 bit)  Cu trúc ni ti gm 4 thành phn k tip nhau: Boot block (dùng đ khi đng h thng), Siêu khi (Super block), Danh sách inode và Vùng d liu. Linux operating system Nguyen Tri Thanh 5
  6. Siêu khi Cha thơng tin liên quan đn trng thái ca h thng file  Kích thưc ca danh sách inode  Kích thưc ca h thng file.  Danh sách ch s các khi ri  Ch s các khi ri thưng trc trên siêu khi  Ch s ca khi ri tip theo trong danh sách các khi ri  Mt danh sách các inode ri  Danh sách này cha ch s các inode ri đưc dùng đ phân phi ngay đưc cho mt file mi đưc khi to  C ch dn rng h thng file ch cĩ th đc (cm ghi)  S lưng tng cng các khi ri trong h thng file  S lưng tng cng các inode ri trong h thng file  Thơng tin v thit b  Kích thưc khi ca h thng file Linux operating system Nguyen Tri Thanh 6
  7. Linux operating system Nguyen Tri Thanh Cu trúc thư mc 7
  8. Kin trúc h thng file Linux operating system Nguyen Tri Thanh 8
  9. Hình nh các khi b nh Linux operating system Nguyen Tri Thanh 9
  10. Cu trúc thư mc  Ni dung ca mt thư mc là mt danh sách các file entry  Mi mt file entry gm  S hiu inode qun lý file này  Tên file  ð dài ca tên file  ð dài ca entry Inode No File name File name length Entry length 320 a.txt 5 7 Thơng tin mt file entry Linux operating system Nguyen Tri Thanh 10
  11. Cu trúc thư mc  Khi mt file b xĩa thì trưng entry length ca file đng trưc s đưc tăng đ dài  Khi chèn thêm mt file entry, nĩ s tính tốn đ dài ca entry đ quyt đnh là chèn vào mt entry b xĩa nào đĩ hay cui danh sách Linux operatingTrng thái system ca Nguyen thư mc Tri Thanh 11
  12. Inode  Khi to mt file mi, h thng s cp mt inode chưa s dng  inode cho ta bit các khi d liu ca file và các thơng tin v file  T hp gm inode + tp các khi d liu = file vt lý  Các inode cĩ ch s: s th t ca inode trong danh sách inode  H thng dùng 2 bytes đ lưu tr ch s ca inode  Mt file ch cĩ mt inode + mt hoc mt s tên file  Ngưi dùng tác đng thơng qua tên file và tên file li tham chiu đn inode Linux dùng mt vùng b nh cha danh sách các inode: incore inode Linux operating system Nguyen Tri Thanh 12
  13. Cu trúc Inode  Kiu file (file thơng thưng, thư mc, đc t kí t, đc t khi, ng dn)  Kiu file cĩ giá tr 0 tương ng đĩ là inode chưa đưc s dng  Quyn truy nhp file: cĩ 3 mc quyn truy nhp  ch ca file  nhĩm ngưi dùng ca ch nhân ca file  ngưi dùng khác  Quyn truy nhp là đc (r), ghi (w), thc hin (x) hoc mt t hp nào đĩ t nhĩm gm 3 quyn trên  Quyn thc hin đi vi mt thư mc tương ng vi vic cho phép tìm mt tên file cĩ trong thư mc đĩ Linux operating system Nguyen Tri Thanh 13
  14. Cu trúc Inode (tip)  S lưng liên kt đi vi inode (s lưng các tên file)  ðnh danh ch nhân ca inode  ðnh danh nhĩm ch nhân  ð dài ca file tính theo byte  Thi gian truy nhp file  thi gian file đưc sa đi mun nht  thi gian file đưc truy nhp mun nht  thi gian file đưc khi to 13 phn t đa ch  10 phn t trc tip  1 phn t gián tip bc 1  1 phn t gián tip bc 2  1 phn t gián tip bc 3 Linux operating system Nguyen Tri Thanh 14
  15. Linux operatingCác system con tr Nguyen d liu Tri Thanh 15
  16. Ni dung ca mt Inode  type regular  perms rwxrxrx  links 2  owner 41CT  group 41CNTT  size 5703 bytes  accessed Sep 14 1999 7:30 AM  modified Sep 10 1999 1:30 PM  inode Aug 1 1995 10:15 AM  Các phn t đa ch d liu Linux operating system Nguyen Tri Thanh 16
  17. Truy cp đn mt file Linux operating system Nguyen Tri Thanh 17
  18. Linux operating system Nguyen Tri Thanh 18
  19. Thut tốn truy nhp ti inode (iget) Tình hung địi hi thut tốn iget : m / to mt file mi iget cp phát mt bn incore inode đi vi mt s hiu inode Nu chưa cĩ bn sao incore inode thì đ cĩ ni dung ca nĩ cn phi đc đưc ni dung ca inode Nu mi inode đĩa chim 64 bytes, mi khi đĩa cha 8 inode đĩa thì inode s 8 s bt đu t byte th 448 trên khi đĩa đu tiên trong vùng danh sách các inode. Linux operating system Nguyen Tri Thanh 19
  20. Thut tốn iget Vào: h thng file, s hiu inode Ra: inode đưc khĩa hoc mã li while (not done){ if (inode trong vùng đm các inode){ /*cĩ quá trình đang làm vic vi inode*/ if (inode đã b khĩa) { sleep (cho đn khi inode đưc m khĩa); continue; /* quay v while */ } if (inode tn ti trong danh sách các inode ri) Loi b nĩ khi danh sách các inode ri; Tăng giá tr trưng s file tích cc trong incore inode; return (inode) } if (danh sách các inode ri rng) return (mã li) Loi b mt inode mi t danh sách các inode ri; ðt li s lưng inode ri vào h thng file; Loi b inode đĩ trên hàng đi cũ và đt nĩ lên hàng đi mi; ðc inode t đĩa vào incore inode; Khi to inode; return (inode) } Linux operating system Nguyen Tri Thanh 20
  21. Thut tốn iput Vào: con tr ti incore inode Ra: khơng cĩ { if (inode chưa b khĩa) Khĩa inode; Gim trưng s lưng file tích cc đi mt đơn v; if (s lưng file tích cc ==0) { if (s liên kt ca inode ==0) { Gii phĩng các khi đĩa ca file tương ng vi inode; ðt giá tr trưng "file type" ca inode là 0; Gii phĩng inode; } if (file đã truy cp hoc inode b thay đi hoc file đã thay đi) Cp nht inode trên đĩa; ðt inode vào danh sách các inode ri; } Tháo khĩa ca inode; } Linux operating system Nguyen Tri Thanh 21
  22. Thut tốn iname if (path_name bt đu t th ư mc gc) working_inode = inode ca th ư mc gc; /* thut tốn iget */ else working_inode = inode ca th ư mc hin ti; /* thut tốn iget */ while (thành phn đã x lý ch ưa là thành phn cui cùng ca path_name) { đc thành phn tip theo ca path_name t dịng vào; xác minh quyn truy cp ca quá trình đi vi working_inode là đúng đn; if (working_inode là gc và thành phn tip theo là "/") continue; /* quay li while */ đc t đĩa ni dung th ư mc working_inode; /* nh các thut tốn nh ư bmap, bread và brelse */ if (thành phn trùng vi mt đim vào ca th ư mc working_inode) { nhn s hiu inode t thành phn đã gp; gii phĩng working_inode; /* nh iput */ working_inode = inode ca thành phn đã gp; /* thut tốn iget*/ } else /*khơng cĩ thành phn th ư mc*/ return (khơng cĩ inode); } Linux operating system Nguyen Tri Thanh return (working_inode); 22
  23. Thut tốn ialloc while (true) { if (super block ca hthng file b khĩa){ sleep (cho ti khi super block khơng b khĩa); continue; } if (nu danh sách các inode ri trên super block đã rng){ Khĩa super block; Ly inode nh trên super block; Tìm kim các inode ch ưa s dng trên đĩa lên super block cho đn khi đy; M khĩa super block; wakeup (cho ti khi super block ri); if (khơng cĩ inode trên đĩa) return (khơng cĩ inode); ðt inode nh là inode tip theo tìm đưc cui cùng; } Ly s hiu ca inode t danh sách các inode trên super block; Ly inode; if (tt c inode khơng ri) { Ghi inode lênđĩa; Loi b inode;continue; } Thit lp các giá tr cho inode; Ghi inode lên đĩa; Gim tng s các inode ri trên h thng file; return (inode); Linux operating system Nguyen Tri Thanh } 23
  24. Thut tốn ialloc – trưng hp danh sách khơng rng Trưc khi gán: 48 là s hiu inode tip theo Sau khi gán: 48 đã đưc cung cp cho nhu cu, vì vy 83 tr thành ch s tip Linux operating system Nguyen Tri Thanh 24
  25. Thut tốn ialloc – trưng hp danh sách rng Trưc khi gán: danh sách inode ri trên super block là rng, do 470 là ch s tip nên tìm t s hiu 471 tr đi Sau khi tìm kim cĩ đưc danh sách ri và 471 là s hiu inode cn gán; lúc này, 535 tr thành ch s inode tip theo Linux operating system Nguyen Tri Thanh 25
  26. Thut tốn ifree Vào: h thng file, ch s inode Ra: Khơng Tăng tng s inode ri trên super block; if (super block trên h thng file đã b khĩa) return; if (danh sách các inode đy) { if (ch s inode ln hơn inode nh trên super block) ðt ch s inode nh = ch s inode cn gii phĩng; } else lưu tr ch s inode; return; Linux operating system Nguyen Tri Thanh 26
  27. Thut tốn alloc Vào: h thng file Ra: b nh đm cho khi đĩa while (super block ca h thng file đã b khĩa) sleep (cho đn khi super block khơng b khĩa; Loi b khi đưc cp phát trên super block; if (khi b loi b là khi cui cùng trong danh sách các khi ri) { Khĩa super block; ðc khi cĩ danh sách các khi ri; Sao chép các khi đĩ vào super block ca h thng file; Loi b vùng đm cho khi; M khĩa cho super block; } Ly b đm ca khi đĩ; Loi b ni dung b đm; Gim các khi nh ri lên h thng file; Chuyn ch s trên super block; return (b đm tương ng vi khi); } Linux operating system Nguyen Tri Thanh 27
  28. Linux operating system Nguyen Tri Thanh 28
  29. Liên kt Cĩ hai kiu liên kt: liên kt cng và tưng trưng  Liên kt cng là mt tên khác ca mt file  Cùng chia s mt inode và inode này cha đng tt c các thơng tin v file  Khơng th to mt liên kt cng ti mt thư mc.  Liên kt tưng trưng là mt kiu file đc bit: file tham chiu theo tên đn mt file khác  Kiu file này như là mt con tr ch dn ti mt file hoc mt thư mc, và đưc s dng đ thay th cho file hoc thư mc đưc tr ti  Các thao tác (m, đc, ghi ) đưc thc hin trên các file liên kt, sau đĩ, nhân h thng s t đng thc hin trên file đích ca liên kt  Khi xĩa file, file liên kt s b xĩa (file đích vn cịn) Linux operating system Nguyen Tri Thanh 29
  30. Lnh to liên kt  To mt liên kt đn thư mc/file đích, file liên kt là tênni ln [tùychn] [tênni]  Tuỳ chn: f, force : xĩa b các file đích đang tn ti. d, F, directory : to liên kt cng đn các thư mc i, interactive : vn to liên kt dù file đích đã b xĩa b s, symbolic : to các liên kt tưng trưng targetdirectory= :xácđnh thư mc tênthưmc là thư mc cĩ cha các liên kt v, verbose : hin th tên các file trưc khi to liên kt  Ví d # ln s /usr/doc/g77/DOC g77manual.txt Linux operating system Nguyen Tri Thanh 30
  31. Quyn truy nhp  File và thư mc đu cĩ mt ch s hu và mt nhĩm s hu và mt tp hp các quyn truy nhp  Cho phép thay đi các quyn truy nhp và quyn s hu file và thư mc nhm cung cp truy nhp nhiu hơn hay ít hơn Linux operating system Nguyen Tri Thanh 31
  32. Các kiu file Linux operating system Nguyen Tri Thanh 32
  33. Các kiu file cĩ trong Linux  File ngưi dùng (user data file)  Là các file to ra do hot đng ca ngưi dùng (khi các chương trình)  File h thng (system data file)  Là các file lưu tr thơng tin ca h thng (cu hình, tài khon, thơng tin thit b )  File thc hin (executable file)  Là các file cha mã lnh hay ch th cho máy tính thc hin  Thư mc (directory)  Là file cĩ cu to hồn tồn tương t như file thơng thưng khác nên cĩ th gi là file Linux operating system Nguyen Tri Thanh 33
  34. Các kiu file cĩ trong Linux  File thit b (device file)  Là file mơ t thit b, đưc lưu tr trong thư mc /dev  Ví d: tty (teletype thit b truyn thơng), ttyS (teletype serial thit b truyn thơng ni tip), fd0, fd1, (floppy disk thit b đĩa mm), hda1, hda2, hdb1, hdb2,  File liên kt (linked file)  Là nhng file cha tham chiu đn các file khác trong h thng  Cho phép ngưi dùng tìm nhanh ti file thay vì ti v trí gc ca nĩ.  Ging như khái nim shortcut trong MSWindows 98 Linux operating system Nguyen Tri Thanh 34
  35. Các quyn truy cp Linux operating system Nguyen Tri Thanh 35
  36. Thay đi quyn truy cp file chmod [tùychn] chmod [tùychn] chmod [tùychn] reference=nhĩmR  Tùy chn cũng cĩ ý nghĩa ging như lnh chgrp: c, changes f, silent, quiet R, recursive th tham s reference=RFILE cũng ý nghĩa gián tip như trong lnh chgrp .  Dng xác lp tương đi  Dng th hai là dng xác lp tuyt đi  Dng gián tip tuân theo quyn truy nhp ca file nhĩmR . Linux operating system Nguyen Tri Thanh 36
  37. Cách xác lp tương đi Ví d chmod g+w test chmod orx test Linux operating system Nguyen Tri Thanh 37
  38. Cách xác lp tương đi  Cp 3 s h 8 là 755 tương ng vi dịng 9 bít 111101101  vi 111 cho ch s hu,  101 cho nhĩm s hu  101 cho ngưi dùng khác Ví d chmod 753 memo1 → quyn truy nhp file memo1 là rwxrxrx Linux operating system Nguyen Tri Thanh 38
  39. Thay đi quyn s hu chown [tùychn] [ch][:nhĩm]  Tùy chn: c, changes : hin th dịng thơng báo ch vi các file mà lnh làm thay đi s hu (s thơng báo hin ra cĩ th ít hơn trưng hp v, verbose ). f, silent, quiet : b qua hu ht các thơng báo li. R, recursive : thc hin đi quyn s hu đi vi thư mc và file theo đ quy. v, verbose : hin th dịng thơng báo vi mi file liên quan mà chown tác đng ti (cĩ hoc khơng thay đi s hu). help : đưa ra trang tr giúp và thốt.  Ví d # chown lan LinuxVN.com Linux operating system Nguyen Tri Thanh 39
  40. Thay đi nhĩm s hu chgrp [tùychn] {nhĩm|reference=nhĩmR}  Tùy chn ca lnh là (mt s tơng t như lnh chown): c, changes : hin th dịng thơng báo ch vi các file mà lnh làm thay đi s hu (s thơng báo hin ra cĩ th ít hơn trng hp v, verbose) f, silent, quiet : b qua hu ht các thơng báo li. R, recursive : thc hin đi quyn s hu đi vi thư mc và file theo đ quy. v, verbose : hin th dịng thơng báo vi mi file liên quan mà chgrp tác đng ti help : hin th trang tr giúp và thốt Linux operating system Nguyen Tri Thanh 40
  41. ðăng nhp vào mt nhĩm ngưi dùng mi  Ngưi dùng cĩ th là thành viên ca mt hoc nhiu nhĩm ngưi dùng khác nhau  Ti mt thi đim, mt ngưi dùng thuc vào ch mt nhĩm  Khi mt ngưi dùng đăng nhp, h thng ngm đnh ngưi dùng đĩ là thành nhĩm khi đng  Nu mun s dng quyn s hu theo các nhĩm khác đi vi nhng file thì ngưi dùng phi chuyn đi thành thành viên ca mt nhĩm tương ng Linux operating system Nguyen Tri Thanh 41
  42. ðăng nhp vào mt nhĩm ngưi dùng mi  Lnh đ chuyn đi nhĩm ngưi s dng newgrp [nhĩm]  Ví d  ngưi dùng là thành viên ca hai nhĩm user và installer  user là nhĩm khi đng  khi đăng nhp, ngưi dùng là thành viên ca nhĩm user  khi mun s dng mt s các chương trình thuc quyn s hu ca nhĩm installer , gõ lnh sau: # newgrp installer Nu ngưi dùng chuyn vào mt nhĩm khơng là thành viên # newgrp hot2 thì Linux s đưa ra mt khuyn cáo thân thin như sau: newgrp: Sorry Linux operating system Nguyen Tri Thanh 42
  43. Mt s thư mc đc bit  Thư mc gc / Thư mc cha đng tt c các thư mc con trong h thng  Thư mc /root  Là "thư mc riêng" ca siêu ngưi dùng  ðưc s dng đ lưu tr các file tm thi, nhân Linux, nh khi đng, các file nh phân quan trng, các file đăng nhp quan trng,  ðưc s dng cho các vùng trng tm thi khi thc hin các thao tác quan trng (ví d, (build) mt gĩi RPM t các file RPM ngun)  Thư mc /bin  Thư mc "binaries" lưu tr các chương trình kh thi  Khi cĩ nhiu hơn các file kh thi, cĩ thêm các thư mc /sbin, /usr/bin đưc s dng đ lưu tr Linux operating system Nguyen Tri Thanh 43
  44. Mt s thư mc đc bit (tip)  Thư mc /dev Cha các trình điu khin thit b  Thư mc /etc Lưu tr tt c các thơng tin hay các file cu hình h thng  Thư mc /lib Lưu tr các thư vin hàm và th tc  Thư mc /lost+found Lưu file đưc khơi phc sau khi cĩ bt kỳ mt vn đ hoc gp mt li v ghi đĩa  Thư mc /mnt  Nơi đ kt ni các thit b vào h thng file chính  Các thư mc con ca /mnt chính là gc ca các h thng file đưc kt ni: /mnt/floppy: đĩa mm, /mnt/hda1: vùng đu tiên ca đĩa cng th nht (hda), /mnt/hdb3: vùng th ba ca đĩa cng th 2 (hdb) Linux operating system Nguyen Tri Thanh 44
  45. Mt s thư mc đc bit (tip)  Thư mc /tmp ðưc rt nhiu chương trình trong Linux s dng như mt nơi đ lưu tr các file tm thi  Thư mc /usr Trung tâm lưu tr tt c các lnh hưng đn ngưi dùng Hu ht các file nh phân cn cho Linux đu đưc lưu tr đây Thư mc con /usr/src bao gm các thư mc con cha các chương trình ngun ca nhân Linux.  Thư mc /home Cha các thư mc cá nhân ca ngưi dùng Tên ngưi dùng đưc ly làm tên ca thư mc con. Linux operating system Nguyen Tri Thanh 45
  46. Mt s thư mc đc bit (tip)  Thư mc /var Lưu tr các file cha các thơng tin luơn luơn thay đi: b đm in, vùng lưu tm thi cho vic nhn và gi thư (mail)  Thư mc /boot Cha nhân ca h thng  Thư mc /proc Dành cho nhân (kernel) ca h điu hành và thc t đây là mt h thng file đc lp do nhân khi to  Thư mc /misc và thư mc /opt Cho phép lưu tr mi đi tưng vào hai thư mc này  Thư mc /sbin Thư mc lưu gi các file h thng thưng t đng chy Linux operating system Nguyen Tri Thanh 46
  47. Xem thơng tin v thư mc  Xác đnh thư mc hin thi vi lnh pwd # pwd  Cho bit hin ngưi dùng đang trong thư mc nào và hin ra theo dng mt đưng dn tuyt đi  Ví d: # pwd /home/lan # Linux operating system Nguyen Tri Thanh 47
  48. Xem thơng tin v thư mc ls [tùychn] [file]  Tham s file cĩ th cha các mơ t nhĩm *, ? và cp [ và ]  Nu khơng cĩ tham s file , mc đnh là thư mc hin thi  Tùy chn: a : lit kê tt c các file, bao gm c file n. l : đưa ra thơng tin đy đ nht v các file và thư mc. s : ch ra kích thưc ca file, tính theo khi (1 khi = 1204 byte). C : đưa ra danh sách các file và thư mc theo dng ct (hai thư mc gn nhau đưc xp vào mt ct). 1 : hin th mi file hoc thư mc trên mt dịng. t : sp xp các file và thư mc trong danh sách theo th t v thi gian đưc sa đi gn đây nht. x : đưa ra danh sách các file và thư mc theo dng ct (hai thư mc gn nhau đưc xp trên hai dịng đu ca hai ct k nhau). r : sp xp danh sách hin th theo th t ngưc li. R : lit kê ln lưt các thư mc và ni dung ca các thư mc. Linux operating system Nguyen Tri Thanh 48
  49. Xem thơng tin v thư mc # ls –l total 108 drwxrxrx 12 thu root 4096 Oct 23 2000 LinuxVN.com drwxrxrx 2 root root 4096 Oct 31 2000 bin drwxrxrx 2 root root 4096 Dec 11 16:54 boot drwxrxrx 7 root root 36864 Dec 11 16:54 dev drwxrxrx 43 root root 4096 Dec 11 16:55 etc drwxrxrx 5 root root 4096 Dec 11 16:57 home drwxrxrx 4 root root 4096 Oct 31 2000 lib drwxrxrx 2 root root 16384 Oct 31 2000 lost+found drwxrxrx 2 root root 0 Dec 11 16:54 misc drwxrxrx 5 root root 4096 Oct 31 2000 mnt drwxrxrx 2 root root 4096 Aug 23 12:03 opt drxrxrx 56 root root 0 Dec 11 11:54 proc drwxrx 12 root root 4096 Dec 11 16:55 root drwxrxrx 3 root root 4096 Oct 31 2000 sbin drwxrxrx 3 root root 4096 Oct 31 2000 tftpboot drwxrwxrwx 8 root root 4096 Dec 11 16:58 tmp drwxrxrx 22 root root 4096 Oct 31 2000 usr drwxrxrx 22 root root 4096 Oct 31 2000 var Linux operating system Nguyen Tri Thanh 49
  50. Xem thơng tin v thư mc # ls [is]* infodir initlog.conf inittab services shadow shadow shells smb.conf sysctl.conf syslog.conf Linux operating system Nguyen Tri Thanh 50
  51. To thư mc # mkdir [tùychn]  Cho phép to mt thư mc mi (nu chưa thc s tn ti)  Nu thư mc đã tn ti, h thng s thơng báo li  Tùy chn: m, mode=Mod : thit lp quyn truy nhp Mod như trong lnh chmod nhưng khơng cho quyn rwxrwxrwx. p, parents : to các thư mc cn thit mà khơng thơng báo li khi nĩ đã tn ti. verbose : hin th các thơng báo cho mi thư mc đưc to. help : đưa ra trang tr giúp và thốt.  Ví d # mkdir /home/test Linux operating system Nguyen Tri Thanh 51
  52. Xĩa b thư mc rmdir [tùychn]  Xĩa b bt kỳ thư mc nào nu cĩ quyn đĩ  Thư mc ch b xĩa khi nĩ "rng"  Khơng cĩ cách gì khơi phc li các thư mc đã b xĩa  Tùy chn: ignorefailonnonempty: b qua các li nu xĩa mt thư mc khơng rng p, parents : xĩa b mt thư mc, sau đĩ ln lưt xĩa b tip các thư mc cĩ trên đưng dn cha thư mc va xĩa  Ví d # rmdir p /test/test1/test2 Dịng lnh trên s ln lưt xĩa ba thư mc test2, test1, test và hin th thơng báo trênLinux màn operating hình kt system qu ca Nguyen lnh. Tri Thanh 52
  53. ði tên thư mc mv mv  ði tên mt thư mc t têncũ thành tênmi  Ví d, # mv LinuxVN.com LinuxVN s đi tên thư mc LinuxVN.com thành LinuxVN.  Nu s dng lnh mv đ đi tên mt thư mc vi mt cái tên đã đưc đt cho mt file thì lnh s gp li.  Nu tên mi trùng vi tên mt thư mc đang tn ti thì ni dung ca thư mc đưc đi tên s ghi đè lên ni dung ca thư mc trùng tên Linux operating system Nguyen Tri Thanh 53
  54. To file touch  Lnh touch cĩ nhiu chc năng, trong đĩ mt chc năng là giúp to file mi trên h thng  touch rt hu ích cho vic to các file mi  Lnh này cĩ tác dng dùng đ cp nht thi gian truy nhp và sa cha ln cui ca mt file  Nu s dng lnh touch đi vi mt file chưa tn ti, chương trình s to ra file đĩ  Ví d: # touch newfile.txt Linux operating system Nguyen Tri Thanh 54
  55. To file  To file bng cách đi hưng đu ra ca lnh (>)  Hu ích nu mun lưu kt qu ca mt lnh đã thc hin  Dùng du ">" theo nghĩa chuyn hưng đu ra chun  Ví d # ls l /bin > /home/thu/lenhls  Linux t đng to nu file lenhls chưa cĩ, trong trưng hp ngưc li, ni dung file cũ s b th ch bi kt qu ca lnh.  Nu mun b sung kt qu vào cui file, s dng du ">>" # ls l /bin >> /home/thu/lenhls đưa các dịng danh sách file trong thư mc /bin vào cui ni dung ca file /home/thu/lenhls. Linux operating system Nguyen Tri Thanh 55
  56. To file  Cĩ th s dng đ ly thơng tin t đu vào (bàn phím ) ri kt xut ra file hoc các ngun khác (màn hình ) cat >  Gõ ni dung ca file ngay ti du nhc màn hình và gõ CTRL+d đ kt thúc vic son tho  Khơng cho phép sa li, nu mun sa mt li chính t trên mt dịng, ch cĩ cách là xĩa li và gõ li ni dung va b xĩa  Ví d: to file newfile trong thư mc /home/vd # cat > /home/vd/newfile  Gõ Enter và CTRL+d đ tr v du nhc lnh  Cĩ th s dng cat đ xem ni dung ca mt file # cat /home/vd/newfile Linux operating system Nguyen Tri Thanh 56
  57. Sao chép file cp [tùychn] cp [tùychn] targetdirectory=  Sao filengun hoc nhiu filengun vào mt thư mc đích  Tùy chn: b, backup[=CONTROL] : to file lưu cho mi file đích nu như nĩ đang tn ti. f, force : ghi đè file đích đang tn ti mà khơng nhc nh. i, interactive: cĩ thơng báo nhc nh trưc khi ghi đè. R : cho phép sao chép mt cách đ quy thư mc. S, suffix= : b qua các hu t thơng thưng (hoc đưc ch ra). u, update : ch sao chép khi file ngun mi hơn file đích hoc khi file đích chưa cĩ. Linux operating system Nguyen Tri Thanh 57
  58. Sao chép file  File đích đưc to ra cĩ cùng kích thưc và các quyn truy nhp như file ngun, thi gian to lp là thi đim thc hin lnh nên các thuc tính thi gian s khác # cp /home/ftp/vd /home/test/vd1  Nu mơ t đy đ tên file đích thì ni dung file ngun s đưc sao chép sang file đích  Trong trưng hp ch đưa ra v trí file đích đưc đt trong thư mc nào thì tên ca file ngun s là tên ca file đích # cp /home/ftp/vd /home/test/  cp cho phép sao nhiu file cùng mt lúc vào mt thư mc # cp vd vd1 newdir # pwd Linux operating system Nguyen Tri Thanh 58
  59. ði tên file mv  Lnh này cho phép đi tên file t tên cũ thành tên mi.  Ví d: # mv vd newfile  Lnh này s đi tên file vd thành newfile  Nu file newfile đã tn ti, ni dung ca file vd s ghi đè lên ni dung ca file newfile. Linux operating system Nguyen Tri Thanh 59
  60. Xĩa file rm [tùychn]  Lnh rm là lnh rt "nguy him" vì trong Linux khơng cĩ lnh khơi phc li nhng gì đã xĩa vì th hãy cn trng khi s dng lnh này  Cĩ th xĩa b nhiu file đưa vào t tham s dịng lnh (cĩ th dùng các ký t đi din)  Tùy chn:  d, directory : loi b liên kt ca thư mc, k c thư mc khơng rng. Ch cĩ siêu ngưi dùng mi đưc phép dùng tùy chn này.  f, force : b qua các file (xác đnh qua tham s file) khơng tn ti mà khơng cn nhc nh.  i, interactive : nhc nh trưc khi xĩa b mt file.  r, R, recursive : xĩa b ni dung ca thư mc mt cách đ quy. Linux operating system Nguyen Tri Thanh 60
  61. ðm t trong file wc [tùychn] [file]  Lnh hin ra s lưng dịng, s lưng t, s lưng ký t cĩ trong mi file, và mt dịng tính tng nu cĩ nhiu hơn mt file đưc ch ra  Nu khơng cĩ tùy chn nào thì mc đnh đưa ra c s dịng, s t và s ký t  Tuỳ chn: c, byte, chars : đưa ra s ký t trong file l, lines : đưa ra s dịng trong file w, words : đưa ra s t trong file  Ví d # wc /home/lan/mau/mau1 11 64 293 /home/lan/mau/mau1 File mau1 cĩ 293 ký t, s 64 t và cĩ 11 dịng Linux operating system Nguyen Tri Thanh 61
  62. Loi b nhng dịng khơng quan trng uniq [tùychn] [input] [output]  Loi b các thơng tin b trùng lp: các dịng trng, các dịng cha ni dung ging nhau → làm gn và thu nh kích thưc file  Loi b các dịng trùng lp k nhau t input và ch gi li mt dịng duy nht trong s các dịng trùng lp ri đưa ra output  Tuỳ chn c, count : đm và hin th s ln xut hin ca các dịng trong file. d : hin th lên màn hình dịng b trùng lp. u : hin th ni dung file sau khi xĩa b tồn b các dịng b trùng lp khơng gi li mt dịng nào. i : hin th ni dung file sau khi xĩa b các dịng trùng lp và ch gi li duy nht mt dịng cĩ ni dung b trùng lp. D : hin th tt cLinux các operating dịng trùng system lp trênNguyen màn Tri hình.Thanh 62
  63. Sp xp ni dung file sort [tùychn] [file]  ðc các thơng tin và sp xp theo th t trong bng ch cái hoc theo th t đưc quy đnh theo Tùy chn ca lnh  Tùy chn: + [ ] : Hai giá tr s1 và s2 xác đnh "khĩa" sp xp ca các dịng, thc cht ly xâu con t v trí s1 ti v trí s2 ca các dịng đ so sánh ly th t sp xp các dịng b : b qua các du cách đng trưc trong phm vi sp xp. c : kim tra nu file đã sp xp thì thơi khơng sp xp na. d : xem như ch cĩ các ký t [azAZ09] trong khĩa sp xp, các dịng cĩ các kí t đc bit (du cách, ? ) đưc đa lên đu. f : sp xp khơng phân bit ch hoa ch thưng. n : sp xp theo kích thưc ca file. r : chuyn đi th t sp xp hin thi.  Ví d # sort f vdsortLinux operating system Nguyen Tri Thanh 63
  64. Xác đnh kiu file file [tùychn] [f file] [m ]  Xác đnh và in ra kiu thơng tin cha trong file  Lnh file s ln lưt kim tra kiu file: h thng, kiu file magic (ví d file mơ t thit b), đn kiu file văn bn  Nu file đưc kim tra tha các các kiu trên thì kiu file s đưc in ra theo các dng  text: dng file văn bn thơng thưng, ch cha các mã ký t ASCII.  executable: dng file nh phân kh thi.  data: thưng là dng file cha mã nh phân và khơng th in ra đưc. Linux operating system Nguyen Tri Thanh 64
  65. Xác đnh kiu file (tip) file [tùychn] [f file] [m ]  Tuỳ chn  b : cho phép ch đưa ra kiu file mà khơng đưa kèm theo tên file.  f tênfile : cho phép hin th kiu ca các file cĩ tên trùng vi ni dung trên mi dịng trong file tênfile. ð kim tra trên thit b vào chun, s dng du "".  z : xem kiu ca file nén.  Ví d # file file.c file /dev/hda file.c: C program text file: ELF 32bit LSB executable, Intel 80386,version 1,dynamically linked, not stripped /dev/hda: block special Linux operating system Nguyen Tri Thanh 65
  66. Xem ni dung các file more [dlfpcsu] [s] [+/xâumu] [+dịngs] [file ]  Tùy chn s : xác đnh s dịng ni dung ca file đưc hin th (s). d : trên màn hình s hin th các thơng báo giúp ngi dùng cách s dng đi vi lnh more, ví như [ Press space to continue, "q" to quit .], hay hin th [Press "h" for instructions .] thay th cho ting chuơng cnh báo khi bm sai mt phím. l : more thưng xem ^L là mt ký t đc bit, nu khơng cĩ tùy chn này, lnh s dng ti dịng đu tiên cĩ cha ^L và hin th % ni dung đã xem đưc (^L khơng b mt), nhn phím space (hoc enter) đ tip tc. Nu cĩ tùy chn l, ni dung ca file s đưc hin th như bình thưng nhưng mt khuơn dng khác, tc là du ^L s mt và trưc dịng cĩ cha ^L s cĩ thêm mt dịng trng. Linux operating system Nguyen Tri Thanh 66
  67. Xem ni dung các file (tip) more [dlfpcsu] [s] [+/xâumu] [+dịngs] [file ]  Tùy chn p : khơng cun màn hình, thay vào đĩ là xĩa nhng gì cĩ trên màn hình và hin th tip ni dung file. c : khơng cun màn hình, thay vào đĩ xĩa màn hình và hin th ni dung file bt đu t đnh màn hình s : xĩa bt các dịng trng lin nhau trong ni dung file ch gi li mt dịng u : b qua du gch chân. +/xâumu : tùy chn +/xâumu ch ra mt chui s đưc tìm kim trưc khi hin th mi file. +dịngs : bt đu hin th t dịng th dịngs.  Ví d # more d vdmore Linux operating system Nguyen Tri Thanh 67
  68. Các phím trong more Linux operating system Nguyen Tri Thanh 68
  69. Thêm s th t ca các dịng trong file nl [tùychn]  Tuỳ chn: b, bodynumbering=STYLE : s dng kiu STYLE cho vic đánh th t các dịng trong ni dung file. Cĩ các kiu STYLE sau: a : đánh s tt c các dịng k c dịng trng; t : ch đánh s các dịng khơng trng; n : khơng đánh s dịng. d, sectiondelimiter=CC : s dng CC đ đánh s trang logic (CC là hai ký t xác đnh phm vi cho vic phân trang logic). f, footernumbering=STYLE : s dng kiu STYLE đ đánh s các dịng trong ni dung file (mt câu cĩ th cĩ hai dịng ). h, headernumbering=STYLE : s dng kiu STYLE đ đánh s các dịng trong ni dung file. Linux operating system Nguyen Tri Thanh 69
  70. Thêm s th t ca các dịng trong file (tip) nl [tùychn]  Tuỳ chn: i, pageincrement=s : đánh s th t ca dịng theo cp s cng cĩ cơng sai là s. l, joinblanklines=s :nhĩm s dịng trng vào thành mt dịng trng. n, numberformat=khuơn : chèn s dịng theo khuơn (khuơn: ln căn trái, khơng cĩ s 0 đu; rn căn phi, khơng cĩ s 0 đu; rz căn phi và cĩ s 0 đu) p, norenumber : khơng thit lp li s dịng ti mi trang logic. s, numberseparator=xâu : thêm chui xâu vào sau s th t ca dịng. v, firstpage=s : s dịng đu tiên trên mi trang logic. w, numberwidth=s : hin th s th t ca dịng trên ct th s.  Ví d # nl bodynumbering=a numberformat=rz vdnl Linux operating system Nguyen Tri Thanh 70
  71. Xem qua ni dung file head [tùychn] [file]  Hin th 10 dịng đu tiên ca mi file  Nu cĩ nhiu hơn mt file, thì ln lưt tên ca file và 10 dịng ni dung đu tiên s đưc hin th  Tuỳ chn c, bytes=c : hin th c (s nguyên) ký t đu tiên trong ni dung file ( c cĩ th nhn giá tr là b cho 512, k cho 1K, m cho 1 Meg) n, lines=n : hin th n (s nguyên) dịng thay cho 10 dịng ngm đnh. q, quiet, silent : khơng đa ra tên file dịng đu.  Ví d # head 6 vdhead1 vdhead2 ==> vdhead1 vdhead2 <== 1.7.164 patch 3 $HOME/GNUstep/Library/AfterStep/start/Desktop/Theme/.include changed from shell Linuxscript operating call to perl system script Nguyen call Tri Thanh 71
  72. Xem qua ni dung file tail [tùychn] [file]  ðưa ra màn hình 10 dịng cui trong ni dung ca các file  Nu cĩ nhiu hơn mt file, thì ln lưt tên ca file và 10 dịng cui s đưc hin th  Tùy chn  retry : c gng m mt file khĩ truy nhp khi bt đu thc hin lnh tail  c, bytes=n : hin th n (s) ký t sau cùng  n, lines=n : hin th n (s) dịng cui cùng ca file thay cho 10 dịng ngm đnh  Ví d # tail 2 vdtail1 vdtail2 Linux operating system Nguyen Tri Thanh 72
  73. Tìm s khác nhau gia hai file diff [tuỳchn]  So sánh ni dung ca hai file  Nu file1 là mt thư mc cịn file2 là mt file bình thưng, diff s so sánh file cĩ tên trùng vi file2 trong thư mc file1 vi file2.  Nu c file1 và file2 đu là thư mc, diff s thc hin s so sánh ln lưt các file trong c hai thư mc theo th t t az  So sánh gia hai thư mc khơng th chính xác như khi so sánh hai file Linux operating system Nguyen Tri Thanh 73
  74. Tìm s khác nhau gia hai file diff [tuỳchn]  Các tuỳ chn:  a: xem tt c các file dng văn bn và so sánh theo tng dịng  b: b qua s thay đi v s lng ca ký t trng  B: b qua mi s thay đi mà ch chèn hoc xố các dịng trng.  brief: ch thơng báo khi cĩ s khác nhau mà khơng đưa ra chi tit ni dung khác nhau  d: tìm ra s khác bit nh (tuỳ chn này cĩ th làm chm tc đ làm vic ca lnh diff)  i: so sánh khơng bit ch hoa ch thưng  r: thc hin so sánh đ qui trên thư mc  s: thơng báo khi hai file là ging nhau  y: hin th hai file cnh nhau đ d phân bit s khác nhau  Ví d diff ./ver0.5/mydb.c ./ver0.6/mydb.c Linux operating system Nguyen Tri Thanh 74
  75. Tìm theo ni dung file bng lnh grep | grep grep [tùychn] [file]  Hin th tt c các dịng cĩ cha mulc  Tùy chn G, basicregexp : xem mu lc như mt biu thc thơng thưng E, extendedregexp : xem mu lc như mt biu thc m rng F, fixedstrings : xem mu như mt danh sách các xâu c đnh, đưc phân ra bi các dịng mi. Ngồi lnh grep cịn cĩ hai lnh là egrep và fgrep. egrep tương t như lnh grep E, fgrep tương t vi lnh grep F f file, file=file : ly các mu t file, mt mu trên mt dịng H, withfile : đa ra tên file trên mi dịng cha mu tương ng. h, nofilename : khơng hin th tên file kèm theo dịng cha mu trong trưng hp tìm nhiu file. i : hin th các dịng cha mu khơng phân bit ch hoa ch thưng. l : đưa ra tên các file trùng vi mu lc. n, linenumber Linux: thêm operating s th system t ca Nguyen dịng cha Tri Thanh mu trong file 75
  76. Tìm theo ni dung file bng lnh grep Linux operating system Nguyen Tri Thanh 76
  77. Tìm theo ni dung file bng lnh egrep Tương t như lnh grep, nhưng egrep đưa ra thêm mt s ký t đi din trong biu thc chính quy to mulc Linux operating system Nguyen Tri Thanh 77
  78. Lnh tách và ghép các ct trong file văn bn  Các lnh trong Linux thưng tr v kt qu theo dng các dịng đưc chia thành các ct (lnh ls, ps, )  Các file cu hình trong Linux cũng cĩ th đưc lưu theo dng này (file /etc/passwd)  Lnh cut dùng đ trích ra mt s ct trong 1 file văn bn  cut [tùy chn] file  cut –f 1,2 /etc/passwd  Lnh paste dùng đ ghép các ct ca các file văn bn thành 1 file ln hơn  paster  paste file1.txt file2.txt > file3.txt Linux operating system Nguyen Tri Thanh 78
  79. Tìm file theo đc tính find [đưngdn] [biu_thc]  Tìm kim file trên cây thư mc theo biu thc đưc đưa ra  Tùy chn  Mc đnh đưng dn là thư mc hin thi, biu thc là print .  daystart : đo thi gian (amin, atime, cmin, ctime, mmin, mtime).  depth : thc hin tìm kim t ni dung bên trong thư mc  các test  amin n : tìm file đưc truy nhp n phút trưc.  atime n : tìm file đưc truy nhp n*24 gi trưc.  cmin n : trng thái ca file đưc thay đi n phút trưc đây.  ctime n : trng thái ca file đưc thay đi n*24 gi trưc đây.  empty : file rng và hoc là thư mc hoc là file bình thưng.  user tênngưi: file đưc s hu bi ngưi dùng tênngưi. Linux operating system Nguyen Tri Thanh 79
  80. Tìm file theo đc tính  Ví d # find name 'what*' ./usr/bin/whatis ./usr/bin/whatnow  Cĩ th kt hp lnh find vi mt lnh khác na # find . type f exec grep l i mapping ‘{}’ \ ; ./OWL/WordMap/mswtotxt.c ./.elm/aliases.text ./Mail/mark ./News/usenet.alt ./bin/my.new.cmd: Permission denied ./src/fixit.c ./temp/attach.msg find . maxdepth 1 type d name "*" exec rm rf '{}' \; find /tmp name core type f print | xargs /bin/rm f Linux operating system Nguyen Tri Thanh 80
  81. Nén, gii nén và xem ni dung các file gzip [tùychn] [ S suffix ] [ ] gunzip [tùychn] [ S suffix ] [ ] zcat [tùychn] [ ]  Ví d # gzip /home/test/vd1 # ls /home/test Desktop data dictionary newt0.50.8 rpm save vd1.gz # zcat /home/test/vd1.gz  Tin ích nén mi bzip2 [tùy chn] bunzip2 [tùy chn] Linux operating system Nguyen Tri Thanh 81
  82. Sao lưu các file tar [tùychn] [ , ] [ , ]  Tùy chn c, create : to file lưu tr mi. delete : xĩa t file lưu tr (khơng s dng cho băng t). r, append : chèn thêm file vào cui file lưu tr. t, list : lit kê ni dung ca mt file lưu tr. u, update : ch thêm vào file lưu tr các file mi hơn các file đã cĩ. x, extract, get : tách các file ra khi file lưu tr. C, directory tênthưmc : thay đi đn thư mc cĩ tên là tênthư mc. removefiles : xĩa file gc sau khi đã sao lưu chúng vào trong file lưu tr. v, verbose : hin th danh sách các file đã đưc x lý.  Ví d # tar create file ./backup /usr/src Linux operating system Nguyen Tri Thanh 82
  83. Sao lưu các file (tip) tar [tùychn] [ , ] [ , ]  Cĩ th kt hp nén file sau khi sao lưu z : nén bng gzip j : nén bng bzip2  Cách s dng các tùy chn này là bài tp Linux operating system Nguyen Tri Thanh 83