Tài liệu về Cơ bản về chứng chỉ LPI
lượt xem 77
download
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. 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, 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
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Tài liệu về Cơ bản về chứng chỉ LPI
- 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
- 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.
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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.
- 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
- 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
- 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"
- 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
- 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
- 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
- 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
- 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
- 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
- 12 Cơ b n v Linux $ ls -l saochepem -rw-r--r-- 1 teppi82 thang 11 2004-09-02 18:56 saochepem 2.2.11 cat và cp Đ hi n th n i dung t p tin trên thi t b đ u cu i21 (terminal), có th s d ng câu l nh cat: $ cat saochepem tepdautien Bây gi khi đã có t p tin đ th c hành, chúng ta có th s d ng "câu th n chú" cp đ t o t p tin embansao t t p tin g c saochepem: $ cp saochepem embansao N u dùng ls -i nghiên c u, chúng ta th y đây là nh ng t p tin riêng r th t s : ch m c inode c a chúng khác nhau! $ ls -i saochepem embansao 471627 embansao 471620 saochepem 2.2.12 mv L nh mv l i là m t câu th n chú khác. L n này dùng đ đ i tên "embansao" thành "em- bichuyen". B n s th y, trong ví d dư i, ch m c inode không thay đ i; tuy nhiên, tên t p tin ch đ n inode đó thì s khác. $ mv embansao embichuyen $ ls -i embichuyen 471627 embichuyen S inode c a t p tin b chuy n v n như cũ, và t p tin thu đư c n m trên cùng h th ng t p tin như t p tin ngu n (đã không còn n a). Chúng ta s có cái nhìn g n hơn v h th ng t p tin t i Ph n 3 c a cu n sách này. Chúng tôi mu n nhân vi c nói v mv, đ xem m t cách s d ng khác c a câu l nh này. mv, ngoài vi c đ i tên t p tin, còn cho phép di chuy n m t hay nhi u t p tin t i v trí khác trong h th ng. Ví d , đ chuy n /var/tmp/teptin.txt t i /home/teppi82 (t p tin nhà c a teppi82) gõ22 : $ mv /var/tmp/teptin.txt /home/teppi82 21 chúng tôi s dùng t terminal đ thay th cho thu t ng này 22 b n c n t o teptin.txt trư c, dùng l nh touch
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài Tập Về ACCESS
29 p | 2629 | 1032
-
CHƯƠNG III: CÁC KĨ THUẬT VẼ CƠ BẢN
24 p | 1081 | 458
-
Lập trình căn bản - Tổng quan
11 p | 1117 | 438
-
Tài liệu hay hướng dẫn về Flash
149 p | 98 | 373
-
Giáo trình Hướng dẫn cơ bản về Microsoft Project Professional 2010
95 p | 712 | 124
-
Tài liệu về HTML
62 p | 252 | 102
-
Tài liệu về Cấu trúc dữ liệu
264 p | 249 | 92
-
Cơ bản về XML cho người mới sử dụng
8 p | 282 | 85
-
Bài 2 Tìm hiểu cơ bản về ngôn ngữ lập trình Java
45 p | 287 | 73
-
Thủ thuật photoshop - Giới thiệu về menu
20 p | 175 | 56
-
TÀI LIỆU VỀ CÁC HÀM TRONG EXCEL
7 p | 227 | 31
-
Tài liệu về Cơ sở tạo mô hình 3D
39 p | 168 | 29
-
Tự học về ASP
0 p | 68 | 9
-
Chuẩn bị cho kỳ thi 730 cơ bản về DB2 9, Phần 7: Giới thiệu về XQuery
68 p | 90 | 9
-
Chương I: Khái niệm về Hệ cơ sở dữ liệu
7 p | 145 | 7
-
TÀI LIỆU VỀ LẬP TRÌNH CĂN BẢN - KIỂU TẬP TIN
7 p | 73 | 7
-
Dữ liệu trên 'mây' thật sự lưu ở đâu?
3 p | 102 | 5
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn