Tải bản đầy đủ (.pdf) (17 trang)

Tài liệu Giới thiệu HDH Linux pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (190.36 KB, 17 trang )

HỆ ĐIỀU HÀNH LINUX


I.Giới thiệu hệ điều hành Linux:

1.Linux là gì?

Linux là hệ điều hành. Về mặt nguyên tắc hệ điều hành cũng là một software;
nhưng đây là một software đặc biệt – được dùng để quản lý, điều phối các tài
nguyên (resource) của hệ thống (bao gồm cả hardware và các software khác).
Linux còn được gọi là Open Source Unix (OSU), Unix-like Kernel, clone of the
UNIX operating system.
Linux do Linus Torvalds, một sinh viên tại trường Đại Học ở Helsinki (Phần Lan)
phát triển dựa trên hệ điều hành Minix, một hệ điều hành có cấu trúc tươ
ng tự
Unix với các chức năng tối thiểu được dùng trong dạy học.
Hiện nay, Linux là một hệ điều hành với mã nguồn mở (Open Source) và miễn phí
(free) dưới bản quyền của tổ chức GNU (Gnu’s Not Unix).
Khởi đầu, Linux được thiết kế để hoạt động trên nền tảng của kiến trúc i386
Intel với khả năng đa tác vụ (multitasking). Tuy nhiên ngày nay, Linux đã có các
phiên bản trên các họ chip khác chẳng hạn như chip Alpha.
Linux có nguyên lý hoạt động tương tự hệ điều hành Unix (Unix-like). Mặc dù
Linux không phải là Unix nhưng người ta vẫn xem Linux như là phiên bản Unix trên
PC (PC version of Unix OS).
Do là Unix-like; Linux có đầy đủ tất cả các đặc tính của Unix (fullyfunctional). Ngoài
ra nó còn hỗ trợ thêm một số tính năng mà trên Unix không có,như long file name
(tên file có ký tự space “ ”).
Hiện tại có nhiều hãng, nhiều tổ chức, nhiều nhóm khác nhau cùng phát triển
Linux. Tất cả các phiên bản (release) Linux đều có chung phần kernel (phần nhân
của hệ điều hành) và hầu h
ết các tính năng đặc trưng, tuy nhiên các tool (công


cụ) và utility (tiện ích) có đôi chút dị biệt.
Có rất nhiều các ứng dụng cho Linux, tuy nhiên hầu hết các ứng dụng cho Linux
hiện có đều là các ứng dụng mang tính chuyên dụng. Để đưa Linux vào từng gia
đình, các tổ chức, các hãng đang cố gắng phát triển các ứng dụng mang tính phổ
cập trên Linux chẳng hạn hãng SUN đưa ra phiên bản Star Office tương tự như MS
Office – và cũng tương thích với MS Office - cho những người sử dụng Linux ở gia
đình, văn phòng.
Hãng Borland (nay là hãng Inprise) đang phát triển một dự án có tên là KyLix,
nhằm đưa ra một môi trường lập trình cấp cao trên Linux, đồng thời các ứng dụng
trên Windows được viết bằng Delphi/C++Builder sẽ dễ dàng compile (biên dịch) l
ại
dưới Linux bằng KyLix. Hiện tại Kylix đã có phiên bản thử nghiệm (beta).
Dự án này hứa hẹn một loạt các ứng dụng thông thường đã có trên MS Windows sẽ
mau chóng được chuyển sang Linux, và điều này sẽ giúp cho hệ điều hành Linux dễ
dàng thâm nhập vào thị trường PC nhanh chóng hơn.
Các ứng dụng được viết trên Linux đều có thể hoạt động trên các hệ thống UNIX
(có thể cần phải compile lại).
Các release hiện nay gồm có:
RedHat Linux:
Hiện đã có version (ấn bản) 7.0; là phiên bản khá phổ biến. Cung cấp khá nhiều
tool và utility để hỗ trợ user (người sử dụng) từ các thao tác setup (cài đặt)
đến config (cấu hình) hệ thống.
Mandrake Linux:
Một dòng khác thoát thai từ RedHat Linux, tương thích hoàn toàn với RedHat. Hiện
có tới version 7.1
Slackware Linux:
Đây là một trong phiên bản Linux lâu đời. Hỗ trợ các dịch vụ mạng rất mạnh, tuy
nhiên việc setup và config đòi hỏi user có kiến thức tốt về hệ đi
ều hành này.
Hiện có version 7.0

