Người dùng có thể tạo các tệp/thư mục của riêng mình cũngnhư dịch chuyển các tệp giữa các thư mục đó.. Phân vùng đĩa cứng như sau:Sử dụng phím Tab và phím mũi tên để di chuyển, phím Spac
Trang 1Giáo trình Linux
Biên tập bởi:
Vien CNTT – DHQG Hanoi
Trang 4Unix ra đời giữa những năm 1960, ban đầu được phát triển bởi AT&T, sau đó đượcđăng ký thương mại và phát triển theo nhiều dòng dưới các tên khác nhau Năm 1990 xuhướng phát triển phần mềm mã nguồn mở xuất hiện và được thúc đẩy bởi tổ chức GNU.Một số licence về mã nguồn mở ra đời ví dụ BSD, GPL Năm 1991, Linus Torvald viêtthêm phiên bản nhân v0.01 (kernel) đầu tiên của Linux đưa lên các BBS, nhóm ngườidùng để mọi người cùng sử dụng và phát triển Năm 1996, nhân v1.0 chính thức công
bố và ngày càng nhận được sự quan tâm của người dùng Năm 1999, phiên bản nhânv2.2 mang nhiều đặc tính ưu việt và giúp cho linux bắt đầu trở thành đối thủ cạnh tranhđáng kể của MSwindows trên môi trường server Năm 2000 phiên bản nhân v2.4 hỗ trợnhiều thiết bị mới (đa xử lý tới 32 chip, USB, RAM trên 2GB ) bắt đầu đặt chân vàothị trường máy chủ cao cấp Quá trình phát triển của linux như sau:
Giống như Unix, Linux gồm 3 thành phần chính: kernel, shell và cấu trúc tệp
Kernel là chương trình nhân, chạy các chương trình và quản lý các thiết bị phần cứng
như đĩa và máy in
Shell (môi trường) cung cấp giao diện cho người sử dụng, còn được mô tả như một bộ
biên dịch Shell nhận các câu lệnh từ người sử dụng và gửi các câu lệnh đó cho nhân thựchiện Nhiều shell được phát triển Linux cung cấp một số shell như: desktops, windowsmanager, và môi trường dòng lệnh Hiện nay chủ yếu tồn tại 3 shell: Bourne, Korn và
C shell Bourne được phát triển tại phòng thí nghiệm Bell, C shell được phát triển cho
Trang 5phiên bản BSD của UNIX, Korn shell là phiên bản cải tiến của Bourne shell Nhữngphiên bản hiện nay của Unix, bao gồm cả Linux, tích hợp cả 3 shell trên.
Cấu trúc tệp quy định cách lưu trữ các tệp trên đĩa Tệp được nhóm trong các thư mục.
Mỗi thư mục có thể chứa tệp và các thư mục con khác Một số thư mục là các thư mụcchuẩn do hệ thống sử dụng Người dùng có thể tạo các tệp/thư mục của riêng mình cũngnhư dịch chuyển các tệp giữa các thư mục đó Hơn nữa, với Linux người dùng có thểthiết lập quyền truy nhập tệp/thư mục, cho phép hay hạn chế một người dùng hoặc mộtnhóm truy nhập tệp Các thư mục trong Linux được tổ chức theo cấu trúc cây, bắt đầubằng một thư mục gốc (root) Các thư mục khác được phân nhánh từ thư mục này
Kernel, shell và cấu trúc tệp cấu thành nên cấu trúc hệ điều hành Với những thành phầntrên người dùng có thể chạy chương trình, quản lý tệp, và tương tác với hệ thống
Cài đặt máy chủ Linux
Lưu ý: trước khi cài đặt, cần tìm hiểu các thông tin về phần cứng của hệ thống, bao gồm
• Thông tin về ổ đĩa cứng
• Thông tin về card mạng
• Thông tin về card đồ hoạ
• Thông tin về màn hình
• Thông tin về giao thức và cấu hình mạng nếu kết nối mạng
• Thông tin về các thiết bị ngoài (chẳng hạn các thiết bị SCSI )
Có thể chọn nhiều phương án cài đặt như cài đặt từ đĩa mềm, từ đĩa cứng, từ đĩa CDRom hoặc qua mạng Tài liệu này chọn hướng dẫn quá trình cài đặt phiên bản 7.2 từ đĩaCDRom Yêu cầu máy cài đặt có khả năng khởi động (boot) từ ổ đĩa CD-Rom (được hỗtrợ hầu hết trong các máy tính hiện nay)
Sau đây là các bước cài đặt cụ thể Khi kết thúc bước trước chương trình cài đặt tự độngchuyển sang bước sau Một số bước cài đặt cho phép quay lại bước trước bằng cáchchọn Back
1 Đưa đĩa CD Rom Redhat vào ổ đĩa Khởi động lại máy (lưu ý phải đảm bảomáy có khả năng khởi động từ đĩa CD-Rom
2 Chọn chế độ cài text
3 Mặc định chọn ngôn ngữ (English) chọn Next
4 Chọn kiểu bàn phím (Generic 105-key PC), kiểu thể hiện bàn phím (US
English).
Trang 73 Sử dụng chương trình Disk Druid để tạo phân vùng đĩa chuẩn bị quá trình càiđặt Phân vùng đĩa cứng như sau:
Sử dụng phím Tab và phím mũi tên để di chuyển, phím Space hay Enter để chọn
• Dùng Delete xoá các phân vùng cũ của hệ thống trước.
• Chọn New để tạo các phân vùng mới.
• Tạo phân vùng bộ nhớ ảo với các thông số sau:
Type: Linux Swap
Size: 256Mb (gấp đôi kích thước vật lý của bộ nhớ RAM của hệ thống
Allowable Drives [*] sda xác định vị trí vật lý của phân vùng tại ổ đĩa cứng thứ nhất
• Tạo phân vùng thứ hai cho thư mục gốc của hệ thống
Mount point: / (liên kết phân vùng này với thư mục gốc root của hệ thống
Trang 8Mount point: /usr (liên kết phân vùng này với thư mục /usr trên cây thư mục hệ thốngType : ext3
Size : 3072 ( 3 GB )
Allowable Drives [*] sdb
• Tạo phân vùng thứ 4 cho thư mục /var của hệ thống:
Mount point: /var (liên kết phân vùng này với thư mục /usr trên cây thư mục hệ thốngType: ext3
Size: 1
Grow to fill disk [*] (chọn lựa chọn phân vùng với dung lượng còn lại của ổ cứng thứhai)
Allowable Drives [*] sdb
• Kết thúc chọn OK và xác nhận hoàn thành việc thay đổi bảng phân vùng để ghi
lại các thay đổi
Trang 91 Bỏ qua lựa chọn định dạng đĩa có kiểm tra lỗi nếu ổ đĩa cứng không có lỗi.
2 Cấu hình Boot loader
Chọn UseLILO as boot loader
***SORRY, THIS MEDIA TYPE IS NOT SUPPORTED.***
1 Dùng lựa chọn đặt boot loader tại Master Boot Record nếu hệ thống chỉ cài đặtmột hệ điều hành
***SORRY, THIS MEDIA TYPE IS NOT SUPPORTED.***
1 Cấu hình mạng
Nếu máy không có card mạng, sẽ không nhận được màn hình này Thực hiện cấu hìnhmạng cho máy như sau
• Bỏ lựa chọn config using DHCP (chỉ chọn sử dụng chế độ cấp phát địa chỉ IP
động), nhập địa chỉ IP, subnetmask theo hướng dẫn của giáo viên hướng dẫn
thực hành
***SORRY, THIS MEDIA TYPE IS NOT SUPPORTED.***
• Nhập hostname
• Cấu hình firewall, chọn Medium
***SORRY, THIS MEDIA TYPE IS NOT SUPPORTED.***
1 Lựa chọn ngôn ngữ English (US)
***SORRY, THIS MEDIA TYPE IS NOT SUPPORTED.***
1 Cấu hình Time Zone: (Asia/Saigon)
2 Cấu hình tài khoản:
• Nhập mật khẩu cho tài khoản root, gõ lại mật khẩu tại hộp confirm
***SORRY, THIS MEDIA TYPE IS NOT SUPPORTED.***
• ***SORRY, THIS MEDIA TYPE IS NOT SUPPORTED.*** Khaibáo thêmcác tài khoản khác (nếu cần thiết) Tạo thêm tài khoản mới:
• Chọn New để tạo thêm tài khoản mới, nhập thông tin về người dùng Nhận
Trang 10Nhập các thông tin về tài khoản:
Username: <tên tài khoản>
Fullname: <tên đầy đủ của tài khoản>
Password: <mật khẩu truy nhập>
Chọn OK
• Ấn Add để đưa tài khoản vào danh sách người dùng
• Chọn Edit để thay đổi thông tin về một tài khoản.
• Chọn Delete để xoá một tài khoản.
• Chọn cấu hình mặc nhận
Trang 111 Xác định các gói cài đặt: một số gói cài đặt chủ yếu X Windows System,
GNOME, KDE (cho card đồ hoạ), Network station, Anonymous, FTP server,Development
1 Cấu hình giao diện đồ hoạ
Chọn đúng kiểu video card (thông thường redhat có khả năng tự động phát hiện kiểucard)
1 Cài đặt các gói phần mềm
***SORRY, THIS MEDIA TYPE IS NOT SUPPORTED.***
1 Tạo đĩa mềm khởi động: chọn có tạo đĩa khởi động phòng khi hệ thống có lỗi
2 Xác định giao diện đồ hoạ
Trang 12Xác định kiểu monitor từ danh sách các monitor được hỗ trợ Chương trình kiểm trathử chế độ đồ hoạ, nếu các thông số khai báo không đúng, ta phải khai báo lại.
Nếu cài đặt chế độ đồ hoạ thành công, máy sẽ yêu cầu chọn có nên khởi động máy vàochế độ đồ hoạ hay không (mặc định là chế độ text)
1 Hoàn tất quá trình cài đặt và khởi động lại máy (lưu ý bỏ đĩa CD Rom ra khỏi ổđĩa trước khi khởi động lại)
Trang 13Quản lý tệp, thư mục
Hệ thống thư mục
Trong linux tệp được tổ chức thành các thư mục, theo mô hình phân cấp Tham chiếuđến một tệp bằng tên và đường dẫn Các câu lệnh thao tác tệp cho phép dịch chuyển, saochép một tệp hay toàn bộ thư mục cùng với các thư mục con chứa trong nó…
Có thể sử dụng các ký tự, dấu gạch dưới, chữ số, dấu chấm và dấu phảy để đặt tên tệp.Không được bắt đầu một tên tệp bằng dấu chấm hay chữ số Những ký tự khác như ‘/’,
‘?’, ‘*’, là ký tự đặc biệt được dành riêng cho hệ thống Chiều dài của tên tệp có thể tới
256 ký tự
Trong UNIX không có khái niệm phần tên mở rộng (file extensions) theo kiểu như củaWindows Do đó có thể đặt tên tệp tuỳ ý, kể cả tên chứa nhiều dấu chấm “.”
Tệp có tên bắt đầu bằng dấu chấm là tệp ẩn
UNIX/Linux nhậy cảm với chữ HOA, chữ thường (case sensitive) Để tiện lợi, nhiềungười thường dùng chữ thường (lower case) Ta cũng nên theo cách này
Tất cả các tệp trong linux có chung cấu trúc vật lý là chuỗi các byte (byte stream) Cấutrúc thống nhất này cho phép linux áp dụng khái niệm tệp cho mọi thành phần dữ liệutrong hệ thống Thư mục cũng như các thiết bị được xem như tệp Chính việc xem mọithứ như các tệp cho phép linux quản lý và chuyển đổi dữ liệu một cách dễ dàng Mộtthư mục chứa các thông tin về thư mục, được tổ chức theo một định dạng đặc biệt Các
thành phần được xem như các tệp, chúng được phân biệt dựa trên kiểu tệp: tệp thông
thường (ordinary file), thư mục (directory) , thiết bị kiểu kí tự (character device file), và thiêt bị kiểu khối dữ liệu (block device file).
Thư mục chủ
Mỗi tài khoản NSD có một thư mục của mình gọi là thư mục chủ hay thư mục nhà Saukhi đăng nhập hệ thống, người dùng sẽ đứng ở thư mục nhà của mình Tên của thư mụcnày giống với tên tài khoản đăng nhập hệ thống Các tệp được tạo khi người dùng đăngnhập được tổ chức trong thư mục chủ
Tất cả các thư mục nhà của NSD nằm trong thư mục home của hệ thống.
Trang 14Các thư mục hệ thống
Thư mục root, là gốc của hệ thống tệp của Linux, chứa một vài thư mục hệ thống Thư
mục hệ thống chứa tệp và chương trình sử dụng để chạy và duy trì hệ thống Cấu trúccây thư mục như sau:
Mô tả các thư mục
Thư
mục Mô tả nội dung
/ bắt đầu cấu trúc tệp, gọi là thư mục gốc (root)
/home chứa các thư mục nhà (home) của mọi tài khoản người dùng
/bin lưu trữ tất cả các câu lệnh chuẩn và các chương trình tiện ích
/usr chứa các tệp, câu lệnh được hệ thống sử dụng, thư mục này được chia thành
man chứa các tệp hướng dẫn sử dụng cho các câu lệnh (man)
/sbin chứa các tệp hệ thống để khởi động hệ thống
Trang 15/dev chứa giao diện cho các thiết bị như đầu cuối và máy in
/etc chứa tệp cấu hình hệ thống và các tệp hệ thống khác
Các câu lệnh cơ bản
Chú ý:
- Các lựa chọn (gọi là switch hay options trong câu lệnh thường bắt đầu bằng dấu trừ ,
sau đó là một hoặc một vài kí tự, viết tắt của lựa chọn đó, ví dụ "-a", “-al”
- Khi di chuyển giữa các thư mục bằng lệnh “cd” cần phải gõ đầy đủ đường dẫn kể từthư mục root (là dấu gạch xiên “/”), trừ phi ở trong phạm vi thư mục nhà của bạn
- "man" là viết tắt của manual Phần lớn các câu lệnh của UNIX / Linux có trang tài liệu
hướng dẫn sử dụng kèm theo
• ls [-laR] <tên tệp> /<tên thư mục>
Hiển thị danh sách tệp (thư mục con) trong một thư mục
-l: (l = long) hiển thị tên tệp, thư mục trong thư mục hiện hành Cùng với danh sách tên
thông tin về quyền truy nhập, kích thước, ngày sửa đổi thông tin cũng được hiển thị
-a: cho phép hiển thị tất cả tệp và các thư mục trong thư mục hiện tại.
-R: hiển thị thông tin về thư mục hiện hành và thông tin về các thư mục con.
• cd <tên thư mục>
Thay đổi thư mục làm việc
• pwd (print working directory)
Hiển thị thư mục làm việc hiện tại Thư mục được hiển thị với đường dẫn tuyệt đối Vídụ:
pwd
/home/user01
• mkdir <danh sách các thư mục>
Trang 16Khởi tạo thư mục Chú ý: tên tệp có thể dài tới 255 ký tự, tên thư mục có thể chứa mọi
ký tự loại trừ ký tự ‘/’ Ví dụ
mkdir folder1
• cp [-R] <tên tệp nguồn> <tên tệp đích>
Sao chép một tệp cp yêu cầu ít nhất hai tham số: tệp nguồn và vị trí hoặc tên tệp đích.Nếu tham số thứ hai là tên thư mục đã có, cp sẽ sao chép tệp nguồn tới thư mục đích Vídụ
cp main.c main.c.bak
• mv <tệp nguồn> <tệp đích>
Di chuyển hoặc đổi tên tệp hoặc thư mục Câu lệnh thực hiện di chuyển hay đổi tên tuỳ
theo tệp đích có trong thư mục hay không Ví dụ để thay đổi tên tập tin có trong thư mục
-i: hiện thông báo xác nhận người dùng có thực sự muốn xoá tệp/thư mục hay không?
-f: xoá tệp tin bất chấp quyền truy nhập tệp tin Chú ý chỉ sử dụng –f khi đã chắc chắnhoàn toàn muốn xoá tệp tin này
-r: xoá thư mục và toàn bộ các tệp, thư mục con chứa trong nó
• rmdir <xoá thư mục>
Xoá một thư mục rỗng
Trang 17• more <tên tệp>
Hiển thị nội dung tệp phân theo từng trang màn hình
• cat <tệp tin nguồn> [>|>] <tệp tin đích>
-cat <tên tệp>: hiển thị toàn bộ nội dung của tệp ra thiết bị ra chuẩn (màn hình).
-cat name1 name2 name3 > allnames: nối các tệp name1, name2, name3 thành tệp
Khi danh sách tệp trong một thư mục được đọc với câu lệnh ls –l, các thuộc tính sẽ được
hiển thị lần lượt như sau:
• Kí tự đầu tiên là “d” hoặc “-“ nghĩa là thư mục hay tệp (d= directory, - = tệp)
• Các quyền (r, w, x) đối với chủ sở hữu, nhóm và other, tương ứng từng cụm 3
kí tự
• Tên chủ sở hữu (owner),
• Tên nhóm sở hữu,
• Kích thước (theo byte),
• Thời gian (timestamp),
• Tên
Ví dụ:
-rwxr r 1 user01 user01 2144 Mar 29 21:44 test.htm
drwxr-xr-x user01 user01 4096 Mar 29 21:55 xdir
Trang 18Thay đổi thuộc tính tệp
Thay đổi chủ sở hữu
• chown username filename
Thay đổi chủ sở hữu tệp Chỉ có tài khoản root có quyền thay đổi chủ sở hữu tệp
• chgrp groupname filename
Thay đổi nhóm sở hữu tệp Chỉ có root hoặc ngưòi tạo ra tệp đó (chủ sở hữu) có quyềnthay đổi nhóm sở hữu tệp
Thay đổi hạn chế khai thác tệp
• chmod [u|g|o][+|-][r|w|x ] <tên tệp>
Thay đổi cách thức truy nhập tệp Trong đó:
‘+’:Gán
thêm quyền truy nhập tệp
‘-‘ :Loại bỏ quyền truy nhập tệp
• Quyền truy nhập tệp được thể hiện bởi các ký tự: r (đọc), w (viết), x (thực hiện)
• Nhóm người dùng được thể hiện bởi các ký tự: u (người dùng), g (nhóm), o(những người dùng khác)
Ví dụ:
- chmod g+rw mydata: gán cho nhóm có quyền đọc và thực hiện tệp mydata
- chmod o+r mydata: mọi ngưòi dùng có thể đọc tệp mydata
Người dùng có thể gán thêm quyền cũng như loại bỏ quyền truy nhập tệp
- chmod o+r-wx mydata: mọi người dùng có thể đọc tệp, nhưng không được viết và thựchiện
Ngoài ra người dùng có thể thay các số thập phân cho các ký tự trên, gọi là phương thứctuyệt đối Phương thức này sử dụng mặt nạ nhị phân thể hiện tất cả các quyền trong mộtphân mục Ba phân mục (u,g,o) với 3 phân quyền chiếu theo một định dạng số bát phân.Khi chuyển sang số nhị phân (0/1), mỗi số hệ bát phân chuyển thành 3 số hệ nhị phân
Trang 19Ba số bát phân chuyển hành 3 bộ số nhị phân (ví dụ: 777=111111111) , biễu diễn chínhxác quyền truy nhập tệp.
Sử dụng số bát phân thiết lập quyền truy nhập tệp Mỗi số hệ bát phân thể hiện quyềntruy nhập cho một nhóm người dùng (u/g/o) Ý nghĩa mode truy nhập của số bát phânđược thể hiện trong bảng dưới đây:
Trang 20Người dùng và quản lý người dùng
Người dùng có toàn quyền trong Linux là người dùng root, mặc nhiên thuộc về nhómroot Người dùng có quyền root ấn định một người dùng nào đó thuộc về nhóm root và
có quyền tương đương với root
Các câu lệnh liên quan đến người dùng/nhóm người dùng
adduser Tạo thêm người dùng mới, sử dụng câu lệnh passwd để
tạo mật khẩu cho người dùng
useradd <tên tài khoản>
<lựa chọn> Tạo tài khoản mới cho hệ thống
usermod <tên tài
khoản> <lựa chọn> Sửa đổi thông tin về người dùng
Các lựa chọn
userdel –r <tên tài
Trang 21newgrp < tên nhóm> đổi nhóm đăng nhập
passwd <mật khẩu mới> Thay đổi mật khẩu
whoami hiển thị tài khoản đang đăng nhập hiện thời
Trang 22Bộ soạn thảo vi
Hai chế độ làm việc.
Kèm với mọi hệ thống Unix /Linux có bộ soạn thảo vi.vi là bộ soạn thảo khá mạnh và dùng rất ít tài nguyên hệ thống vi chỉ soạn thảo tệp thuần text, không kèm định dạng nên chỉ dùng vi để soạn các đoạn chương trình shell, sửa lỗi các tệp mã nguồn chương
trình Dưới đây sẽ giới thiệu những chức năng cơ bản nhất của vi
Có hai chế độ (mode) làm việc với vi: chế độ nhập vào - input mode và chế độ câu lệnh
- command mode Chế độ nhập để gõ nội dung văn bản, chế độ câu lệnh để thưc hiện
mọi thao tác khác
1 Khởi động vi: “ vi <tên tệp text cần soạn thảo>” Bạn ở chế độ câu lệnh.
2 Chuyển từ chế độ câu lệnh sang chế độ nhập vào: gõ phím i.
3 Nhập các kí tự như thông thường
4 Chuyển từ chế độ nhập vào sang chế độ câu lệnh: gõ phím ESC
5 Kết thúc phiên soạn thảo: dùng một trong các lệnh ZZ, :w hoặc :q!
Chỉ khi ở chế độ câu lệnh mới có thể di chuyển con chạy lên, xuống, phải trái (bằng cácphím mũi tên), xoá kí tự gõ sai (gõ phím x), ghi lưu vào đĩa và thoát (gõ ZZ) … Bảngcác câu lệnh dưới đây sẽ cho giải thích đầy đủ hơn về các câu lệnh của vi
Bảng các câu lệnh của vi
ESC chuyển sang chế độ câu lệnh
h, j, k, l Di chuyển con chạy: Left, down, up, right (hoặc dùng các phím mũi tên)
w, W, b,
B Di chuyển tiến một từ, lùi một từ (backward by word).
0, $ Về đầu, về cuối dòng
/pattern Tìm xâu pattern Theo hướng tiến
?pattern Tìm xâu pattern, theo hướng lùi về đầu văn bản
n,N lặp lại việc tìm kiếm theo cùng hướng / ngược hướng
Dd Xoá dòng có con chạy