intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Cơ bản về chính trị LPI

Chia sẻ: Hai Hoang | Ngày: | Loại File: PDF | Số trang:79

93
lượt xem
24
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Chào mừng đến với "Linux những điều cơ bản "

Chủ đề:
Lưu

Nội dung Text: Cơ bản về chính trị LPI

  1. Cơ b n v ch ng ch LPI Tài li u v ch ng ch LPI đư c biên so n d a trên h th ng tài li u c a IBM Phiên b n 1.0.0, Ngày 29 tháng 10 năm 2004 Biên so n: Thành viên VnOSS
  2. ii B n quy n ©2004-2006 thu c v C ng đ ng ngu n m Vi t Nam - VNOSS và nh ng ngư i đóng góp cho tài li u “Cơ b n v ch ng ch LPI” - “All rights reserved”. Đây là m t tài li u mi n phí. B n hoàn toàn có th phân ph i l i tài li u cho nh ng ngư i s d ng khác, ho c có th ch nh s a cho phù h p nhưng ph i tuân theo nh ng yêu c u trong gi y phép b n quy n GNU (General Public License c a Free Software Foundation; phiên b n 2 hay các phiên b n khác). Tài li u này đư c phát hành đ n tay các b n v i hy v ng r ng nó s tr nên h u ích, nhưng nó KHÔNG KÈM THEO B T KỲ S B O Đ M NÀO, ngay c nh ng đ m b o ng m hi u v vi c thương m i hoá hay ph i phù h p v i m t m c đích c th nào đó (v n đ này b n có th tham kh o gi y phép GNU General Public License đ bi t thêm chi ti t). Thông thư ng, b n s nh n đư c m t b n sao c a gi y phép GNU General Public License kèm theo tài li u này; n u chưa có, b n có th vi t thư đ n đ a ch sau Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. đ có m t b n gi y phép.
  3. M cl c 1 Trư c khi b t đ u 1 1.1 V tài li u này . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.2 V tác gi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 2 Cơ b n v Linux 3 2.1 Gi i thi u v bash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.1.1 H v (shell) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.1.2 Có ph i b n đang ch y bash không? . . . . . . . . . . . . . . . . . 3 2.1.3 V bash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.1.4 S d ng cd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.1.5 Đư ng d n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.1.6 Đư ng d n tuy t đ i . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.1.7 S d ng .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 2.1.8 Ví d đư ng d n tương đ i . . . . . . . . . . . . . . . . . . . . . . 6 2.1.9 Th còn . là gì? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.1.10 cd và thư m c nhà . . . . . . . . . . . . . . . . . . . . . . . . . . 6 2.1.11 Thư m c nhà c a nh ng ngư i dùng khác . . . . . . . . . . . . . . 7 2.2 S d ng các câu l nh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.2.1 Gi i thi u ls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.2.2 Li t kê chi ti t . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 2.2.3 Xem thư m c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.2.4 li t kê inode và li t kê đ qui (recursive) . . . . . . . . . . . . . . 8 2.2.5 Inode là gì? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2.2.6 mkdir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.2.7 mkdir -p . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 2.2.8 touch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2.9 echo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2.10 echo và s chuy n hư ng . . . . . . . . . . . . . . . . . . . . . . . 11 2.2.11 cat và cp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2.12 mv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.3 T o liên k t và xóa t p tin . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.3.1 Liên k t c ng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.3.2 Liên k t tư ng trưng . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.3.3 Sâu hơn v liên k t tư ng trưng . . . . . . . . . . . . . . . . . . . 14 2.3.4 rm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.3.5 rmdir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.3.6 rm và thư m c . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
  4. iv M CL C 2.4 S d ng các ký t đ i di n (wildcard) . . . . . . . . . . . . . . . . . . . . 17 2.4.1 Gi i thi u v ký t đ i di n . . . . . . . . . . . . . . . . . . . . . 17 2.4.2 Hi u v không tương ng . . . . . . . . . . . . . . . . . . . . . . . 18 2.4.3 Cú pháp đ i di n: * . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.4.4 Cú pháp đ i di n: ? . . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.4.5 Cú pháp đ i di n: [] . . . . . . . . . . . . . . . . . . . . . . . . . 19 2.4.6 Cú pháp đ i di n: [!] . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.4.7 Sâu hơn v cú pháp đ i di n . . . . . . . . . . . . . . . . . . . . . 20 2.4.8 Ngo c đơn "g p" ngo c kép . . . . . . . . . . . . . . . . . . . . . 20 2.5 T ng k t và các ngu n tham kh o . . . . . . . . . . . . . . . . . . . . . . 21 2.5.1 T ng k t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.5.2 Các ngu n tham kh o . . . . . . . . . . . . . . . . . . . . . . . . 21 2.5.3 Ý ki n đ c gi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.5.4 Thay cho l i k t cu n 1 . . . . . . . . . . . . . . . . . . . . . . . 21 3 Cơ b n v qu n tr Linux 23 3.1 Bi u th c chính quy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.1.1 Bi u th c chính quy là gì? . . . . . . . . . . . . . . . . . . . . . . 23 3.1.2 So sánh v i ký t đ i di n (glob) . . . . . . . . . . . . . . . . . . . 23 3.1.3 Chu i con đơn gi n . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.1.4 Hi u v chu i con đơn gi n . . . . . . . . . . . . . . . . . . . . . 24 3.1.5 Ký t mêta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.1.6 S d ng [] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 3.1.7 S d ng [ˆ] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.1.8 Cú pháp khác . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.1.9 Ký t mêta "*" . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 3.1.10 Đ u và cu i dòng . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.1.11 Regex cho c dòng . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.2 FHS và tìm t p tin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.2.1 FHS - Tiêu chu n h th ng t p tin d ng cây . . . . . . . . . . . . . 27 3.2.2 Hai c p b c FHS đ c l p . . . . . . . . . . . . . . . . . . . . . . . 27 3.2.3 H th ng b c hai t i /usr . . . . . . . . . . . . . . . . . . . . . . . 28 3.2.4 Tìm t p tin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.2.5 Đư ng d n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.2.6 S a đ i PATH . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 3.2.7 T t c v "which" . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.2.8 "which -a" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.2.9 whereis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.2.10 find . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.2.11 find và ký t đ i di n . . . . . . . . . . . . . . . . . . . . . . . . . 30 3.2.12 L đi ki u ch v i find . . . . . . . . . . . . . . . . . . . . . . . . 30 3.2.13 find và bi u th c chính quy . . . . . . . . . . . . . . . . . . . . . 31 3.2.14 find và ki u . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.2.15 find và mtimes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.2.16 Tùy ch n -daystart . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.2.17 Tùy ch n -size . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 3.2.18 Gia công t p tin tìm th y . . . . . . . . . . . . . . . . . . . . . . . 32
  5. M CL C v 3.2.19 locate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.2.20 S d ng updatedb . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.2.21 slocate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.3 Qu n lý ti n trình . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.3.1 Kh i đ ng xeyes . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.3.2 D ng m t ti n trình . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.3.3 fg và bg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.3.4 S d ng "&" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 3.3.5 Nhi u ti n trình n n sau . . . . . . . . . . . . . . . . . . . . . . . 35 3.3.6 Gi i thi u tín hi u . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.3.7 SIGTERM và SIGINT . . . . . . . . . . . . . . . . . . . . . . . . 36 3.3.8 "Di t t n g c" . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 3.3.9 nohup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 3.3.10 S d ng ps li t kê ti n trình . . . . . . . . . . . . . . . . . . . . . 37 3.3.11 Hi n th cây và r ng . . . . . . . . . . . . . . . . . . . . . . . . . 37 3.3.12 Tùy ch n "u" và "l" . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.3.13 S d ng "top" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.3.14 nice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.3.15 renice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 3.4 Gia công văn b n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 3.4.1 Ôn l i chuy n hư ng . . . . . . . . . . . . . . . . . . . . . . . . . 39 3.4.2 M t ví d ng . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 3.4.3 ng gi i nén . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 3.4.4 M t ng dài hơn . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 3.4.5 Gió l c gia công văn b n b t đ u . . . . . . . . . . . . . . . . . . 41 3.4.6 cat, sort, và uniq . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 3.4.7 wc, head, và tail . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 3.4.8 tac, expand, và unexpand . . . . . . . . . . . . . . . . . . . . . . . 42 3.4.9 cut, nl, và pr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 3.4.10 tr, awk, và sed . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 3.4.11 od, split, và fmt . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 3.4.12 Paste, join, và tee . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 3.4.13 Gió l c k t thúc! Chuy n hư ng . . . . . . . . . . . . . . . . . . . 43 3.4.14 S d ng » . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 3.5 Môđun nhân . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 3.5.1 Làm quen v i "uname" . . . . . . . . . . . . . . . . . . . . . . . . 44 3.5.2 Thêm v đ u ra uname . . . . . . . . . . . . . . . . . . . . . . . . 44 3.5.3 B n phát hành nhân . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.5.4 Nhân . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.5.5 Gi i thi u môđun nhân . . . . . . . . . . . . . . . . . . . . . . . . 45 3.5.6 B n tóm t t môđun nhân . . . . . . . . . . . . . . . . . . . . . . . 45 3.5.7 lsmod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.5.8 Li t kê môđun . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 3.5.9 Môđun third-party . . . . . . . . . . . . . . . . . . . . . . . . . . 46 3.5.10 depmod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 3.5.11 Làm th nào đ l y môđun . . . . . . . . . . . . . . . . . . . . . . 46 3.5.12 S d ng depmod . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
  6. vi M CL C 3.5.13 Đ nh v môđun nhân . . . . . . . . . . . . . . . . . . . . . . . . . 47 3.5.14 insmod và modprobe . . . . . . . . . . . . . . . . . . . . . . . . . 47 3.5.15 Th c thi rmmod và modprobe . . . . . . . . . . . . . . . . . . . . 48 3.5.16 Túi khôn: modinfo và modules.conf . . . . . . . . . . . . . . . . . 48 3.5.17 modules.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 3.6 T ng k t và các ngu n tham kh o . . . . . . . . . . . . . . . . . . . . . . 48 3.6.1 T ng k t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 3.6.2 Tham kh o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 3.6.3 Ý ki n đ c gi . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 3.6.4 Thay cho l i k t . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 4 Qu n tr h th ng Linux 51 5 Qu n tr h th ng linux nâng cao 52 5.1 H th ng t p tin, phân vùng, và các thi t b kh i . . . . . . . . . . . . . . 52 5.1.1 Gi i thi u v thi t b kh i . . . . . . . . . . . . . . . . . . . . . . 52 5.1.2 Các l p tr u tư ng . . . . . . . . . . . . . . . . . . . . . . . . . . 52 5.1.3 Phân vùng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 5.1.4 Gi i thi u v công c fdisk . . . . . . . . . . . . . . . . . . . . . . 53 5.1.5 S d ng fdisk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 5.1.6 Thi t b kh i và t ng quan v vi c chia phân vùng . . . . . . . . . 54 5.1.7 Lo i phân vùng . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 5.1.8 S d ng fdisk đ thi t l p các phân vùng . . . . . . . . . . . . . . 54 5.1.9 Đĩa c ng sau khi đư c phân vùng s th nào . . . . . . . . . . . . 54 5.2 Kh i đ ng h th ng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 5.2.1 About this sectin . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 5.2.2 B ng ghi kh i đ ng chính - MBR . . . . . . . . . . . . . . . . . . 57 5.2.3 Qúa trình kh i đ ng c a h t nhân . . . . . . . . . . . . . . . . . . 58 5.2.4 Chương trình /sbin/init . . . . . . . . . . . . . . . . . . . . . . . . 58 5.2.5 Digging in: LILO . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 5.2.6 Digging in: GRUB . . . . . . . . . . . . . . . . . . . . . . . . . . 59 5.2.7 Thông tin dmesg . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 5.2.8 Thông tin trong /var/log/messages . . . . . . . . . . . . . . . . . . 59 5.2.9 Các thông tin khác . . . . . . . . . . . . . . . . . . . . . . . . . . 59 5.2.10 C p th nc tin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 5.2.11 Single-user mode . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 5.2.12 Understanding single-user mode . . . . . . . . . . . . . . . . . . . 59 5.2.13 Các c p th c thi - Runlevels . . . . . . . . . . . . . . . . . . . . . 59 5.2.14 Công c telinit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 5.2.15 Runlevel etiquette . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 5.2.16 "Now" và halt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 5.2.17 C p đ th c thi ng m đ nh . . . . . . . . . . . . . . . . . . . . . . 59 5.2.18 Tham kh o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 5.3 C p phép s d ng h th ng t p tin. . . . . . . . . . . . . . . . . . . . . . . 60 5.3.1 Gi i thi u v c p phép . . . . . . . . . . . . . . . . . . . . . . . . 60 5.3.2 H tr c a h t nhân . . . . . . . . . . . . . . . . . . . . . . . . . . 60 5.3.3 H tr c a h th ng t p tin . . . . . . . . . . . . . . . . . . . . . . 60 5.3.4 C u hình h th ng gi y phép . . . . . . . . . . . . . . . . . . . . . 60
  7. M CL C vii 5.3.5 L nh "quota" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 5.3.6 Viewing quota . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 5.3.7 edquota . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 5.3.8 Understanding edquota . . . . . . . . . . . . . . . . . . . . . . . . 60 5.3.9 Making changes . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 5.3.10 Copying quotas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 5.3.11 Group restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . 60 5.3.12 The repquota command . . . . . . . . . . . . . . . . . . . . . . . 60 5.3.13 Repquota options . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 5.3.14 Monitoring quotas . . . . . . . . . . . . . . . . . . . . . . . . . . 60 5.3.15 Modifying the grace period . . . . . . . . . . . . . . . . . . . . . 60 5.3.16 Ki m tra qouta khi kh i đ ng . . . . . . . . . . . . . . . . . . . . 60 5.4 Gi i thi u v syslogd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 5.4.1 Đ c thông tin nh t ký . . . . . . . . . . . . . . . . . . . . . . . . 60 5.4.2 Tailing log files . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 5.4.3 Grepping logs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 5.4.4 Ghi nh b o m t . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 5.4.5 Ch đ nâng cao - klogd . . . . . . . . . . . . . . . . . . . . . . . 62 5.4.6 Ch đ nâng cao - các chương trình ghi nh t ký khác . . . . . . . . 62 5.5 Tóm lư c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 5.6 Tham kh o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 6 Biên d ch mã ngu n và qu n lý gói ph n m m trong linux 65 7 C u hình và biên d ch h t nhân 66 7.1 Gi i thi u h h t nhân Linux . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.1.1 H t nhân là ... Linux . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.1.2 Giao ti p v i ph n c ng . . . . . . . . . . . . . . . . . . . . . . . 67 7.1.3 Đi u qu n CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.1.4 Đi u qu n vào ra I/O . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.1.5 Trung tâm c a h th ng m ng . . . . . . . . . . . . . . . . . . . . 67 7.1.6 Ôn l i v quá trình kh i đ ng linux . . . . . . . . . . . . . . . . . 67 7.1.7 Gi i thi u v mô đun . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.1.8 V trí c a t p tin mô đun . . . . . . . . . . . . . . . . . . . . . . . 67 7.1.9 Modules – not for every process! . . . . . . . . . . . . . . . . . . 67 7.2 T i mã ngu n c a h t nhân . . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.2.1 Kernel version history . . . . . . . . . . . . . . . . . . . . . . . . 67 7.2.2 Getting new kernel sources . . . . . . . . . . . . . . . . . . . . . . 67 7.2.3 Unpacking the kernel . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.3 C u hình h t nhân . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.3.1 Let’s talk configuration . . . . . . . . . . . . . . . . . . . . . . . . 67 7.3.2 The new way to configure . . . . . . . . . . . . . . . . . . . . . . 67 7.3.3 Các m o khi c u hình . . . . . . . . . . . . . . . . . . . . . . . . 67 7.3.4 Code maturity level options . . . . . . . . . . . . . . . . . . . . . 67 7.3.5 Modules and CPU-related options . . . . . . . . . . . . . . . . . . 67 7.3.6 General and parallel port options . . . . . . . . . . . . . . . . . . 67 7.3.7 RAID and LVM . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.3.8 H th ng m ng và các thi t b liên quan . . . . . . . . . . . . . . . 67
  8. viii M CL C 7.3.9 IDE support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.3.10 SCSI support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.3.11 Miscellaneous character devices . . . . . . . . . . . . . . . . . . . 67 7.3.12 File systems and console drivers . . . . . . . . . . . . . . . . . . . 67 7.3.13 Biên d ch và cài đ t h t nhân . . . . . . . . . . . . . . . . . . . . . 67 7.3.14 make dep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.3.15 make bzImage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.3.16 biên d ch mô đun . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.4 C u hình kh i đ ng . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.4.1 Gi i thi u v Lilo . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.4.2 C u hình Lilo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.5 Thi t b PCI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.5.1 Thi t b PCI 101 . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.5.2 Các kía c nh c a thi t b PCI . . . . . . . . . . . . . . . . . . . . 67 7.5.3 PCI device resources . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.6 Linux USB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.6.1 Introducing Linux USB . . . . . . . . . . . . . . . . . . . . . . . 67 7.6.2 Enabling USB . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.6.3 UHCI, OHCI, EHCI – oh my! . . . . . . . . . . . . . . . . . . . . 67 7.6.4 The last few steps . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.6.5 Mounting usbdevfs . . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.7 Tóm lư c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.7.1 Tóm lư c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.7.2 Tài nguyên . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 8 H th ng m ng 68 9 USB b o m t h v và chia s t p tin 69
  9. Chương 1 Trư c khi b t đ u 1.1 V tài li u này Chào m ng đ n v i "Linux nh ng đi u cơ b n," cu n th nh t trong b n cu n sách hư ng d n giúp b n chu n b cho bài thi 101 c a LPI (Linux Professional Institute). Trong cu n sách hư ng d n này, chúng tôi s gi i thi u v i b n bash (v , shell, tiêu chu n c a Linux), ch cho b n cách s d ng thành th o các câu l nh cơ b n c a Linux như ls, cp và mv, gi i thích v inode, liên k t "c ng" và liên k t "tư ng trưng" (hard link và symbolic links) và nhi u th khác. Khi k t thúc cu n sách hư ng d n này b n s có ki n th c v ng vàng v nh ng đi u cơ b n khi s d ng Linux, và th m chí còn s n sàng b t đ u h c cơ b n v nhi m v qu n tr m ng Linux. Khi k t thúc chu i sách hư ng d n này (tám cu n t t c ), b n s có ki n th c c n thi t đ tr thành Qu n tr viên h th ng Linux và s n sàng đ t t i ch ng ch LPIC b c I c a Linux Professional Institute n u b n đã d đ nh như v y. Cu n sách hư ng d n này (Ph n I) nói riêng là lý tư ng v i nh ng "ngư i m i" v i Linux, ho c v i nh ng ngư i mu n xem l i ho c c i ti n s hi u bi t c a mình v nh ng khái ni m cơ b n c a Linux như sao chép (copying) và di chuy n (moving) t p tin, t o đư ng d n "c ng" và "tư ng trưng", và s d ng các câu l nh "ch bi n" văn b n cơ b n song song v i "băng chuy n" (pipeline) và "chuy n hư ng" (redirection). D c theo cu n hư ng d n này, chúng tôi s chia s v i các b n nh ng l i g i ý, l i mách nư c và mánh l i đ gi cho cu n hư ng d n thêm phong phú ("ngon ăn") và có tính th c d ng, th m chí cho c nh ng ai có kinh nghi m s d ng Linux đáng k . V i nh ng "ngư i b t đ u", nhi u tài li u c a cu n hư ng d n này s m i, nhưng v i nh ng ngư i s d ng Linux kinh nghi m có th tìm th y cu n hư ng d n này như m t cách tuy t v i đ "làm béo thêm" k năng Linux cơ b n. V i nh ng ai đã qua phát hành (release) 1 c a cu n hư ng d n này v i m c đích khác hơn là chu n b thi LPI, b n có kh năng không c n phát hành 2. Tuy nhiên, n u b n có d tính vư t qua kỳ thi LPI, b n nên lưu ý đ c b n đã ch nh s a này. 1.2 V tác gi Cư trú t i Albuquerque, New Mexico, Daniel Robbins là ki n trúc trư ng c a Gentoo Linux, m t b n phân ph i Linux cao c p. Tác gi còn vi t các bài báo, sách hư ng d n, nh ng l i mách nư c cho IBM developerWorks và Intel Developer Services và là tác gi đóng góp
  10. 2 Trư c khi b t đ u c a vài cu n sách, g m có Samba Unleashed và SuSE Linux Unleashed. Daniel thích thú s d ng th i gian v i v , Mary, và con gái, Hadassah. B n có th liên h v i Daniel qua t i drobbins@gentoo.org. V i nh ng câu h i k thu t v n i dung c a cu n hư ng d n này, liên h v i tác gi , Daniel Robbins, t i drobbins@gentoo.org.
  11. Chương 2 Cơ b n v Linux 2.1 Gi i thi u v bash 2.1.1 H v (shell) N u b n đã t ng s d ng h đi u hành Linux, thì bi t r ng sau khi đăng nh p xong, chúng ta s đư c đón chào b i d u nh c như sau: $ D u nh c b n th y trên máy c a mình có th trông khác m t chút. Nó có th ch a tên máy, tên c a thư m c hi n th i, ho c c hai. Tuy nhiên, b t k là gi u nh c c a b n trông như th nào, ch c ch n nó ch a ký hi u nói trên1 . Chương trình, mà in d u nh c nói trên ra g i, là "h v " (shell). Và r t có th h v shell c a b n là bash - m t h v shell thông d ng trong th gi i h đi u hành chim cánh c t. 2.1.2 Có ph i b n đang ch y bash không? B n mu n bi t mình đang ch y bash hay không b ng hãy gõ: $ echo $SHELL /bin/bash N u dòng trên cho ra m t thông báo l i ho c k t qu không gi ng v i ví d , thì t c là b n đang ch y m t h v shell khác. Trong trư ng h p đó, ph n l n ví d c a cu n hư ng d n này v n có th đư c áp d ng. Nhưng chúng tôi khuyên b n nên dùng bash, vì r t có l i và nh t là n u b n có m c đích tr thi LPI 101. (Cu n hư ng d n th hai, v qu n tr cơ b n, chúng tôi s hư ng d n cách thay đ i h v shell cho ngư i dùng b ng câu l nh chsh.2 ) 1 tr khi b n đăng nh p v i quy n ngư i dùng root. N u b n không bi t ngư i dùng root là gì hãy c t m bi t như th ;). Chúng tôi s nói đ n v n đ này các ph n tiêp theo 2 n u b n là ngư i thích khám phá thì hãy th làm quen v i câu l nh trên ngay bây gi ! Cú pháp c a nó cũng không quá ph c t p so v i các câu l nh khác c a Linux. T khám phá luôn là m t cách h c t t trong m i lĩnh v c! Chúng tôi r t khuy n khích b n
  12. 4 Cơ b n v Linux 2.1.3 V bash Bash là t vi t t t c a "Bourne-again shell"3 . Bash là h v shell theo m c đ nh trên h u h t các h th ng Linux. Công vi c c a h v shell là tuân theo các câu l nh c a ngư i dùng. Nh có h v shell b n có th tác đ ng qua l i v i h đi u hành. Khi làm xong các công vi c c n thi t, có th ch th cho h v shell thoát ra (exit) hay đăng xu t (logout). T i th i đi m này b n s đư c đưa tr l i d u nh c đăng nh p4 . Nhân ti n, b n có th đăng xu t b ng cách gõ control-D t i d u nh c nói trên. 2.1.4 S d ng cd Như b n bi t và có th s bi t :), nhìn ch m ch m vào d u nh c bash không ph i là đi u thích thú nh t trên th gian. Vì v y, hãy th s d ng bash đ "đi d o" m t vòng, quanh h th ng t p tin. T i d u nh c, gõ câu l nh sau (không gõ d u $5 : $ cd / Chúng ta v a yêu c u chuy n sang làm vi c t i bash thư m c /. / còn đư c ngư i dùng Linux bi t đ n dư i cái tên root6 . Trên h th ng Linux t t c các thư m c t o thành m t cây thư m c, và / là thư m c cao nh t c a cây này, hay là g c r (root) c a nó. cd thi t l p thư m c mà b n đang làm vi c v i nó, còn g i là "thư m c hi n th i". Đ bi t thư m c hi n th i c a bash, hãy gõ: $ pwd 2.1.5 Đư ng d n Trong ví d phía trên, đ i s / cho cd g i là đư ng d n (path). Đ i s cho cd bi t nơi chúng ta mu n chuy n đ n. Trong trư ng h p này, đ i s / là đư ng d n tuy t đ i, có nghĩa là nó ch rõ m t v trí trong cây thư m c đ i v i thư m c g c (root). 2.1.6 Đư ng d n tuy t đ i Dư i đây là m t s đư ng d n tuy t đ i khác: /dev /usr /usr/bin /usr/local/bin 3 ngư i d ch: Bourne-again shell là m t cách chơi ch ti ng Anh. "Bourne" đ c gi ng như borne (sinh ra, đ ra). 4 thư ng có d ng login: 5 Trong các ví d $ đ u dòng ch đ ch d u nh c c a ngư i dùng, nó không ph i là thành ph n c a m t câu l nh 6 Xin hãy nh cái tên này!!! Vì ti p theo chúng tôi s g i như v y trong su t cu n sách này
  13. 2.1 Gi i thi u v bash 5 Như b n th y, m i đư ng d n tuy t đ i có m t đi m chung - b t đ u v i /. V i đư ng d n /usr/local/bin, ta mu n cd chuy n vào thư m c /, sau đó thư m c usr dư i nó, và sau đó local và cu i cùng là bin. Đư ng d n tuy t đ i luôn luôn đư c nh n ra b i s có m t c a / đ u. Có th b n đã đoán ra r ng n u đã có tuy t đ i thì ph i có tư ng đ i. Vâng đúng là có đư ng d n tương đ i. Bash, cd, và các câu l nh khác luôn luôn biên d ch nh ng đư ng d n này tương đ i v i thư m c hi n th i7 . Đư ng d n tương đ i không bao gi b t đ u v i m t /. Vì th , n u chúng ta đang trong thư m c /usr. $ cd /usr Thì có th dùng đư ng d n tương đ i đ chuy n t i thư m c /usr/local/bin: $ cd local/bin $ pwd /usr/local/bin 2.1.7 S d ng .. Đư ng d n tương đ i có th ch a m t hay nhi u thư m c "..". Thư m c .. là thư m c đ c bi t ch t i thư m c "b "8 . Ti p t c ví d trên: $ pwd /usr/local/bin $ cd .. $ pwd /usr/local B n th y không, thư m c hi n th i c a chúng ta bây gi là /usr/local. Chúng ta đã "quay ngư c tr l i" m t thư m c v phía thư m c root, n u so v i thư m c hi n th i lúc đ u (/usr/local/bin). Thêm vào đó, chúng ta có th thêm .. vào đư ng d n tương đ i đã có, đ đi t i m t thư m c n m "k bên"9 thư m c hi n th i, ví d : $ pwd /usr/local $ cd ../share $ pwd /usr/share 7 hãy chú ý s khác nhau gi a hai cách biên d ch 8 thư ng g i là thư m c m hơn 9 g i nôm na là "hàng xóm"
  14. 6 Cơ b n v Linux 2.1.8 Ví d đư ng d n tương đ i Đư ng d n tương đ i có th khá ph c t p. Sau đây là m t s ví d , chúng tôi không cho bi t các thư m c thu đư c. Hãy th t hình dung xem b n s đi t i đâu sau khi gõ nh ng câu l nh sau: $ cd /bin $ cd ../usr/share/zoneinfo $ cd /usr/X11R6/bin $ cd ../lib/X11 $ cd /usr/bin $ cd ../bin/../bin Bây gi , hãy gõ chúng và xem b n hình dung có đúng không :) 2.1.9 Th còn . là gì? Trư c khi k t thúc bài gi ng c a chúng ta v cd, có m t vài đi u chúng tôi mu n đ c p đ n. Đ u tiên, có m t thư m c đ c bi t khác g i là ., có ý nghĩa "thư m c hi n th i". Thư m c này thư ng không s d ng như đ i s cho câu l nh cd, mà thư ng đư c s d ng đ th c thi m t s chương trình trong thư m c hi n th i. Ví d : $ ./chuongtrinh T p tin th c thi chuongtrinh n m t i thư m c hi n th i s đư c ch y. 2.1.10 cd và thư m c nhà Bây gi , chúng ta mu n chuy n t i thư m c nhà (home directory), ta gõ: $ cd Không có đ i s , cd s chy n t i thư m c nhà c a ngư i dùng. Thư m c nhà s là /root cho ngư i dùng cao c p (superuser) và đi n hình là /home/username cho ngư i dùng bình thư ng. Nhưng n u mu n ch rõ m t t p tin trong thư m c nhà thì sao? Ví d chúng ta mu n dùng t p tin làm đ i s cho câu l nh chuongtrinh. N u t p tin "trú ng " trong thư m c nhà, có th gõ10 : $ ./chuongtrinh /home/teppi82/tepcuatoi.txt 10 trong ví d này ngư i dùng có tên là teppi82
  15. 2.2 S d ng các câu l nh 7 Tuy nhiên, vi c s d ng đư ng d n tuy t đ i như v y không ph i lúc nào cũng ti n l i, b n có đ ý là chúng ta s ph i gõ r t nhi u ký t không? Hãy thương các ngón tay c a mình!! R t may, ta có th s d ng ký t ∼ (d u ngã) đ làm công vi c tương t : $ ./chuongtrinh ~/tepcuatoi.txt B n th y không, nhanh hơn r t nhi u và r t ti n l i! 2.1.11 Thư m c nhà c a nh ng ngư i dùng khác Bash s khai tri n ký t ∼ đ ng m t mình đ ch thư m c nhà c a b n, nhưng cũng có th s d ng ký t này đ ch thư m c nhà c a nh ng ngư i dùng khác11 . Ví d , n u chúng ta mu n ch đ n t p tin girls.txt trong thư m c nhà c a James, ta gõ: $ ./chuongtrinh ~james/girls.txt 2.2 S d ng các câu l nh 2.2.1 Gi i thi u ls Bây gi , chúng ta s xem xét qua câu l nh ls. R t có th ls là câu l nh quen thu c c a b n, và b n bi t r ng n u ch gõ câu l nh này (không có tham s ) thì n i dung c a thư m c hi n th i s đư c li t kê: $ cd /usr $ ls bin doc games include info lib local sbin share src X11R6 Khi tùy ch n -a đư c ch rõ, b n s "nhìn th y" t t c m i t p tin c a m t thư m c, bao g m c các t p tin n (hidden files), nh ng t p tin mà tên b t đ u v i .. Trong ví d sau, b n s th y trong đ u ra c a ls -a có c các thư m c liên k t đ c bi t . và .. : $ ls -a . .. bin doc games include info lib local sbin share src X11R6 2.2.2 Li t kê chi ti t Linux12 cho phép ch rõ m t hay nhi u t p tin hay thư m c trên dòng l nh ls. N u b n ch rõ m t t p tin, thì ls s ch hi n đ u ra t p tin đó mà thôi. N u b n ch rõ m t thư m c, thì ls s hi n th n i dung c a thư m c, t c là các t p tin và thư m c con c a nó. Câu l nh ls có tùy ch n -l r t thu n ti n khi c n xem các thông tin như quy n h n (permissions), quy n s h u (ownership), th i gian s a đ i (modification time), và kích thư c (size) c a các m c. Trong ví d dư i đây, chúng ta s d ng tùy ch n -l đ li t kê chi ti t thư m c /usr: 11 t t nhiên n u h có trong h th ng 12 hay nói đúng hơn là bash
  16. 8 Cơ b n v Linux $ ls -l /usr total 122 drwxr-xr-x 2 root root 53104 2004-08-29 02:17 bin drwxr-xr-x 2 root root 2336 2004-06-22 19:51 doc drwxr-xr-x 2 root root 3088 2004-06-01 15:44 games drwxr-xr-x 46 root root 5528 2004-06-13 16:33 include lrwxrwxrwx 1 root root 10 2004-05-31 22:29 info -> share/info drwxr-xr-x 138 root root 43384 2004-08-29 00:28 lib drwxrwsr-x 11 root staff 272 2004-06-05 04:06 local drwxr-xr-x 2 root root 6760 2004-08-29 00:28 sbin drwxr-xr-x 236 root root 6360 2004-06-22 19:31 share drwxrwsr-x 5 teppi82 src 136 2004-08-28 21:58 src drwxr-xr-x 6 root root 144 2004-05-31 22:53 X11R6 C t th nh t trong b ng trên là thông tin v quy n h n cho t ng m c trong danh sách13 . Chúng tôi s gi i thích m t cách c th cách d ch thông tin này trong các ph n ti p theo. C t ti p theo hi n th s liên k t (links) cho m i m c đó, chúng ta cũng t m th i d ng l i nhưng s tr l i sau. C t th ba và c t th tư cho bi t, tương ng, ch s h u (owner) và nhóm s h u (group). C t th năm li t kê kích thư c c a m c. C t th sáu là "th i gian s a đ i g n nh t" ("last modified" time) hay còn g i t t là "mtime" c a m c. C t cu i cùng là tên g i c a chúng. Hãy đ ý t p info! N u t p tin là liên k t tư ng trưng (symbolic link), b n s th y d u -> và đư ng d n t i nơi mà liên k t ch đ n. Trong ví d trên info là m t trư ng h p như v y. 2.2.3 Xem thư m c Đôi khi b n ch mu n xem thông tin c a thư m c, mà không quan tâm t i n i dung c a nó bên trong. Cho nh ng trư ng h p này, chúng ta c n ch rõ tùy ch n -d, đ "ra l nh" cho ls ch hi n th thông tin c a thư m c quan tâm: $ ls -dl /usr /usr/bin /usr/X11R6/bin ../share drwxr-xr-x 241 root root 6488 2004-09-02 18:21 ../share drwxr-xr-x 12 root root 312 2004-05-31 22:29 /usr drwxr-xr-x 2 root root 53208 2004-09-02 18:21 /usr/bin drwxr-xr-x 2 root root 3984 2004-06-22 19:30 /usr/X11R6/bin 2.2.4 li t kê inode và li t kê đ qui (recursive) Như v y là có th s d ng tùy ch n -d đ ch xem thông tin c a thư m c. Nhưng đ ng th i chúng ta cũng có th dùng tùy ch n -R đ th c hi n đi u ngư c l i, t c là không ch xem n i dung c a thư m c, mà còn xem t t c các t p và thư m c bên trong c a thư m c đó (Xem toàn b 14 )! Chúng tôi không đưa ra ví d nào cho tùy ch n này (vì danh sách thu đư c thư ng r t dài), tuy nhiên b n nên th m t vài l n câu l nh ls -R và ls -Rl đ bi t chúng làm vi c như th nào. 13 B n nên bi t r (readable) - có th đ c, w (writable) - có th vi t, x (executable) - có th th c thi, d u g ch ngang (-) cho bi t không có m t trong ba quy n h n nói trên, như th s d nh hơn. B n s h i v y hai ch cái d và l đây là gì? d và l đây không liên quan gì đ n quy n h n, mà là ch vi t t t ch phân lo i c a m c, c th là d (directory) - thư m c, l (link) - liên k t. T m bi t v y đã, như th t i nay b n s ng ngon hơn 14 Nói nôm na là xem t t t n t t
  17. 2.2 S d ng các câu l nh 9 Và cu i cùng vâng r t may là cu i cùng, tùy ch n -i c a ls s d ng đ hi n th s inode c a các đ i tư ng15 trong h th ng t p tin: $ ls -i /usr 685 bin 917 include 9352 local 920 src 915 doc 918 info 706 sbin 12522 X11R6 916 games 919 lib 708 share 2.2.5 Inode là gì? M i đ i tư ng trên m t h th ng t p tin đư c xác đ nh b i m t ch m c (index) duy nh t, g i là ch m c inode. Cái này nghe có v t m thư ng, nhưng r t c n am hi u inode đ có th n m đư c th c ch t c a nhi u thao tác v i h th ng t p tin. Trong ví d này chúng ta s xem xét các liên k t . và .. mà xu t hi n trong m i thư m c. Đ bi t th c ch t thư m c .. là gì, đ u tiên chúng ta xem ch m c inode c a /usr/local: $ ls -id /usr/local 9352 /usr/local Thư m c /usr/local có ch m c inode là 9352. Còn bây gi , hãy xem ch m c inode c a mbox/usr/local/bin/..: $ ls -id /usr/local/bin/.. 9352 /usr/local/bin/.. i! Cũng là 9352. Như b n th y đ y, /usr/local/bin/.. có cùng ch m c inode v i /usr/local! Như v y chúng ta hi u th c ch t .. cũng là m t m c trên h th ng t p tin mà có cùng inode v i thư m c m . Đây là m t khám phá gây s c! Trư c đây, chúng ta cho r ng /usr/local là thư m c. Bây gi , chúng ta khám phá ra inode 9352 trên th c t m i là thư m c, và tìm th y hai m c (còn g i là "liên k t") ch t i inode này. Đó là /usr/local và /usr/local/bin/.., chúng đ u là liên k t t i inode 9352. M c dù inode 9352 ch t n t i m t nơi trên đĩa, nhưng cho phép nhi u m c có th liên k t t i nó. Inode 9352 là đ i tư ng th t s n m trên đĩa. Trong khi th c hành, n u mu n chúng ta có th th y t ng s l n mà inode 9352 đư c liên k t đ n, dùng câu l nh ls -dl: $ ls -dl /usr/local drwxrwsr-x 11 root staff 272 2004-06-05 04:06 /usr/local Chúng tôi mu n b n chú ý vào c t th hai t bên trái. Vâng v i nh ng cái đ u nhanh nh y như c a các b n, thì th y r ng thư m c /usr/local (hay nói đúng hơn là inode 9352) đư c liên k t đ n mư i m t l n. Có th t s nhi u như v y không? Đ đánh tan m i hoài nghi dư i đây là các m c khác nhau, liên k t đ n inode này trên h đi u hành c a tôi: 15 object
  18. 10 Cơ b n v Linux /usr/local /usr/local/. /usr/local/bin/.. /usr/local/games/.. /usr/local/lib/.. /usr/local/sbin/.. /usr/local/share/.. /usr/local/src/.. /usr/local/j2sdk1.4.2/.. /usr/local/man/.. /usr/local/include/.. 2.2.6 mkdir Còn bây gi sau khi đã có m t cái nhìn khái quát v thư m c, chúng ta xem xét nhanh câu l nh mkdir, l nh s d ng đ t o m t (các) thư m c m i. Ví d dư i đây t o 3 thư m c m i, co, ca, ro, t t c dư i /tmp: $ cd /tmp $ mkdir co ca ro Theo m c đ nh, câu l nh mkdir không t o thư m c m ; t t c đư ng d n t thành ph n đ u tiên đ n thành ph n g n cu i cùng ph i t n t i. Đ gi i thích rõ v n đ này chúng tôi xin l y ví d sau: trong thư m c nhà c n t o thư m c project/vnoss/docs và các thư m c project, project/vnoss chưa có s n. Th gõ: $ mkdir project/vnoss/docs mkdir: cannot create directory ‘project/vnoss/docs’: No such file or directory i! L i thi u thư m c m ! Chúng ta c n đưa ra ba câu l nh mkdir riêng bi t như sau: $ mkdir project $ mkdir project/vnoss $ mkdir project/vnoss/docs 2.2.7 mkdir -p S d ng 3 câu l nh riêng bi t như trên th t là b t ti n và m t th i gian. R t may, tùy ch n -p c a mkdir xóa b s b t ti n này16 . L nh mkdir v i tùy ch n -p s t o t t c các thư m c m n u chúng không t i t i, như đây: 16 Trong th gi i Linux b n s th y có r t nhi u công c như v y, ch c n b chút ít th i gian tìm hi u thì các công vi c hàng ngày s tr nên đơn gi n và t n ít s c l c cũng như trí óc. Ngoài ra r t có th nó còn đem l i cho b n s s ng khoái
  19. 2.2 S d ng các câu l nh 11 $ mkdir -p project2/vnoss/docs Nói chung, s đơn gi n luôn đ p m t. Đ h c thêm v câu l nh mkdir, gõ man mkdir và đ c trang hư ng d n s d ng17 (man page). B n cũng có th đ c trang HDSD c a t t c các câu l nh đã nói đ n (ví d , man ls), tr cd, vì cd là l nh n i trú (built-in) trong bash18 . 2.2.8 touch Bây gi , chúng ta s xem xét nhanh các câu l nh cp và mv. Chúng đư c s d ng đ sao chép, đ i tên, và di chuy n t p tin (thư m c). Đ b t đ u, chúng ta s d ng câu l nh touch t o m t t p tin trong /tmp: $ cd /tmp $ touch saochepem Câu l nh touch c p nh t "mtime"19 c a m t t p tin n u t p tin đó đã có trên h th ng (c t th sáu trong k t qu c a ls -l). N u t p tin không t n t i, thì m t t p tin m i, tr ng r ng s đư c t o ra. Bây gi chúng ta đã có t p tin /tmp/saochepem v i kích thư c b ng không. 2.2.9 echo Hãy thêm vào t p tin này m t s d li u. Trên h th ng Linux có r t nhi u cách đ làm vi c này, tuy nhiên t i th i đi m này chúng ta s dùng câu l nh echo. L nh này l y đ i s và theo m c đ nh in chúng đ u ra tiêu chu n20 (standard output). Đ u tiên, hãy th dùng echo như sau: $ echo "tepdautien" tepdautien 2.2.10 echo và s chuy n hư ng Bây gi , v n câu l nh echo nói trên nhưng v i s chuy n hư ng đ u ra (output redirection): $ echo "tepdautien" > saochepem Khi có d u l n hơn theo sau là tên t p tin, h v shell s vi t đ u ra c a echo vào t p tin đó, t c là saochepem. T p tin này s đư c t o ra n u chưa có, ho c n i dung đã có s b vi t đè lên. Sau đó, n u ki m tra t p tin b ng ls -l, chúng ta có th th y saochepem "dài" 11 byte. Đó là vì nó ch a t tepdautien và ký t dòng m i: 17 xin vi t t t là HDSD 18 trong trư ng h p này m HDSD c a bash (man bash) r i tìm đ n m c con cd trong m c l n SHELL BUILTIN COMMAND 19 th i gian s a đ i cu i cùng 20 thông thư ng là màn hình
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2