S.u.S.E. Linux:
Do hãng S.u.S.E (Đức) phát hành, khá phổ biến tại Âu châu, nhưng không được
phổ
biến tại các nước khác. Có các công cụ riêng để hỗ trợ setup và config tương đối
dễ sử dụng. Hiện đang có đến version 6.3
Free BSD Linux:
Được phát triển bởi Đại Học Berkeley, đây không phải là phiên bản thương mại, do
vậy ít được phổ biến. Có rất nhiều tiện ích dành cho việc phát triển hệ thống và
lập trình. Hỗ trợ đầy đủ các shell trên Unix. Hiện có version 2.2
Corel Linux:
Phát triển bởi hãng Corel, dễ setup, có graphic interface (giao diện đồ họa) khá
giống Windows NT kể các tool và utility. Tuy nhiên các config tool chưa hoạt
động tốt. Hiện có đến version 1.0
Open Linux:
Do hãng Caldera phát triển, dễ cài đặt cũng như sử dụng. Giao diện KDE. Thích
hợp cho người sử dụng tại gia đình. Hiện đang có version 2.3
X Linux:
Hỗ trợ đa ngôn ngữ. Tương thích với RedHat. Bộ công cụ không lấy gì làm đặc sắ
c.
Tuy nhiên kèm theo nó có khá nhiều ứng dụng. Hiện có version 1.0
Và còn rất nhiều release khác như Turbo Linux, Linux PPC, Debian Linux,
Infomagic Linux, Softlanding Linux System Release (SLS) v.v
Các thông tin và tài nguyên (resource) của Linux có thể tìm thấy ở khắp nơi trên
Internet và hầu hết đều free. Thêm vào đó có khá nhiều các trình ứng dụng cũng
như tiện ích dành cho Linux dễ dàng được tìm thấy trên Internet.


2. Các tính năng & service cơ bản của Linux:
Như đã trình bày, Linux là một hệ điều hành với đầy đủ các tính năng của Unix.
Vì thế nó có khả năng đóng vai trò của một Internet/Intranet Server (Web Server,

Ftp Server, Mail Server, DNS Server, v.v ), Database Server, File Server
v.v hoặc làm việc như một Unix workstation (máy trạm Unix).
Như vậy, Linux là một hệ điều hành mạng với đầy đủ các tính năng của nó.
Cũng như Unix, Linux cũng tuân theo chuẩn POSIX (Portable Operating System
Interface for Computer Enviroment) mặc dù nó vẫn chưa được tổ ch
ức này công
nhận.
Các service được cung cấp bởi Linux bao gồm hầu hết các service của Unix như:
UUCP (Unix to Unix Copy Protocol): Giao thức hỗ trợ service truyền thông giữa
các host Unix.
TCP/IP IP (Transmission Control Protocol/Internet Protocol): Giao thức cung cấp
service truyền thông trên mạng Internet.
X Protocol: Giao thức để xử lý GUI (Graphics User Interface) trên X Window.
PPP: (Point to Point Protocol): Giao thức dùng để truyền thông trực tiếp giữa
hai máy.
Samba: Giao thức cung cấp File service tương tự File Service của Windows NT cho
phép các windows client truy xuất hệ thống file trên Linux Server.
DNS (Domain Name Service): Dịch vụ quản lý tên host trên mạng Internet/Intranet.
v.v
TCP/IP là hệ thống dịch vụ mạng chính của Linux.
Tuy nhiên các service trên chỉ là các service tùy chọn, nghĩa là hệ thống có thể
có hay không có các service trên vẫn hoạt động tốt. Các service này chỉ làm cho
Unix/Linux tăng thêm khả năng và sức mạnh của mình mà thôi.
Chúng ta sẽ xem xét chi tiết từng service trên ở trong các phần sau.
Còn các service được mô tả sau đây là các service quan trọng của Unix/Linux.
Đ
iều đó có nghĩa là nếu không có các service này, hệ thống có thể không hoạt
động được.
Do vậy, một số trong chúng sẽ được cài đặt một cách tự động khi chúng ta thiết
lập một hệ thống Unix/Linux.

a. Init:
Dịch vụ đơn lẻ quan trọng nhất trong hệ thống Unix/Linux là init. Nó được khởi
động như là tiến trình đầu tiên trong mọi hệ thống Unix/Linux. Đây là tiến
trình dùng để khởi động (boot) hệ thố
ng. Nó sẽ kiểm tra và mount filesystems vào
hệ thống, khởi động các daemon.
Nó cung cấp các khái niệm như single user mode (chế độ hoạt động như hệ người
dùng đơn lẻ), multiuser mode (chế độ đa người dùng). Một số tài liệu còn gọi là
run level (cấp độ hoạt động).
Khi hệ thống kết thúc hoạt động (shutdown), init sẽ dọn dẹp (dừng mọi triến
trình đang hoạt động, umount filesystems, v.v ).
* init 0: Shutdown hệ thống (halt).
* init 1: Admin single user mode: ch
ỉ có root account có thể login ở mode này.
* init 2: Multi user mode, không có hỗ trợ NFS.
* init 3: Multi user, có hỗ trợ NFS: cho phép chia sẻ hệ thống file với các hệ
thống khác trong mạng.
* int 4: Không dùng.
* int 5: Multi user, hỗ trợ graphic mode (X11)
* init 6: reboot (tái khởi động) hệ thống.
Lưu ý: không được thiết lập mặc định (default) ở chế độ này.
* s (hoặc S): Single user, sử dụng hệ thống như hệ thống cá nhân riêng biệt.
(Tại một thời điểm chỉ có một và chỉ m
ột user có quyền đăng nhập hệ thống).
b. Login:
Dịch vụ này cho phép user login (đăng nhập) vào hệ thống và khai thác các tài
nguyên của hệ thống – trong quyền hạn mà user này được cấp.
c. Graphic User Interface (GUI):
Đây chính là X Window service. Nó cung cấp khả năng giao tiếp đồ họa với người
sử dụng.

