Gợi ý : sử dụng cơ chế ống lệnh pipe Bài 12 : Bài tập về lệnh head, tail Dùng lệnh cat xem /etc/passwd rồi copy tập tin passwd sang /mydir/mypasswords.txt Dùng lệnh head cho biết
Trang 1Trường Cao Đẳng Công Nghệ Thông Tin TP.HCM
Khoa Công Nghệ Thông Tin
BÀI TẬP THỰC HÀNH HỆ ĐIỀU HÀNH LINUX
Đây là tài liệu sử dụng nội bộ được xây dựng bám sát theo chương trình giảng dạy
bộ môn hệ điều hành Unix của khoa Công nghệ thông tin Tài liệu nhằm cung cấp cho sinh viên các dạng bài tập thực hành với mục đích hướng dẫn sinh viên làm quen với các thao tác cơ bản trên môi trường hệ điều hành Linux
Biên soạn bởi:
Danh mục bài tập
Phần I – Làm quen với hệ điều hành Linux 2
Phần II – Cài đặt và sử dụng hệ điều hành Linux 4
Phần III – Hệ thống tập tin và quản trị hệ thống tập tin 7
Phần IV – Quản trị người dùng / nhóm và file permission 13
Phần V – Cài đặt phần mềm và trình tiện ích 17
Phần VI – Quản lý tiến trình 18
Phần VII – Mạng căn bản 19
Hướng dẫn định dạng, format ổ cứng trên Linux 20
Trang 2Phần I – Làm quen với hệ điều hành Linux
Bài 1: Tìm hiểu sử dụng Linux
1 Chép hai tập tin nén Linux91.zip và Linux92.zip về máy Windows, tiến hành giải
nén chúng vào cùng một thư mục
2 MởVMWare, Chọn File/Open chỉ đường dẫn đến thư mục chứa 2 tập tin nén vừa mới giải nén
3 Chỉnh lại RAM máy ảo 128MB
4 Khởi động máy ảo có hệ điều hành Linux
Username: root
Password: family
5 Tự khảo sát các thành phần trong Linux như: thanh taskbar (linux gọi là Panel), màn hình nền, thanh Mênu và các thành phần trong Menu, biểu tượng Root’s Hometrên màn hình nền, tạo biểu tượng chương trình calculator ra màn hình nền, đổi hình cho màn hình nền
6 Nhấp phải vào màn hình nền của Linux, chọn Terminal, là cửa sổ gõ lệnh giống như cmd trong DOS
Bài 2: Sử dụng đĩa USB trong máy ảo chạy Linux
Bước 1: Gắn đĩa USB vào khe USB của máy thật, chờ cho Windows nhận xong
hoàn toàn đĩa USB
Bước 2: Trên menu máy ảo chọn VM/Removable Devices/USB Devices
Nếu thấy kế bên USB Devices là chữ Empty thì Linux chưa nhận được USB
Nếu thấy kế bên USB Devices có dòng chữ cho biết tên của công ty sản xuất đĩa USB thì nhấp vào nó sao cho xuất hiện dấu check kế bên dòng chữ này
Bước 3: Vào trong hệ điều hành Linux, mở Terminal gõ vào lệnh fdisk –l, nếu
thấy có một đĩa mới xuất hiện thì đó chính là đĩa USB Ghi nhận lại tên thiết bị và hệ
Trang 3thống file của đĩa USB Ví dụ tên là /dev/sdb1 (chỉ có 1 partition) và hệ thống file là FAT
Bước 4: Tạo thư mục /mnt/diskUSB, tiến hành mount đĩa USB vào hệ thống
Linux như sau:
mount -t vfat /dev/sdb1 /mnt/diskUSB (enter)
Trang 4
Phần II – Cài đặt và sử dụng hệ điều hành Linux
Bài 3: Partition và format đĩa cứng trong Linux (máy ảo)
Bước 1: Mở VMWare, khoan khởi động Linux Trên mênu của VMWare, chọn
VM/Settings rồi tạo một ổ cứng ảo mới theo chuẩn IDE, dung lượng 2GB
Bước 2: Khởi động Linux, mở Terminal gõ vào lệnh fdisk –l để kiểm tra xem
Linux đã thấy đĩa mới chưa (hda) Chuẩn bị chia đĩa này thành 2 partition, mỗi partition 1GB Partition thứ nhất sẽ format theo hệ thống file ext2, partition thứ 2 sẽ format theo hệ thống file FAT32
Bước 3: Gõ lệnh fdisk /dev/hda (hướng dẫn dùng fdisk xem bên dưới)
Tiến hành sử dụng các lệnh con trên để chia đĩa, sao cho:
Partition thứ nhất: hda1 có kiểu LinuxNative (83 hexa)
Patition thứ hai: hda2 có kiểu FAT32 (b hexa)
Bước 4: Dùng lệnh mkfs để format 2 partition mới như sau:
mkfs -t ext2 /dev/hda1 <Enter>
mkfs -t vfat /dev/hda2 <Enter>
(Vì partition 1 chọn theo kiểu ext2 ~ 83, partition 2 chọn theo kiểu FAT32 ~ b)
Bước 5: Tạo 2 thư mục con trong /mmt là disk1 và disk2
Tiến hành mount 2 partition trên vào hệ thống:
mount -t ext2 /dev/hda1 /mnt/disk1 <Enter>
mount -t vfat /dev/hda2 /mnt/disk2 <Enter>
Sau đó có thể sử dụng mmt/disk1 và mmt/disk2 như là 2 ổ đĩa logic trong MS-Windows Sử dụng xong thì lần lượt unmount chúng khỏi hệ thống
Trang 5Bài 4 : Chia đĩa
Chia đĩa bằng lệnh fdisk theo sơ đồ sau (chọn add đĩa ảo loại IDE hoặc SCSI tùy ý):
Bài 5 : Sử dụng các lệnh sau đây, so sánh các kết quả và nhậnxét
Bài 6 : Sử dụng gói Linux có giao diện đồ họa
Tiến hành đăng nhập và đăng xuất ở chế độ đồ họa (GUI) và chế độ dòng lệnh (Textmode)
Sử dụng các lệnh tắt máy và khởi động máy bằng nhiều cách khác nhau
Đọc hiểu về các mức của runlevel rồi dùng lệnh init thực hiện các runlevel
Thực hành về hoàn thiện lệnh (gõ thiếu tên lệnh rồi dùng phím Tab 2 lần) và cách
sử dụng lại lệnh cũ (dùng phím mũi tên lên xuống để chọn lại lệnh cũ)
Thực hiện một số lệnh đơn giản như ls, cd, cal, date
Trang 6 Sử dụng lệnh man để gọi màn hình trợ giúp lệnh (cách sử dụng các phím để điều
khiển và thoát màn hình man) xem trang 45 sách tiếng Anh Fundamentals of
Linux
Bài 7 : Làm bài Exercise trang 17 sách Fundamentals of Linux
Trang 7
Phần III – Hệ thống tập tin và quản trị hệ thống tập tin
Bài 8 : Bài tập về soft link (symbol link)
a Tạo đường dẫn và tập tin như sau: /grandfather/father/son/rootfile.txt Phải nhập
nội dung cho rootfile.txt
b Xây dựng đường dẫn /grandmother/mother/daughter/softfile.txt (trong đó softfile
là symbol link đến rootfile.txt) Kiểm tra xem nội dung của softfile.txt có giống rootfile.txt không?
c Dùng lệnh tee –a để nhập thêm nội dung cho softfile.txt Kiểm tra xem
rootfile.txt có thay đổi nội dung không?
d Dùng lệnh tee –a để nhập thêm nội dung cho rootfile.txt Kiểm tra xem
softfile.txt có thay đổi nội dung không?
e Dùng lệnh ls với option thích hợp để kiểm tra tập tin rootfile.txt và softfile.txt có
bao nhiêu link, có những permission gì và thuộc quyền sở hữu của user nào Dùng
lệnh diff để so sánh hai tập tin rootfile.txt và softfile.txt, cho nhận xét
f Trong thư mục daughter, tạo thêm một file softfile2.txt là soft link đến rootfile.txt
Tiến hành xóa file softfile.txt Sau đó kiểm tra sự tồn tại và nội dung của rootfile.txt, softfile.txt, softfile2.txt Cho nhận xét
g Tiến hành xóa file rootfile.txt Sau đó kiểm tra sự tồn tại và nội dung của rootfile.txt, softfile.txt, softfile2.txt Cho nhận xét
h Trong linux có bao nhiêu lệnh cho tạo symbol link?
Bài 9 : Bài tập về hard link (physical link)
a Trong thư mục /abc tạo tập tin rootdoc.txt có nhập nội dung Trong thư mục /def tạo tập tin harddoc.txt là hard link tới rootdoc.txt Trong thư mục /hgi tạo tập tin harddoc2.txt là hard link đến rootdoc.txt
b Thực hiện các công việc tương tự như bài 8 ở trên Cho nhận xét từng phần như bài 8
Trang 8Bài 10 : Bài tập về lệnh cat, touch, more, less
Lệnh touch dùng để làm gì? Lệnh cat có mấy công dụng Thực hiện các chức
năng của chúng (xem thêm trang 72 và 78 trong sách “Fundamentals of Linux”)
Thực hiện các ví dụ của lệnh more và less (xem thêm trong sách
“Fundamentals of Linux” và các sách tham khảo khác)
Bài 11 : Bài tập về wc và sort
Hiển thị số lượng các từ trong một file text
Hiển thị số dòng trong một file text
Hiển thị số ký tự trong một file text
Hiển thị danh sách các file trong thư mục /usr/bin và sắp sếp kết quả trả lại theo thứ tự giảm dần / tăng dần
Hiển thị số lượng các file trong một thư mục cụ thể nào đó (ví dụ : /etc)
Gợi ý : sử dụng cơ chế ống lệnh (pipe)
Bài 12 : Bài tập về lệnh head, tail
Dùng lệnh cat xem /etc/passwd rồi copy tập tin passwd sang
/mydir/mypasswords.txt
Dùng lệnh head cho biết thông tin về 3 user đầu trong mypasswords.txt
Dùng lệnh tail cho biết thông tin về 3 user cuối trong mypasswords.txt
Lệnh nào trong ba lệnh trên cho ta biết thông tin từ user thứ 4 cho đến hết
Cho biết thông tin của user thứ 4 đến user thứ 15
Sử dụng lệnh wc cho thích hợp để cho biết tổng số user trong mypassword.txt
Trang 9Bài 13 : Kiểu file
1 Có bao nhiêu cách để xem kiểu file của các tập tin và thư mục con trong một thư mục của linux? Thực hiện các cách đó
Bài 14 : So sánh và giải thích kết quả khi thực hiện
a cat taptinkhongco && mkdir -p /a1/b1/c1 ; ls / | grep a1
cat taptinkhongco ; mkdir -p /a2/b1/c1 ; ls / | grep a2
b echo "line1"
echo "line1">abc.txt ; echo "line2">abc.txt ; echo "line3">abc.txt echo "line1">abc.txt ; echo "line2">>abc.txt ; echo "line3">>abc.txt
c cat taptinkhongco > abc1.txt
cat taptinkhongco 2> abc1.txt
Bài 15 : Không chạy lệnh sau, hãy dự đoán kết quả rồi thực hiện lệnh
ls ~ | tee home.txt | cat
Bài 16 : Thực hiện theo thứ tự các yêu cầu sau
1 Chuyển vào thư mục /etc/init.d
So sánh và giải thích kết quả của lệnh pwd và pwd -P
2 So sánh và giải thích kết quả khi thực hiện các nhóm lệnh sau:
cd / && pwd && cd -P /etc/init.d && pwd && cd
cd / && pwd && cd -L /etc/init.d && pwd && cd ~
3 Chuyển vào thư mục /etc
4 So sánh và giải thích kết quả của các lệnh ls, ls -i, ls -l, ls -a, ls -ila
5 Thực hiện hiển thị kết xuất từng lệnh trên theo từng trang màn hình
6 Các tập tin có mầu white, blue, green, cyan, orange có kiểu gì?
7 Giải thích kết quả khi thực hiện các lệnh
mkdir /a/b/c/d/e/f/g/h
mkdir /a /a/b /a/b/c
mkdir -p /a/b/c/d/e/f
Trang 10Bài 17 : Thực hiện theo thứ tự các yêu cầu sau
1 Login in Linux OS, sau đó sử dụng các lệnh sau : date, pwd, ls, who,
su, cal, cat, more, head, tail
2 Sử dụng lệnh cat để tạo ra file với tên file là : thegioimang.txt Nhập nội dung
file thegioimang.txt như sau :
“Chào mừng các bạn đến với diễn đàn Mạng Máy Tính - wWw.TheGioiMang.oRg Nơi giao lưu trao đổi và chia sẻ các kiến thứ Mạng Máy Tính nói riêng và CNTT nói chung
4 Copy file thegioimang.txt vào trong các thư mục : class1,class2,class3and class4
o Tạo thêm 2 file mới bất kì với nội dung trống (dùng lệnh touch) Sau đó copy nó qua class5 và class6
o Sử dụng lệnh pwd
5 Xóa file thegioimang.txt trong class1, class3
6 Di chuyển ccna qua ccnp và Linux qua ceh
7 Copy nội dung của thư mục ceh vào bên trong thư mục ccnp
8 Tạo ra các liên kết cứng (hard link) và liên kết mềm (symbol link) giữa file
thegioimang.txt và các file trống vừa tạo ở trên
9 Xóa các liên kết cứng và liên kết mềm
10 Tổng hợp lại các lệnh và cho nhận xét về các lệnh đó
Trang 11Bài 18 : Tùy chọn –i
Tùy chọn (option) –i trong các lệnh cp, mv, rm có ý nghĩa là gì?
Thực hiện một số ví dụ để chứng minh các ý nghĩa đó
Bài 19 : Thực hiện các thao tác sau
1 Cho biết thư mục HOME của mình (user’s home directory)
2 Giả sử đang ở thư mục HOME của bạn, hãy cho biết đường dẫn tương đối để đến
thư mục /etc
3 Cho biết lệnh dùng để chuyển sang thư mục /usr/lib
4 Cho biết lệnh dùng để liệt kê tất cả file và thư mục ở thư mục HOME
5 Cho biết lệnh dùng để liệt kê tất cả file và thư mục kể cả thư mục con ở thư mục
HOME, xem kết quả này từng trang
6 Cho biết lệnh tạo alias là lietke tương đương với lệnh “ls –l”
7 Yêu cầu như câu trên nhưng kết quả được lưu vào file home.list
8 Cho biết lệnh dùng để đổi tên file home.list trên thành homelist.txt
9 Cho biết lệnh tạo thư mục linux2002 trong thư mục HOME
10 Cho biết lệnh để copy file homelist.txt ở trên vào thư mục linux2002
11 Cho biết lệnh liệt kê tất cả các file trong thư mục /etc bắt đầu bằng b, k, n
12 Cho biết lệnh liệt kê tất cả các file trong thư mục /etc bắt đầu bằng các ký tự từ m đến t (m-t)
13 Cho biết lệnh liệt kê tất cả các file trong thư mục /etc có ký tự thứ hai là h
14 Cho biết lệnh liệt kê tất cả các file trong thư mục /etc có ký tự kế cuối cùng là a
15 Cho biết lệnh liệt kê tất cả các file trong thư mục /etc bắt đầu bằng ký tự từ a-e và không bắt đầu bằng b, c
16 Cho biết lệnh tạo file “-myfile” trong thư mục HOME dùng touch hoặc cat
17 Cho biết lệnh xoá file “-myfile” đã tạo ở trên
Trang 1218 Tạo các file “hello ”, “hello?” và “hello*” trong thư mục linux2002 Cho biết
lệnh liệt kê quyền truy cập của từng file kể trên (mỗi lệnh chỉ liệt kê cho 1 file)
19 Cho biết lệnh liệt kê nội dung thư mục /boot, kết quả được sắp xếp theo thứ tự ngược (zZ-aA) và lưu kết quả này vào file bootlist.txt trong thư mục HOME
20 Cho biết lệnh in ra các thông tin của user sv trong file /etc/passwd
21 Cho biết lệnh in ra tất cả các dòng trong file /etc/passwd có chứa chuỗi /bin/bash
22 Cho biết lệnh in ra tất cả các dòng trong file /etc/passwd không chứa chuỗi
rw-r r 24 Cho biết lệnh đổi quyền truy cập tất cả các file “.ttf” trong thư mục HOME sao
cho chỉ owner có quyền đọc ghi và group có quyền đọc
25 Tạo một thư mục trong thư mục HOME Bỏ tất cả quyền thực thi trên thư mục và
cd vào thư mục này Cho biết lỗi xảy ra, từ đó giải thích ý nghĩa quyền thực thi đối với thư mục
26 Cho biết đường dẫn đầy đủ của lệnh startx và lệnh dùng để lấy thông tin đó
27 Cho biết lệnh để xem 20 dòng cuối của file /etc/services Tương tự cho 20 dòng
đầu
28 Cho biết lệnh xem các user hiện đang login vào hệ thống
29 Cho biết lệnh tạo archive linux2002.tar.gz với nội dung là toàn bộ thư mục
linux2002 trong thư mục HOME
30 Cho biết ý nghĩa và các tuỳ chọn thường dùng của các lệnh sau: clear, cut, uniq,
tr, wc, file, du, df, date, cal, dirname, basename, uname, tee, whereis, whatis, locate
Trang 13
Phần IV – Quản trị người dùng / nhóm và file permission
Bài 20 : Thực hiện lần lượt các thao tác quản trị người dùng sau
1 Tạo user sv
2 Đặt password cho user sv là 123456
3 Cho biết user sv thuộc group nào (đọc trong file /etc/group)
4 Cho biết home directory của user sv (đọc trong file /etc/passwd)
5 Tạo group hocvien
6 Sửa thông tin cho user sv thuộc group root (group chính) và group hocvien (group
Phụ)
7 Sửa ghi chú cho user sv là “Nguyen Van A”
8 Login bằng user sv (sử dụng lệnh logout để thoát khỏi user hiện tại)
9 Sử dụng quyền root, lock account sv
10 Login bằng user sv, cho biết kết quả
11 Unlock account sv, login thử bằng user này
12 Yêu cầu user sv phải thay đổi password trong 7 ngày tới
13 Set thời gian hết hạn cho account sv là ngày 30/09/2008
14 Sửa lại giờ hệ thống: date –s “1 Oct 2008”, login bằng user sv và cho biết
kết quả
Bài 21 : File permission
1 Tạo 2 user là user1 và user2 không có password thuộc cùng nhóm có tên là
normal Đăng nhập vào hệ thống bằng user1 (phải tạo nhóm normal trước khi tạo
các user)
a Dùng lệnh umask cho biết mặt nạ của user1?
b Thay đổi mặt nạ của user1 sao cho khi tạo thư mục có quyền ngầm định
như sau: Owner: rwx; Group: rw_; Other: r_ _
c Với mặt nạ trên, khi tạo ra tập tin sẽ có quyền ngầm định là gì?
Trang 14d Hãy tạo tập tin baitap.txt và thư mục Mydir Dùng lệnh ls –l để cho
biết thông tin chi tiết về tập tin và thư mục vừa tạo, có đúng các quyền (permission) thư mục và tập tin như quy định của mặt nạ không?
2 Thực hiện tiếp theo của câu 1 Đứng từ user1 chuyển tạm sang user2 rồi thực hiện các việc sau trong thư mục Mydir của user1 Chú ý: user2 cùng nhóm normal với user1
a Tạo tập tin
b Copy tập tin từ thư mục khác vào Mydir
c Copy tập tin từ Mydir ra thư mục khác
d Xóa tập tin trong Mydir
e Tạo thư mục con trong Mydir
f Hỏi kết quả như thế nào? Có được hay không? Dùng kiến thức ở Table 8-1 trong sách “Fundamentals of Linux” để giải thích
g Chuyển trở về user1
3 Tiếp theo câu 1 và câu 2 Tạo thêm user3 thuộc nhóm normal2 Đăng nhập vào
hệ thống bằng user3 hoặc chuyển tạm sang user3 (chuyển tạm khi user hiện hành khác user3), rồi thực hiện các việc sau trong thư mục Mydir của user1 Chú ý:
user3 không cùng nhóm với user1
a Tạo tập tin
b Copy tập tin từ thư mục khác vào Mydir
c Copy tập tin từ Mydir ra thư mục khác
d Xóa tập tin trong Mydir
e Tạo thư mục con trong Mydir
f Hỏi kết quả như thế nào? Có được hay không? Dùng kiến thức ở Table 8-1 trong sách “Fundamentals of Linux” để giải thích
4 Tiếp theo câu 1 và câu 2 Đứng từ user1 chuyển tạm sang root rồi thực hiện các việc sau trong thư mục Mydir Chú ý: user root không cùng nhóm với user1, nhưng root có quyền quản trị hệ thống
a Tạo tập tin