Nếu không cài đặt X service, một số các chương trình ứng dụng có xử lý đồ họa sẽ
không thể chạy.
d. Network:
Dịch vụ này cho phép user có thể login vào hệ thống từ xa.
e. Network File System (NFS):
Đây là dịch vụ
được hãng SUN phát triển. Nó cho phép các tác vụ về file trong
một hệ thống mạng là trong suốt (transparency) đối với user.
Nghĩa là, các user thao tác với các tập tin trên máy khác nhau trong cùng hệ
thống mạng như đang thao tác trên máy đơn duy nhất.
Tóm lại:

Cũng như Unix, Linux là một hệ điều hành với các khả năng multiproccessing (đa
nhiệm), multitasking (đa tác vụ), multiuser (đa người dùng) sau hơn mười năm
phát triển và hiệu chỉnh bởi hàng nghìn lập trình viên trên thế giới đã chứng tỏ
được là một hệ điều hành uyển chuyển (có thể hoạt động trên nhiều platform),
đáng tin cậy và ổn định.
IV.File System (Hệ thống tập tin) của Linux:
Hệ
thống tập tin Linux được tổ chức theo dạng tree (cây). Có một vị trí khởi
điểm, gọi là root (gốc).
Bất kỳ một hệ thống Unix/Linux nào cũng có một thư mục đặc biệt gọi là thư mục
gốc (root directory) ký hiệu là dấu slash (“/”). Đây là điểm bắt đầu để gắn
(mount point) tất cả các phần tử còn lại như hệ thống disks, partions, CDROM
v.v vào hệ thống Linux/Unix. Tất c
ả các thư mục và tập tin khác, kể cả system
files (các tập tin hệ thống) và system directories (các thư mục hệ thống) cũng
chỉ là cấp con của root.
Khi hệ thống Linux/Unix khởi động (startup), thông qua tiến trình init - nó sẽ
tự động mount (gắn) các system files và system directories vào root (/).

Hệ thống files của Linux hiện đang sử dụng là Ext2 FS (Second Extended
Filesystem). Nó cung một hệ thống tập tin UNIX chuẩn cùng với các tính năng mở
rộng.
Ext2fs được phát triển cho các hệ thống nhân Linux (Linux kernel) vớ
i các khả
năng uyển chuyển.
Ext2fs có khả năng quản trị các hệ thống tập tin trên các phân vùng rất lớn (big
partion).
Ext2fs cung cấp tên tập tin dài (long file name). Đây là khả năng của Linux mà
trên các hệ thống UNIX chuẩn (standard UNIX) không hề cung cấp. Tối đa một tên
tập tin là 255 ký tự và có thể có khoảng trắng (space).
Ext2fs cho phép truy xuất đến các hệ thống khác như FAT, VFAT (FAT32), MSDOS
trên windows 9.x và DOS một cách dễ dàng.
Ngược lại, chúng ta có thể cũng có thể từ các hệ thống FAT, NTFS, BeOS, OS/2,
MacOS truy xuất đến Ext2fs thông qua các trình tiện ích như
LTOOLS.
Và còn nhiều khả năng khác như có thể dễ dàng thêm vào các khả năng cho Ext2fs.
1. System directories:
Thông thường, sau khi thiết lập hệ thống Linux với các default parameters
(option mặc định), ta sẽ có được hình ảnh các thư mục hệ thống như sau:

· Root filesystem được xác định trên mỗi máy. Đó chính là hệ thống cây thư mục
cục bộ (Local filesystem) bao gồm local disks, CDROM, floppy disks v.v
Root directory không hề chứa bất kỳ file nào, ngoại trừ có thể có ảnh để khởi
động h
ệ thống; thông thường là /vmlinuz.
Cho đến khi hệ thống được boot; init proccess sẽ mount filesystem vào root
directory.
Tất cả các thư mục còn lại là thư mục con (subdirectory) của root directory.
Ký hiệu root directory là /

· /bin: Thư mục này chứa tất cả các lệnh cần thiết được dùng bởi user.
· /sbin: Tương tự như bin; tuy nhiên các lệnh ở đây thường không được dùng bởi
các users thông thường (normal users); mặc dù họ có thể sử dụng chúng nếu cần
thiết và nếu đượ
c phép (có quyền sử dụng).
· /etc: Lưu giữ các file cấu hình (configuration files) của máy cục bộ (local
host).
· /root: home directory cho root user.
· /lib: Cất giữ các thư viện cần thiết cho các chương trình trên root
filesystem.
· /lib/modules: Lưu giữ các kernel modules, cần thiết cho việc khởi động hệ
thống (boot system).
· /dev: Các file thiết bị (device files).
Lưu ý: Linux/Unix luôn coi tất cả các thiết bị là file. Điều này sẽ được trình
bày chi tiết trong phần dành cho các nhà quản trị hệ thống.
· /tmp: Nơi lưu chứa các file t
ạm thời của các chương trình đang thực thi.
Lưu ý: Các chương trình chạy sau khi bootup (khởi động hệ thống) sẽ sử dụng
/var/tmp làm nơi lưu chứa tạm.
· /boot: Các file được sử dụng để khởi động.
Ví dụ: LILO (LInux LOader) và các ảnh nhân (kernel images) được lưu trữ tại đây.
· /mnt: Nơi dùng để mount (gắn) các thiết bị lưu trữ tháo ráp được. Chẳng hạn
như CDROM, floopy disks, v.v
Chỉ có người quản trị hệ thống (Administrator) thông thường là root user mới có
quyề
n mount/umout các thiết bị trên.
· /usr: Thư mục này khá lớn. Hầu hết các chương trình dành cho user được lưu trữ
tại đây.
· /var: Chứa các dữ liệu thay đổi khi hệ thống hoạt động.
· /proc: Hệ thống filesystem ảo. Nó không hề tồn tại trên disk. Sự thật, kernel

tạo ra nó trong bộ nhớ. Nó được sử dụng để cung cấp các thông tin về hệ thống
chẳng hạn như thông tin về các proccess.
· /home: Nơi dành cho các user. Bao gồm cả
các tập tin cần thiết để user login
vào hệ thống; cũng như cho phép user lưu trữ data (dữ liệu) lên disk. Trong thư
mục /home, mỗi user sẽ có một thư mục mang đúng tên của user_name (default). Các
user chỉ có quyền lưu trữ, xóa, thay đổi các file/subdirectory trong thư mục này
(trừ root user). Riêng root user thì thư mục này là /root.
2. Các loại file trong Unix/Linux:
Trong Unix/Linux có bốn dạng file cơ bản: file thông thường (ordinary file), thư
mục (directory), file liên kết (link file) và các file đặc biệt (special file).
· File thông thường: Là các file dùng để lưu trữ các d
ữ liệu dạng text (văn bản)
hay binary (thường là các file thi hành được – excuted file hay các file thư
viện – lib file).
Thí dụ: file lưu trữ mã nguồn của một chương trình được lưu trữ ở dạng text:
hello.c
· Thư mục: Đây là một file khá đặc biệt, nó được hiểu như là pointer (con trỏ)
để trỏ đến các file hay các thư mục con (sub directory) của nó.
· File Liên kết: còn gọi là ordinary link. Link file không phải một file thật
sự. Đơn giản nó chỉ là một pointer tr
ỏ đến một file/directory nào đó. Và như
vậy, user có thể truy xuất đến file/directory này thông qua các link file như
đang truy xuất trực tiếp đến file/directory đó. Và như thế, Linux/Unix đã tạo ra
thêm một khái niệm – đó là một file có thể có nhiều thư mục cha khác nhau. Đây
là khái niệm không có trên các hệ thống khác như Windows NT hay Windows 9.x. Tuy
nhiên, Linux xem các ordinary link file và original file là như nhau, nghĩa là
hệ thống xem các link file như là các original file.
Có một loại liên kết khác, được gọi là simbolic link. Simbolic link có thể link
đến các file/directory trong cùng filesystem, cùng disk, hoặc một file ở trên

một máy khác, các simbolic link và original file không ngang hàng với nhau
Có sự khác biệt giữa ordinary link và simbolic link:
-Nếu ta xóa link file của ordinary link thì dữ liệu thật sự (actual data) và các
link file khác vẫn còn nguyên (nếu không bị xóa) cho đến khi link file cuối cùng
bị xóa.
-Còn nếu ta chỉ cần xóa original file của simbolic link thì lập tức file được
link cùng với các link file khác cũng bị xóa theo.
· File đặc biệt: Mọi thiết bị vật lý, bao gồm disk, printers, CDROM, v.v đều
được Unix/Linux xem nh
ư các file. Và các file này được gọi là special files.
Hầu hết – không phải tất cả – các thiết bị được lưu giữ ở trong thư mục /dev.
Thí dụ: /dev/cdrom là file quản lý CDROM. Users sẽ config và dùng CDROM thông
qua file này.
Có hai loại thiết bị trong Linux/Unix: character-special devices (thí dụ:
printer) và block-special devices (thí dụ: disk).
Tuy nhiên, về phía user chúng ta có thể không cần quan tâm đến việc thiết bị nào
thuộc loại nào. Hệ thống sẽ tự lo điều này.
3. File structure:
· File name (tên file): Tên file thường dùng các chữ cái, chữ số và dấu gạch
dưới (underscore).
Có thể dùng dấu phẩy (comma) hay dấu chấm (period). Tuy nhiên, tên file không
thể bắt đầu với dấu chấm “.” hay dấu phẩy “,”; ngoại trừ một số trường hợp đặc
biệt.
Tên file có thể dài đến 256 ký tự, bao gồm cả phần mở rộng (extension of file
name). Tuy nhiên Linux/Unix chỉ quản lý thật sự là 32 (hoặc 64) ký tự đầu tiên
mà thôi . Nghĩa là nếu hai file chỉ khác nhau kể từ ký tự thứ 33 (hay 65) thì
Linux/Unix xem như chúng bị trùng tên. Các ký tự mở r
ộng này chỉ dành cho user.
Có một số các file khởi tạo (initialization) mà nó sẽ nắm giữ các lệnh cấu hình
shell, được gọi là các dot file được bắt đầu tên file với dấu chấm.

Thí dụ:
Các tên file sau là hợp lệ:
myfile.txt
yourfile.cpp
yourfile.cpp.old
Các tên file dưới đây là bất hợp lệ:
;hang
*nhuan
?Linh
· Path name: là tên đầy đủ của một file, còn gọi là fullname. Fullname chỉ ra
một lộ trình (path) đầy đủ để có thể truy xuất đến tập tin đó.
Thí dụ: để chỉ ra file tho.txt trong thư mục hang, thư mục hang là thư mục con
của home và home là thư mục con của root. Ta có tên đầy đủ của tho.txt như sau:
/home/hang/tho.txt
Để phân cách giữa các thư mục với nhau Linux/Unix sử dụng dấu slash “/” (trùng
với ký hiệu của root).
Có hai dạng path name: đường dẫn tuy
ệt đối (absolute path name) và đường dẫn
tương đối (relative path name)
Absolute path name chính là full name. Nghĩa là tên một file/subdirectory bắt
đầu từ /.
Relative path name: tên một file/subdirectory bắt đầu từ thư mục hiện hành
(current working directory).
Thí dụ: thư mục hiện hành là /home. Relative path name của tho.txt là
hang/tho.txt.
· File permission: quyền truy cập của file/directory trong Linux/Unix.
Có tất cả ba loại quyền truy xuất: read (đọc), write (ghi/xóa) và excute (thực
thi) cho ba nhóm khác nhau: owner (chủ sở hữu của file/directory), group (những
user cùng nhóm với chủ sở hữu file/dir) và other (các user còn lại).
Ngoài owner, thì việc thiết lập các quy

ền này chỉ có thể thay đổi bởi root user.
Những user khác, nếu không được phép của ower sẽ không thể thay đổi các quyền
trên.
Ký hiệu của quyền read là “r”, write là “w” và excute là “x”, nếu không được set
permission là ký hiệu là “-”.
4. Một vài khái niệm khác của file/directory:
· Thư mục hiện hành (current working directory): Còn gọi là thư mục đang làm
việc. Là thư mục mà user đang làm việc trên đó. Mặc định, khi user đăng nhập vào
hệ thống, working directory sẽ là /home/username.
Thí dụ: Nếu bạn login vào hệ th
ống với username là hang. Thì sau khi login xong,
working directory sẽ là /home/hang.
Ký hiệu của working directory là dot “.”.
Để truy cập một file trong working directory, ta có pathname như sau: ./”ten
file cần truy cập”.
· Thư mục cha (parrent woriking directory): Là thư mục cha của working
directory.
Ký hiệu là “ ”
Thí dụ: Nếu working directory là /home/hang thì parrent directory là /home. Nếu
ta muốn truy cập đến một file/subdirectory nào đó ở parrent directory path name
sẽ là /”tên file cần truy cập”.
· Thư mục home: Là thư mục có cùng tên với username trong /home.
Ký hiệu là “~”
Thí dụ: Giả sử username là hang. Thư mục home của hang là /home/hang. Thay vì
phải viết ra đầy đủ pathname của file tho.txt là /home/hang/tho.txt, nó có thể
được chỉ ra một cách vắn tắt như sau: ~/tho.txt

V.Operating System, kernel và shell:
Để một máy tính có thể hoạt động được, điều tiên quy
ết cần có đó là một máy

tính. Tất cả các thiết bị cấu thành một máy tính gọi chung là hardware (phần
cứng).
Có một số thiết bị bắt buộc phải có để một máy tính có thể hoạt động như bộ
xuất/nhập chuẩn (standard Input/Output) và CPU (Central Proccessor Unit) ; đó
thường là bàn phím (keyboard) và màn hình (monitor).
Một số thiết bị khác không bắt buộc phải có gọi là thiết bị ngoại vi
(peripheral).
Thí dụ: scanner (máy quét) hay printer (máy in).
Tuy nhiên, chỉ với hardware thì máy tính v
ẫn chưa thể hoạt động được. Muốn hoạt
động được, máy tính còn cần thêm những phần làm cho máy tính hoạt động theo ý
muốn người sử dụng. Người ta gọi đó là software (phần mềm). Software là các tập
hợp chỉ thị (Instruction) mà CPU có thể hiểu được mà từ đó CPU có thể thực hiện
các chỉ thị này theo một trật tự nào đó để cho ra kết quả như ý muốn người sử
dụng.
Trong tất cả các software, có một vài software có nhiệm vụ cực kỳ quan trọng, đó
là điều phối hệ thống máy tính, để làm cho máy tính có thể hoạt động trôi chảy.
Như là điều phối việc xuất nhập (I/O), hay điều khiển CPU thi hành các chỉ thị
của các software khác. Người ta gọi software này là Hệ Điều Hành (Operating
System: OS). Ngoài ra OS còn có một nhiệm vụ khác: làm cầu nối giữa user và
computer. Bởi lẽ, con người và máy tính không có cùng “ngôn ng
ữ”, vì thế nhiệm
vụ của OS sẽ là “thông dịch viên” để giúp user ra chỉ thị cho computer và ngược
lại thông qua các thiết bị xuất nhập.
Hiện nay có nhiều OS khác nhau như: Unix, Linux, MacOS, OS/2, Windows 9.x,
Windows NT, BeOS, DOS v.v
Trong các OS kể trên, Linux hiện nay được các chuyên gia đánh giá một OS ổn
định, có tốc độ phát triển nhanh và đáng tin cậy, đồng thời đây lại là một free
OS.
Bất kỳ hệ điều hành nào cũng có nhiều phần khác nhau, tuy nhiên nó luôn luôn có

hai phần chính: phần lõi (kernel) và phần vỏ (shell).
Kernel là phần chính của một hệ điều hành. Nó gồm một tập hợp các module làm các
chức năng quản lý hardware, điều phối dòng thông tin giữa các ứng dụ
ng
(aplication) và CPU. Nó còn quản lý việc truyền thông giữa các máy tính với nhau
trong môi trường mạng (network enviroment) .
Nhiệm vụ chính của shell là cho phép user giao tiếp với OS.
Trên các hệ Unix/Linux có vài shell khác nhau.
Shell mặc định của Unix là Bourne shell, còn của Linux là bash (Bourne Again
Shell: là Bourne shell với các chức năng mở rộng) được phát triển ở AT&T.
Prompt (Dấu nhắc) của bash là $.
Một shell khác của Unix là Korn shell (ksh). Ksh có đầy đủ các tập lệnh của
Bourne shell cộng thêm một số khả năng khác. Trong Linux là pdksh (Public Domain
Korn Shell).
Prompt (Dấu nhắc) của pdksh là $.
Một shell nữ
a của Unix là C shell (csh). Csh có đầy đủ các tập lệnh của Bourne
shell cộng thêm một số khả năng khác cho việc lập trình được phát triển bởi BSD.
Shell tương ứng trong Linux là tcsh.
Prompt (Dấu nhắc) của tcsh là %.
Ngoài ra, còn một shell khác có tên là zsh trên Linux.
Người sử dụng có thể tùy ý chọn shell mà mình ưa thích để làm việc.
Thí dụ: Nếu user đang dùng bash, nay muốn chuyển sang tcsh, đơn giản chỉ cần gõ
tcsh tại dấu nhắc lệnh. Ngay lập tức, sẽ hiể
n thị shell làm việc là tcsh.
User cũng có thể sửa lại profile để shell mặc định là shell do user muốn dùng.

1. Shell Operators (các tác vụ trên shell):
a. Command Line (chế độ dòng lệnh):
Sau khi khởi động hệ thống, một nàn hình hiển thị mời user login vào hệ thống.

Để đăng nhập vào hệ thống, user cần gởi username tại dấu nhắc (prompt) login.
Sau đó, tiếp tục gởi password của user cho hệ thống kiểm tra. Nếu hợp lệ, hệ
thố
ng sẽ khởi động các profile của user để user có thể thao tác với hệ thống.
Sau khi user hoàn tất việc login vào hệ thống, một prompt “$” sẽ xuất hiện chờ
user nhập vào các lệnh muốn thao tác.
b.Một vài lệnh thông dụng của Linux/Unix:
· ls (list): Lệnh ls dùng để hiển thị danh sách các file/subdirectory.
Cú pháp: ls [option] [filename/directory]
Nếu không có tham số, ls sẽ đưa ra tên các file/subdirectory của working
directory.
Các option:
-a: hiển thị tất cả file/subdirectory, kể cả thư mục “.” và thư mục “ ” cùng
các script file.
-A : hiển thị tất cả file/subdirectory, không hiển thị “.” và “ ”
-l: Hiển thị đầy đủ các thông tin của file/directory.
Các ký hiệu khi hiển thị ở dạng đầy đủ thông tin:
“d”: là thư mục và “-”: file thông thường
Thí dụ: ls –l ~/
total 4
drwxrwxr-x 2 hang hang 4096 Dec 29 20:18 Hang
drw-rw-r 1 hang hang 19 Jan 2 16:57 Baitaps
-rw-rw-r 1 hang hang 0 Jan 3 01:21 tho.txt

Ta thấy trong mười ký tự đầ
u tiên, ký tự thứ nhất trên mỗi dòng là “d” hoặc “-”
thông báo cho user biết đây là file hay directory. Ba ký tự tiếp theo tuần tự sẽ
có ý nghĩa là các mode “read”, “write”, excute” của owner được thiết lập (hoặc
không nếu thấy là ký tự “-”) Ba ký tự kế tiếp là các mode tương tự cho các user
trong cùng group với owner. Và ba ký tự cuối cùng trong nhóm ký tự này cũng là

các mode đó cho các user còn lại.
· cat: Lệnh cat dùng để hiển thị nội dung một file, để nối các file lại với
nhau.
Cú pháp: cat [option] <filename(s)>
Thí dụ: cat hello.c
cat hello.c ~/tho.txt honhop.mix
· cp (copy): Lệ
nh cp dùng để copy file
Cú pháp: cp [option] source_file destination_file
Các option:
-i: option này kiểm tra xem tên des_file có trùng với file nào đang tồn tại hay
chưa? Nếu có sẽ đưa ra câu thông báo:
“Overwrite ” (y/n)
Nếu không có option, việc kiểm tra trùng tên bị bỏ qua, và lệnh cp sẽ chép đè
(overwrite) lên file trước đó (nếu có).
-r: cho phép copy một subdirectory vào một directory khác.
Thí dụ: cp hello.c newhello.c
· mv (move): Lệnh này dùng để di chuyển một file từ nơi này sang nơi khác.
Cú pháp: mv [option] source_file destination_directory
Thí dụ: mv hello.c ~/Hang
· rm (remove): Xoá (các) file ra khỏi hệ thống cây thư mục.
Cú pháp: rm [option] source_file(s)
Thí dụ: rm newhello.c
· mkdir (make dir): Tạo (các) thư mục
Cú pháp: mkdir [option] dir(s)
Thí dụ: mkdir dangphuong
Linux cho phép user dùng ký tự trắng (space) trong tên file/directory. Thông
thường, space dùng để phân cách các option trên dòng lệnh. Để chỉ ra space là
một ký tự trong tên file/direfctory, user cần để tên file/directory trong cặp
dấu “”.

Thí dụ: Để tạo thư mục có tên là Dang và thư mục có tên Phương, user có thể dùng
như sau:
mkdir Dang Phuong
Như
ng nếu để tạo thư mục có tên “Dang Phuong” thì cần dùng như sau:
mkdir “Dang Phuong”
· rmdir (remove directory): Xóa (các) thư mục
Cú pháp: rmdir [option] dir(s)
Thí dụ: rm Dang Phuong
· cd (change dir): Chuyển thư mục làm việc
Cú pháp: cd [directory]
Thí dụ: cd ~/Hang
· pwd (print working directory): Lấy tên thư mục đang làm việc.
Cú pháp: pwd
· chmod (change mode): Thiết lập các permission trên file/directory. Để thông
vào một permission dùng dấu + và để bỏ một permission dùng dấu trừ ngay trước
permission đó.
Cú pháp: chmod <+/-><x/w/r>
Thí dụ: chmod +x-w vidu.txt
· chown (change owner): Đổi quyền sở hữu file/dir
Cú pháp: chown [option] old_owner new_owner
Thí dụ: chown hang phuong
· chgrp (change group): Đổi nhóm file/directory
Cú pháp: chgrp [option] old_group new_group file/directory
Thí dụ: chgrp user root hello.c
· ps (proccess status): Xem thông tin các tiến trình đang hoạt động.
Cú pháp: ps [option]
· kill: Hủy ngang (các) tiến trình.
Cú pháp: kill id_proccess
· tar (tape archives): Dùng lệnh này để backup (sao lưu) dữ liệu ở dạng nén hoặc

dùng để giải nén các file đã được backup bằng chính lệnh này.
Cú pháp: tar [option] filename filelist

Các option:
-c: Tạo một file nén mới hoặc ghi đè lên file nén đã có.
-r: Ghi các file có tên trong file list vào cuối file nén đã có.
-t: Tạo bảng chỉ mục (table of content).
-u: Cập nhật một file nén.
-x: Giải nén một file nén ở dạng *.tar.
-v: Hiển thị các tên file trong tiến trình xử
lý.
-f: Xác định tên file nén.
Thí dụ:
-Nén tất cả các file trong thư mục ~/baitap thành file vidu1.tar.
tar -cf vidu1.tar baitap
-Nén các file baitap1.c và baitap2.c thành vidu2.tar
tar –cf vidu2.tar baitap1.c baitap2.c
-Giải nén vidu1.tar vào thư mục hiện hành.
tar –xf vidu1.tar
· > và <: Lệnh chuyển hướng đầu xuất, nhập.
Lệnh này cho phép user thay đổi đầu xuất/nhập của thiết bị. Chẳng hạn như, lệnh
ls thông thường sẽ xuất kết quả ra thiết bị xuất chuẩn (ở đây là monitor). Trong
trường hợp user muốn xuất kết quả
ra dạng file thì sử dụng lệnh này.
Thí dụ:
ls ~/Hang/ > ~/list.txt
Lệnh trên sẽ yêu cầu kết quả của lệnh ls được xuất ra dạng ở dạng file có tên là
list.txt lưu tại home của user.
· Cơ chế đường ống (pipes):
Ký hiệu: |

Nếu có các file nén (*.tar), sau khi nối lại bằng lệnh cat rồi giải nén nó thay
vì phải nối lại bằng lệnh cat thành một file trung gian rồi dùng lệnh tar để
giải nén file trung gian này, ta có thể dùng kết quả củ
a lệnh cat làm đầu vào
cho lệnh tar như sau:
cat *.tar | tar –x
· man (manual): Hướng dẫn sử dụng một lệnh này đó của Linux/Unix.
Cú pháp: man commandname
Thí dụ: man ls
· startx: khởi tạo X Window.
Cú pháp: startx
c. Một số lệnh dành riêng cho Super User (root):
· init: Khởi tạo lại trạng thái mới cho tiến trình init.
Cú pháp: init <value>
Thí dụ: để khởi tạo mode đồ họa (X Window) ta dùng lệnh:
init 5
Để khởi tạo mode single user ta sử dụng lệnh:
init S
· mount: Gắn một thiết bị lưu trữ như partion, disk, CDROM, floppy disk vào
cây thư mục h
ệ thống.
Cú pháp:
mount [option] filesystem mount_device mount_point
Các option:
-t: chỉ định loại thiết bị muốn mount
-r: mount thiết bị ở dạng read only.
Các filesystem được hỗ trợ bởi Linux:
ext: Linux filesystem
ext2: extension Linux filesystem
swap: swap partion filesystem

iso9660: CDROM filesystem
msdos: DOS filesystem (FAT 16)
vfat: DOS filesystem (FAT 32)
nfs: Network filesystem
Minus: Minus filesystem
Một vài thiết bị mount thông dụng:
fd: loại thiết bị mount là floppy disk
Thí dụ: /dev/fd0: chỉ định thiết bị mount là floppy disk A
hd: loại thiết bị mount là hard disk
Thí dụ: /dev/hda: chỉ định hard disk thứ nhất của hệ thống
/dev/cdrom: loại thiết bị mount là CDROM (th
ường đó là một link đến /dev/hdc,
nếu ổ CDROM được gắn second primary. Khi đó CDROM theo chuẩn ATAPI được xem như
một hard disk).
/dev/hda1, /dev/hda2 v.v : thiết bị mount là một partion của hard disk.
sd: loại thiết bị mount là SCSI hard drive
st: loại thiết bị mount là SCSI tape drive
lp: loại thiết bị mount là printer port
tty: loại thiết bị mount là terminal
ttyS: loại thiết bị mount là serial port (cổng nối tiếp)
cua: loại thiết bị mount là callout device (COM ports)
Thí dụ:
-Để mount CDROM tại thư mục /mnt/cdrom, ta dùng lệnh mount như sau:
mount –t iso9660 /dev/cdrom /mnt/cdrom
-Để mount partion 2 – giả sử được format ở dạng FAT32 - tại thư mục /mnt/windows
ta dùng lệnh:
mount –t vfat /dev/hda2 /mnt/windows
· umount: Ng
ược lại với lệnh mount. Dùng để gỡ bỏ một thiết bị đã được mount
trước đó.

Cú pháp: umount mountpoint
Thí dụ: Sau khi đã mount CDROM tại thư mục /mnt/cdrom, bây giờ muốn unmount, ta
dùng lệnh như sau:
umount /mnt/cdrom
· fdisk: phân chia lại partion và format disk
Cú pháp: fdisk
· cfdisk: tương tự như fdisk, tuy nhiên có giao diện và menu hướng dẫn sử dụng.
Cú pháp: cfdisk
d. Một số các tiện ích trên mode command line:
mc

mail

Phần II: Cài đặt và cấu hình hệ thống

I. Cài đặt:
Việc cài đặt một hệ thống Linux bao gồm bốn bước:
(*) Kiểm tra tương thích các thiết bị với phiên bản Linux muốn sử dụng
(**) Tạo đĩa khởi động (boot disk) cho quá trình cài đặt.
(***) Bắt đầu cài đặt
(****) Thiết lập các thông số cần thiết cho hệ thống
1. Kiểm tra sự tương thích của hardware với phiên bản Linux sử dụng:
Thông thường, nếu các thiết bị của bạn không quá cũ hay quá mới và thuộc loại
tương đối thông dụng thì bạn có thể hy vọng trên 90% các thiết bị của bạn có thể
tương thích với các phiên bản Linux hiện hành.
Nếu muốn biết chắc chắn, bạn nên tham khảo tạ
i website của nhà phân phối.
Đặc biệt, nên lưu ý các loại thiết bị như monitor, mouse và display adaptor. Bởi
vì, nếu các thiết bị này không tương thích với phiên bản Linux của bạn, bạn sẽ
không thể giao tiếp với hệ thống.

Việc sử dụng các thiết bị đặc biệt như SCSI, modem, scanner, sound card cần phải
xem xét kỹ trước khi mua để đảm bảo được rằng các loại thiết bị này có driver hỗ
trợ trên hệ
thống Linux. Đồng thời cần phải tìm được tài liệu hỗ trợ hướng dẫn
việc cài đặt nó trên hệ thống linux (Tùy thuộc vào từng model sẽ có các cách cài
đặt khác nhau).
2. Tạo đĩa khởi động cho quá trình cài đặt:
Có ba cách để khởi động quá trình cài đặt một hệ thống Linux.
(a) Khởi động bằng CDROM
(b) Kích hoạt file khởi động từ CDROM trong môi trường DOS
(c) Tạo đĩa mềm (floopy disk) để khởi động
(d) Khởi độ
ng quá trình cài đặt từ mạng

a. Khởi động từ CDROM:
Bởi vì hiện nay, các bản phân phối Linux trên CDROM đều có hỗ trợ việc khởi động
từ CDROM nên nếu hệ thống máy tính của bạn có hỗ trợ chức năng boot từ CDROM (có
thể kiểm tra điều này bằng cách vào BIOS để xem) thì bạn chỉ còn một việc là đưa
đĩa CDROM vào ổ đĩa và thiết lập trong BIOS chế độ khởi động từ CDROM là xong.

×