CHƯƠNG I : GIỚI THIỆU TỔNG QUAN VỀ LINUX.
Linux là hệ điều hành thu hút được nhiều sự chú ý của giới tin học trong
vài năm trở lại đây . Ngay từ khi xuất hiện , ảnh hưởng của nó đã lan rộng nhanh
chống và ngày nay trở thành một trong những hệ điều hành được mọi người
trong mọi lĩnh vực sử dụng. Thành công của Linux xuất phát từ cơ sở làm lại một
trong những hệ điều hành lâu đời nhất và hiện vẫn đang được sử dụng rộng rãi,
đó là hệ điều hành Unix.
32 trang |
Chia sẻ: tlsuongmuoi | Lượt xem: 2403 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Linux căn bản, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
a hình dung ra nó thì Linux là hệ
điều hàn đa người dùng, đa nhiệm được phân phối tự do và vận hành giống như
UNIX. những người sáng lập thiết kế Linux đặc biệt cho PC (Intel CPU) và tận
dụng kiến trúc của nó để cung cấp hiệu suất tương tự với trạm làm việc UNIX kỹ
thuật cao, một số cổng của Linux mở ra cho các nền phần cứng cũng xuất hiện,
và chúng làm việc y hệt phiên bản PC mà chúng ta sẽ tập trung xem xét.
Linux là hệ điều hành đa người dùng và đa nhiệm vận hành giống như hệ
điều hành UNIX về phương diện nhân và thiết bị ngoại vi. Linux có tất cả đặc
tính của UNIX, cộng với những cải thiện gần đây đã tăng thêm tính linh hoạt của
Linux. Toàn bộ mã nguồn dành cho Linux và trình tiện ích của nó hoàn toàn
miễn phí.
Ban đầu nhân Linux được thiết kế cho chế độ bảo vệ của CPU 80386 Intel.
80386 được thiết kế với tính năng đa nhiệm (mặc dù hầu hết Intel CPU được sử
dụng với tính năng DOS đơn nhiệm), và Linux tận dụng hoàn toàn những đặc
tính nâng cao có sẵn trong CPU. Cơ chế quản lý bộ nhớ cực kỳ mạnh với 80386
(so với những CPU trước kia). thủ tục mô phỏng dấu chấm động cho phép Linux
hoạt động trên những máy móc không có bộ đồng xử lý toán học.
Linux cho phép dùng chung các tập tin có thể thi hành để nhỡ có nạp nhiều bản
sao của một trình ứng dụng đặc biệt (do một người dùng chạy nhiều tác vụ), thì
Huỳnh Tấn Phước
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
2
tất cả tác vụ có thể dùng chung một bộ nhớ. tiến trình này, gọi là sao-chép-trên-
trang-ghi, sử dụng triệt để RAM của bộ nhớ.
Nhân Linux còn hỗ trợ tiến trình phân trang theo yêu cầu, có nghĩa là chỉ
những phần nào cần thiết của chương trình mới được đọc vào RAM. để sử dụng
bộ nhớ tối ưu hơn, Linux dùng một tổ hợp nhất cho phép bộ nhớ rãnh trên hệ
thống được sử dụng như một bộ nhớ cache truy cập nhanh chóng và hiệu quả các
chương trình và dữ liệu sử dụng thường xuyên. Do nhu cầu sử dụng bộ nhớ tăng,
nên bộ nhớ cache phải tự động điều chỉnh để phục vụ cho những yêu cầu bộ nhớ
quá lớn trong khi RAM bộ nhớ quá nhỏ. Linux hỗ trợ không gian trao đổi. không
gian trao đổi cho phép các tranh nhớ được ghi vào một vùng đĩa giành sẵn và
được sử dụng như một vùng mở rộng của bộ nhớ vật lý. bằng cách di chuyển tới
lui ác trang giữa không gian trao đổi và RAM, Linux có thể vận hành như thể nó
có Ram vật lý nhiều hơn thực tế, bù lại tốc độ truy cập của đĩa cứng sẽ chậm hơn
làm giảm tốc độ vận hành của máy.
Linux sử dụng rộng rãi thư viện dùng chung động. thư viện này sử dụng
một vùng thư viện chung cho nhiều trình ứng dụng khác nhau, cắt giảm đáng kể
kích thước của mỗi trình ứng dụng. linux cho phép tính năng nối kết toàn bộ thư
viện (gọi là thư viện nối kết tính) tạo điều kiện di dời đến những máy không có
thư viện động để mọi người chấp nhận Linux, hệ điều hành này cung cấp nhiều
hệ thống tập tin khác nhau, kể cả những hệ thống tập tin tương thích với DOS và
OS/2. Hệ thống tập tin riêng của Linux gọi là ext2fs, được thiết kế để tận dụng
tối đa đĩa.
Linux thật sự thích hợp cho công đoạn phát triển và thử nghiệm trình ứng
dụng bằng những ngôn ngữ mới. Là một bộ phận của phần mềm phân phối, có
một số trình biên dịch như C, C++, Fortran, Pascal, LISP, Ada, BASIC, và
Smalltalk. nhiều trong số những trình biên dịch, công cụ, trình gỡ rối và trình
hiệu chỉnh của Linux xuất phát từ dự án GNU của Hiệp hội phần mềm miễn phí
(FSF – Free Software Foundation)
Huỳnh Tấn Phước
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
3
- Phần mềm GNU
GNU (Gnu’s Not UNIX) do Hiệp hội phần mềm miễn phí phát triển. mục
đích của FSF là cung cấp miễn phí phần mềm do lập trình viên và người phát
triển. từ khi được tạo lập, nhiều bộ chương trình phân phối. hầu hết phần mềm
GNU phản ảnh phần mềm khả dụng mang tính thương mại và trong vài trường
hợp nó là một cải tiến.
Linux có nhiều trình tiện ích GNU, kể cả những ngôn ngữ đã được đề cập,
trình gỡ rối, công cụ biên dịch, và nhiều hơn thế nữa. các trình tiện ích in ấn, xử
lý văn bản, và những công cụ GNU khác cũng có mặt trong những sản bản phân
phối Linux.
X ( đôi khi còn là X Windows) là giao diện người dùng dạng đồ hoạ được
thiết kế tại MIT để cung cấp trình ứng dụng GUI có thể di chuyển giữa những
nền hệ thống khác nhau. Phiên bản của x cung cấp cho Linux gọi là Xfree86, và
là cổng trực tiếp của hệ thống X11R5 chuẩn cho những kiến trúc dựa trên 80386.
Xfree86 đã được nâng cao để cung cấp khả năng thích ứng với các GUI khác kể
cả Open Look.
Xfree86 hỗ trợ nhiều card video khác nhau ở một số độ phân giải, cung
cấp một giao diện đồ hoạ phân giải cao. bất kỳ trình ứng dụng X nào cũng có thể
được biên dịch lại để chạy trong hệ điều hành Linux, và nhiều trò chơi, trình tiện
ích cũng như những trình ứng dụng bổ sung đều được phát triển và cung cấp như
một phần của hệ thống X.
Bên cạnh đó, hệ Xfree86 còn có cả thư viện, công cụ, và trình tiện ích phát
triển ứng dụng. Điều này cho phép những lập trình viên viết chương trình ứng
dụng dành riêng cho X không phải đầu tư thêm những thư viện hoặc bộ công cụ
phát triển phần mềm đắt tiền nào khác.
DOS và giao diện Windows
Huỳnh Tấn Phước
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
4
Vì Linux được thiết kế cho máy PC nhỏ nên nó cung cấp khả năng tương
thích với Microsoft FS-DOS dưới dạng một thành phần của hệ điều hành. Linux
cung cấp bộ mô phỏng DOS với tư cách là một phần của hệ thống phân phối, cho
phép điều hành ứng dụng DOS trực tiếp từ bên trong Linux. Đừng qua mong chờ
vào khả năng di chuyển của những trình ứng dụng DOS, mặc dù một số chương
trình này dùng để truy cập những thiết bị ngoại vi hay các ổ đĩa mà Linux thống
thể dự án WINE đã phát triển bộ mô phỏng Microsoft Windows dành cho Linux.
Bộ mô phỏng này cho phép chương trình ứng dụng Windows chạy được từ bên
trong Linux. một phương pháp khả thi hơn, gọi là WABI, cho phép Linux chạy
chương tình ứng dụng Windows trong môi trường X.
Linux cho phép bạn chuyển tập tin hoàn toàn liền lạc giữa DOS và hệ
thống tập tin Linux, truy cập các phần chia DOS trực tiến trên đĩa cứng, nếu nó
đã được lập cấu hình như vậy. Điều này cho phép di chuyển các tập tin và
chương trình ứng dụng qua lại giữa hai hệ điều hành khá dễ dàng.
TCP/IP (transmission Control Protocol/Internet Protocol) là hệ thống nối
mạng quan trọng được UNIX và Linux sử dụng.
TCP/IP là một họ giao thức đầy đủ được phát triển cho Internet. bạn phải
sử dụng TCP/IP khi gia nhập vào Internet. nếu muốn liên kết với những máy
UNIX khác, bạn cũng phải sử dụng TCP/IP, việc áp dụng giao thức TCP/IP vào
Linux cung cấp toàn bộ phần mềm nối mạng và trình điều khiển thường nối kết
chặt chẽ với bộ chương trình phần mềm UNIX TCP/IP thương mại. dựa vào đó
bạn có thể tạo riêng cho mình một mạng cục bộ, nối kết với Ethernet LAN hiện
có hoặc nối cả mạng Internet, nối mạng là một đặc tính mạnh mẽ của Linux, mà
chúng ta sẽ xem xét chi tiết hơn ở phần sau. Dĩ nhiên không bắt buộc phải nối
mạng hệ thống Linux của bạn, nhưng cài đặt mạng sẽ rẻ tiền và đơn giản hơn
đồng thời là một cách chuyển đối tuyệt hảo và tập tin giữa những hệ điều hành.
bạn cũng có thể nối mạng qua modem vì thế bạn sẽ có các máy Linux của bạn bè
trên mạng.
Huỳnh Tấn Phước
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
5
CHƯƠNG II : FILE , CẤU TRÚC THƯ MỤC, TÀI KHOẢN NGƯỜI DÙNG
1./ Mô tả cấu trúc cây thư mục và file
Trong hệ thống Linux (và UNIX) tất cả file cộng với thư mục được lưu theo
một cấu trúc hình cây duy nhất. gốc của cây thư mục này được gọi là root và ký
hiệu bằng ký tự / (bạn đừng nhầm root với user và dấu / với đường dẫn thư mục).
cho dù máy tính của bạn gắn nhiều ổ đĩa cứng đi chăng nữa thì cũng chỉ được
gắn vào thành một nhánh trong cây thư mục chính mà thôi.
Hình 1-1 là cấu trúc thư mục gán nhiều đĩa cứng.
Tùy theo người quản trị hệ thống chỉ định mà các đĩa cứng phụ của bạn sẽ được
kết gán vào một thư mục nào đó trên cây thư mục gốc. Theo tác kết gán này
thường được thực hiện thông qua lệnh mount (bạn cũng có thể bỏ kết gán thư
usr etc home dev
Đĩa cứng 1
Đĩa cứng 2 TM1
Book.doc
softs
TM2
Help.txt
Huỳnh Tấn Phước
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
6
mục bằng lệnh umount) như thí dụ ở hình 1-1 /home/softs là đường dẫn thư mục
đến một phân vùng của đĩa cứng khác (đĩa cứng 2). Tập tin help.txt trong
/home/softs thực tế được lưu trên đĩa cứng thứ 2. trong khi book.doc chứa trong
/home/TM1 lại nằm trên đĩa cứng thứ nhất.
2./ Tìm hiểu đường dẫn ,hệ thống tập tin và thư mục
a./ Thư mục :
Cơ bản một hệ thống Linux thường có các thư mục sau :
/bin : Thư mục này chứa các file chương trình thực thi (dạng nhị phân ) và file
khởi động của hệ thống.
/boot : Các file ảnh (image file) của kernel dùng cho quá trình khởi động thường
đặt trong thư mục này.
/dev : Thư mục này chứa các file thiết bị. Trong thế giới UNIX và Linux các thiết
bị phần cứng được xem như là file.
Đĩa cứng và các phân vùng của bạn cũng là các file như had1, hda2, đĩa mềm
mang tên fd0…các tập tin thiết bị này thường đặt trong /dev
/etc : Thư mục này chứa các file cấu hình toàn cục của hệ thống. Có thể có nhiều
thư mục con trong thư mục này nhưng nhìn chung chứng chứa các file script để
khởi động hay phục vụ cho mục đích cấu hình chương trình trước khi chạy.
/home : Thư mục này chứa các thư mục con đại diện cho mỗi user khi đăng
nhập. nơi đây tựa như ngôi nhà của người dùng. Khi người quản trị tạo tài khỏan
cho bạn, họ cấp cho bạn một thư mục con trong /home. Bạn hoàn toàn có quyền
sao chép, xóa file, tạo thư mục con trong thư mục home của mình mà không ảnh
hưởng đến các người dùng khác.
/lib : Thư mục này chứa các file thư viện .so hoặc .a. Các thư viện C và các thư
viện liên kết động cần cho chương trình khi chạy và cho toàn hệ thống.Thư mục
này tương tự thư mục SYSTEM32 của Windows.
/lost + found : Thư mục này được đặt tên hơi lạ nhưng đúng nghĩa của nó. Khi
hệ thống khởi động hoặc khi bạn chạy trình fsck nếu tìm thấy một chuỗi dữ liệu
Huỳnh Tấn Phước
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
7
nào bị thất lạc trên đĩa cứng không liên quan đến các tập tin Linux sẽ gộp chúng
lại và đặt trong thư mục này để nếu cần bạn có thể đọc và giữ lại dữ liệu bị mất.
/mnt :Thư mục này chứa các thư mục kết gán tạm thời đến các ổ đĩa hay thiết bị
khác. Bạn có thể thấy trong /mnt các thư mục con như cdrom (kết gán đĩa cd)
hoặc floppy là thư mục kết gán với đĩa mềm.
/sbin : Thư mục này chứa các file hay chương trình thực thi của hệ thống thường
chỉ cho phép sử dụng bởi người quản trị.
/tmp : Có lẽ bạn nhận ra ngay đây là thư mục tạm dùng để chứa các file tạm mà
chương trình sử dụng chỉ trong quá trình chạy. các file trong thư mục này sẽ
được hệ thống dọn dẹp nếu không cần dùng đến nữa.
/usr : Thư mục này chứa rất nhiều thư mục con như /usr/bin hay /usr/sbin. Một
trong những thư mục con quan trọng trong /usr đó là /usr/local bên trong thư mục
local này bạn có đủ các thư mục con tương tự ngoài thư mục gốc như sbin, lib,
bin… Nếu bạn nâng cấp hệ thống thì các chương trình bạn cài đặt trong /usr/local
vẫn giữ nguyên và bạn không sợ chương trình bị mất mát. Hầu hết các ứng dụng
Linux đều thích cài chương trình vào /usr/local. Thư mục này tương tự Program
Files trên Windows.
/var : Thư mục này chứa các file biến thiên bất thường như các file dữ liệu đột
nhiên tăng kích thước trong một thời gian ngắn sau đó lại giảm kích thước xuống
còn rất nhỏ. Điển hình là các file dùng làm hàng đợi chứa dữ liệu cần đưa ra máy
in hoặc các hàng đợi chứa mail.
• Thư mục root :
Trong Linux, thư mục gốc (root directory) là thư mục chứa các địa thư mục
khác. Đó chính là thư mục cha; các thư mục khác nằm ở cấp thư mục con. Thư
mục gốc có một ký hiệu đặc biệt là /, cho biết nó ở cấp trên cùng.
b./ Đường dẫn :
Huỳnh Tấn Phước
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
8
- Đường dẫn tuyệt đối : Cho biết được vị trí chính xác của tập tin trong file
system.
Ví dụ : Nếu tập tin file.txt hiện diện trong thư mục home (/home/file.txt), tên
đường dẫn tuyệt đối của tập tin này là /home/file.txt.
- Đường dẫn tương đối : Chỉ đến vị trí của tập tin đối với thư mục hiện hành.
Ví dụ : Ta có thư mục /home/tm1/file.txt , giả sử ta đang ở thư mục hiện
hành tm1 thì tên tập tin file.txt là một đường dẫn tương đối .
c./Tập tin :
Tập tin chứa đủ loại thông tin. Trên hệ thống Linux có ba loại tập tin sẽ trở nên
thân thuộc với bạn :
- Dữ liệu người dùng : Thông tin bạn tạo và cập nhật. Dữ liệu người dùng đơn
giản nhất là văn bản hay con số thuần túy.
Ví dụ : tập tin bảng tính , muốn làm việc tới bảng tính bạn phải khởi động
chương trình bảng tính và đọc trong đó.
- Dữ liệu hệ thống : Thông tin (thường dưới hình thức văn bản gốc) cho hệ
thống Linux đọc và sử dụng – nhằm theo dõi người dùng nào được phép trên hệ
thống, chẳng hạn. với tư cách là nhà quản trị mạng, bạn chịu trách nhiệm thay đổi
tập tin dữ liệu hệ thống. Giả dụ khi bạn tạo người dùng mới, bạn sửa đổi tập tin
/etc/passwd vốn chứa thông tin người dùng. Người dùng hệ thống bình thường
chẳng mấy quan tâm đến tập tin dữ liệu hệ thống, ngoại trừ các tập tin khởi động
của họ.
- Tập tin thi hành : Các tập tin chứa những chỉ thị cho máy tính thực hiện.
Người ta thường gọi chuỗi chỉ thị này là chương trình (program). Khi bạn bảo
máy tính thực hiện là bạn đang yêu cầu máy tính thi hành các chỉ thị dành cho
nó. Trong con mắt chúng ta, tập tin thi hành chứa mớ vô nghĩa – rõ ràng máy tính
chẳng nghĩ như bạn đâu. Tạo lập hay hiệu chỉnh tập tin cần có những công cụ đặc
biệt.
Tuy chúng ta quy định với nhau là có ba loại tập tin khác nhau, nhưng bạn
cần biết là trong phạm vi hệ thống tập tin Linux chẳng có gì khác biệt giữa loại
Huỳnh Tấn Phước
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
9
tập tin. Mỗi tập tin là một khối dữ liệu trên ổ đĩa chứa thông tin. Nội dung bên
trong tập tin chẳng liên quan gì tới Linux trừ phi bạn sử dụng tập tin đó. Shell
bash có khả năng chạy tập tin thi hành, nhưng chẳng biết loại dữ liệu nào ở trong
tập tin dữ liệu hệ thống hay tập tin dữ liệu người dùng. Nội dung tập tin chỉ liên
quan tới chương trình sử dụng chúng, không liên quan tới Linux với tư cách là hệ
điều hành. Trừ một ngoại lệ là các tập tin dữ liệu hệ thống. Linux sử dụng chúng
khi khởi động và chạy hệ thống.
* Cách tạo tên tập tin :
- Tên tập tin gồm một loạt những chữ, số, và vài dấu phân cách đi liền nhau.
- Tên tập tin được chứa khỏang trắng, hoặc bất kỳ ký tự nào dùng để đại diện
một dấu phân cách các trường với nhau.
Ví dụ tên tập tin “Johns.letter” và “Johns letter” đều hợp lệ.
Tên tập tin không được chứa bất kỳ ký tự nào mang ý nghĩa đặc biệt với shell
chương trình. Bạn không được dùng “ký tự bị cấm” sau đây trong tên tập tin: “/”,
lý do là gạch chéo / bởi vì gạch chép này dùng để chỉ tên đường dẫn.
Quyền trên tập tin .
Các quyền truy xuất trên file
Linux là một HĐH đa nhiệm, đa người dùng. Cùng một thời điểm bạn
đang ngồi trước máy tính để soạn thảo tập tin hay thực thi chương trình nào đó
thì cũng có thể một người khác tư xa qua kết nối mạng đăng nhập (login) vào
máy bạn mở tập tin mà bạn đang soạn thảo để xem hay xóa tập tin chương trình
khỏi máy bạn trưới khi bạn kịp nhận ra máy tính của mình đang bị xâm phạm.
với Linux trước khi sử dụng hệ thống bạn phải qua bước đăng nhập bằng các
nhập vào tài khoản bao gồm username và password. Đối với từng tài khoản đăng
nhập vào hệ thống, Linux cho quyền tác động đến một tập tin hay thư mục theo
các thuộc tính sau :
R: chỉ cho đọc (không cho ghi và xóa tập tin)
W: cho phép ghi vào tập tin
X: cho phép thực thi chương trình.
Huỳnh Tấn Phước
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
10
- : không cho phép.
Các thuộc tính này gắn liền với file hay thư mục. chúng sẽ được xem xét
đến khi một người dùng đăng nhập yêu cầu mở file, đọc file, xóa file hay thực thi
chương trình. Ls là lệnh trong Linux cho phép bạn xem thông tin chi tiết về thuộc
tính truy xuất của tập tin và thư mục (tương tự lệnh dir của DOS). Ví dụ để xem
danh sách các tập tin trong thư mục /usr bạn có thể gõ lệnh :
# ls – l/usr
-rw-r - - r - - 1 root erik 444 Fed 14 22:24 Makefile
-rw-r - - r - - 1 erik erik 3507 Feb 14 17:44 erik.html
drwxrwxrwt 6 root root 4096 Mar 5 11:51 tmp
drwxr – xr- x 15 root root 4096 Feb 21 03:55 usr
drwxr – xr – x 20 root root 4096 Feb 21 10:31 var
Khóa chuyển –1 yêu cầu ls liệt kê thư mục theo dạng danh sách chi tiết. xem ra,
kết quả kết xuất của ls trong Linux phong phú và nhiều thông tin hơn lệnh dir của
DOS.
Tuy nhiên có lẽ điểm khác biệt lớn nhất mà bạn có thể thấy ở đây là cột thông tin
bên tay trái. Chúng chứa các chuỗi ký tự như :
-rw-r - - r -- (file erick.html)
hoặc drwxr – xr – x ( thư mục var và usr)
Đây là thuộc tính về quyền truy xuất (permission right) mà hệ điều hành dùng
bảo vệ file và thư mục. bạn chỉ có 3 quyền chính trên một file hay thư mục như
đã nêu đó là đọc, ghi và thực thi: r(read), w (write) và x (excute). Mặc dù vậy các
quyền này được chỉ định cho 3 đối tượng nữa đó là : người sở hữu tập tin
(owner), nhóm sở hữu tập tin (group) và các người sử dụng tập tin thông thường
(other user).
-rwx rwx rwx
user group order Đặc tính file
Huỳnh Tấn Phước
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
11
Tóm lại tập tin được kiểm soát bởi 3 quyền và truy xuất bởi 3 đối tượng
khác nhau hay ngắn gọn file và thư mục được điều khiển tổng cộng bởi 3x3=9
quyền. Trên thuộc tính phân quyền của file, đối tượng được chia thành 3 nhóm từ
trái sang phải, mỗi nhóm chứa 3 quyền đầy đủ như hình trên .
Cờ đầu tiên cho biết đặc tính file, thường không quan trọng. Nếu là – có nghĩa là
tập tin thông thường. Trường hợp thư mục bạn sẽ thấy cò này ký hiệu là d. trong
các chương sau bạn có thể thấy các dạng file đặc biệt thể hiện ở cờ này như pipe
và p và socket là s…
- Muốn thay đổi quyền trên file bạn sử dụng lệnh chmod. Lệnh này truy xuất các
nhóm với tên tắt là u (user) g (group) và o (other) và dùng tiền tố +/- để thêm bớt quyền.
Ví dụ ta hiện có testfile là tập tin có các quyền sau :
# ls – l testfile
-rw-r - - r - - 1 root books 444 Feb 14 22:24 testfile
- Để thêm quyền thực thi (x) cho đối tượng user bạn gọi chmod như sau :
# chmod u+x testfile
#chomod 744 testfile
# ls – l testfile
-rw-r - - r - - 1 root books 444 Feb 14 22:24 testfile
- Để thêm quyền ghi w và thực thi x cho đối tượng group (nhóm), quyền thực thi
x cho đối tượng other (người dùng bình thường) ta gọi chmod:
# chmod g+wx o+x testfile hoac chmod 675 testfile
# ls – l testfile
- rwx rwx rw – 1 root books 444 Feb 14 22:24 textfile
- Để loại bỏ quyền ghi w và thực thi x trên đối tượng user bạn dùng tiền tố - như
sau :
# chmod u-wx testfile hoac chmod 476 testfiel
# ls – l testfile
-rw-r - - r - - 1 root books 444 Feb 14 22:24 testfile
Huỳnh Tấn Phước
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
12
- Để loại bỏ tất cả các loại quyền của nhóm bạn gọi :
# chmod g-rwx testfile hoac chmod 604 testfile
# ls – l testfile
-r- - - - -rwx 1 root books 444 Feb 14 22:24 testfile
Các chương trình chúng ta sẽ viết sau này đều yêu cầu tối thiểu phải có quyền
thực thi x cho người dùng đang đăng nhập. Thường cách dễ nhất là bạn gán
quyền thực thi cho người dùng bình thường (other) thì cho dù bạn đăng nhập
dưới bất kỳ tài khoản của user nào bạn cũng đều có thể sử dụng được chương
trình. Ví dụ để chương trình có thể gọi thực thi được bạn thêm quyền cho đối
tượng other như sau :
# chmod o+x testfile
# ls – l testfile
-r- - - - -rwx 1 root books 444 Feb 14 22:24 testfile
Cach 2
phan quyen cho file va thu muc (ap dung bang so)
3./ Các ký hiệu : “.”, “..”, “~”.
- Dấu chấm đơn (.) chỉ thư mục hiện hành,
- Dấu chấm đôi (..) chỉ thư mục mẹ của thư mục hiện hành. Riêng thư mục
gốc (root) là thư mục duy nhất không có thư mục mẹ “..”
- Dấu “~” là một ký hiệu đặc biệt , hàm ý là thư mục cha của thư mục người
dùng .
Ví dụ : Khi gõ lệnh cd ~ là bạn đã vào thư mục cá nhân của người
dùng.
4./ Quản lý file và thư mục
- Quản lý thư mục với các lệnh sau : ls, mkdir, rmdir, cd, pwd
Lệnh ls : Liệt kê danh sách thư mục
Huỳnh Tấn Phước
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
13
VD : # ls –l /home sẽ liệt kê nội dung thư mục home .
Lệnh mkdir : Tạo thư mục
VD : mkdir /home/data
Lệnh rmdir : Xóa thư mục
VD : rmdir ./data sẽ xóa thư mục data
Lệnh cd : chuyển đến thư mục làm việc
VD : cd /home/data
Tạo file văn bản nhập liệu từ bàn phím vào màn hình :
# cat >test.txt
Your text here, press Ctrl+D when finish
^D
Lệnh pwd : Xem thư mục hiện hành
VD : # pwd
/home/data
-Quản lý file với các lệnh rm, touch, mv, cp. find.
Lệnh rm : Xóa tập tin
VD : rm test.txt
Lệnh touch : Tạo file rỗng
# touch file1
Lệnh mv : di chuyển file
# mv file1 file2
Lệnh cp : Copy file
VD : # cp file1 /tm1
5./ File liên kết tượng trưng và liên kết cứng
Tập liên kết là một khái niệm thường gây nhầm lẫn trong hệ thống tập tin
nhưng thực ra nó đơn giản. một cách đơn giản nhất, một liên kết tạo một tên tập
tin thứ hai cho một tập tin. Có hai loại tập tin liên kết, liên kết cứng (hard link) và
liên kết biểu tượng (symbolique link).
Huỳnh Tấn Phước
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
14
• Liên kết cứng
Liên kết cứng không thực sự là một kiểu tập tin mà đúng hơn là một tên khác
của tập tin được đặt tại một vị trí khác trong hệ thống tập tin. Mỗi tập tin có ít
nhất là một liên kết cứng, thường là tên mà nó được tạo ra ban đầu. Khi tạo ra
liên kết mới, tập tin được đặt một tên alias mới. Liên kết và tập tin gốc của nó là
hai điểm i-node cùng trỏ đến một nội dung vật lý (do đó có cùng số i-node). Dưới
UNIX một liên kết và tập tin mà nó trỏ được coi là một.
Ví dụ ta tạo một tập tin liên kết của tập tin /usr/nvviet/testfile bằng lệnh sau :
$ ln /usr/nviet/testfile /usr/toandv/testfile
Khuôn dạng của lệnh này luôn là tên tập tin hiện tại rồi đến tên tập tin liên kết.
Khi đó để biết số i-node của 2 tập tin, ta dùng
$ ls – i /usr/nvviet/testfile /usr/toandv/testfile
14253 /usr/nviet/testfile 14263 /usr/toandv/testfile
Cả hai tập tin /usr/nvviet/testfile, /usr/toandv/testfile cùng trỏ đến một nội dung
vật lý chung, vì vậy mọi thay đổi bởi nvviet hoặc toandv đều phản ánh ngay lập
tức trên thư mục kia (việc này tránh cho chúng ta phải thường xuyên sao lại các
tập tin này). Cả nvviet và toandv có thể thay đổi tập tin, miễn là không thay đổi
cùng một lúc.
Một vấn đề là quyền truy nhập tập tin và sở hữu tập tin như thế nào. Nếu nvviet
là người chủ tập tin và là người duy nhất có quyền ghi tập tin, anh ta có thể tạo
một móc nối mới cho tập tin của anh ta là /usr/toandv/testfile và đặt quyền sở hữu
của tập tin liên kết mới cho toandv. Theo cách đó cả nvviet và toandv có thể làm
việc trên cùng một tập tin bất chấp các quyền sở hữu và truy nhập vì mỗi tập tin
có một người sở hữu riêng. Nếu được đặt đúng, quyền sở hữu và quyền truy nhập
có thể chống người khác đọc và ghi lên tập tin.
Việc xóa một tên tập tin liên kết không xóa mất tập tin vật lý tương ứng, tập tin
vật lý chỉ bị xóa khi nào không còn một liên kết nào đến nó nữa.
• Liên kết biểu tượng
Huỳnh Tấn Phước
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
15
Liên kết biểu tượng là một kiểu liên kết khác không dùng điểm i-node cho
liên kết, nó chỉ đơn giản là một tập tin chứa tên của tập tin mà nó liên kết đến.
khi UNIX mở hoặc đi theo một liên kết biểu tượng, nó sẽ đi thẳng tới tập tin mà
liên kết biểu tượng trỏ đến hơn là bản thân liên kết này. Điểm khác nhau cơ bản
giữa liên kết cứng là một tham chiếu trực tiếp còn liên kết biểu tượng là một
tham chiếu bằng tên.
Ta đã sử dụng các liên kết này khi tạo các trình điều khiển thiết bị ngoại vi như
/dev/modem hay /dev/cual. Lựa chọn –s của lệnh ln cho phép tạo liên kết biểu
tượng. Ví dụ có tập tin bigfile, ta tạo một liên kết biểu tượng của nó, tập tin
anotherfile.
$’ls –i bigfile
6253 bigfile
$ ln –s bigfile anotherfile
$ ls – i bigfile anotherfile
6253 bigfile 8358 anotherfile
như vậy thấy các số i-node của các tập tin là khác nhau điều này là đương nhiên
vì 2 tập tin là hoàn toàn khác nhau, chúng trỏ đến 2 nội dung vật lý khác nhau.
Khi liệt kê tập tin, các liên kết biểu tượng được biểu diễn bằng mũi tên.
Lrwxrwxrwx 1 root root 6 sep 16:35 anotherfile -> bigfile
-rw-rw-r-- 1 root root 2 sep 17:23 bigfile
quyền của tập tin liên kết biểu tượng luôn được đặt là lrwxrwxrwx. Quyền truy
nhập tập tin liên kết biểu tượng được xác định bởi quyền truy nhập và sở hữu của
tập tin mà nó liên kết đến (ở đây là bigfile)
điểm khác biệt giữa liên kết cứng và liên kết biểu tượng không chỉ là các điểm
nhập i-node trong bảng i-node. Ta có thể tạo một liên kết biểu tượng đến một tập
tin chưa tồn tại, điều này không thể làm được với liên kết cứng. Ta có thể đi theo
các liên kết biểu tượng để tìm ra tập tin mà chúng trỏ tới nhưng hầu như không
thể làm được với liên kết cứng. Hạt nhân Linux xử lý hai kiểu tập tin này cũng
khác nhau.
Huỳnh Tấn Phước
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
16
6./ Tạo và xóa user
a./ Tạo username
Trong Linux khi thêm một user vào, tập tin mật khẩu sẽ được lưu trong
thư mục /etc/passwd theo dạng sau :
Logname:encrpt_passwd:userID:groupID:userInfo:login_directory:login_shell
Trong đó :
Logname : Tên dùng khi đăng nhập.
Encrpt_passwd : Mật khẩu để nhận dạng user; đây là biện pháp đầu tiên
để ngăn chận việc vi phạm an ninh. Trong trường hợp
này, thông thường mật khẩu được mã hóa.
UserID : Con số đặc trưng mà hệ điều hành dùng để nhận dạng
user (chỉ số user)
GroupID con số hoặc tên đặc trưng dùng để nhận
dạng nhóm sơ cấp cho user. Nếu thuộc về nhiều nhóm,
một user có thể chuyền qua lại các nhóm khác khi được
quản trị viên cho phép. (chỉ số nhóm).
UserInfo : Thông tin về user, chẳng hạn như tên họ hoặc chức vụ.
Login_directory : Home directory của user, nơi user được chỉ định hoạt
động sau khi đăng nhập.
Login_shell :Shell được user dùng sau khi đăng nhập (ví dụ /bin/bash
user dùng shell bash.
Ví dụ
[root@web etc]#cat/etc/passwd
nlbinh:45b9d:500:231:NLBinh:/home/nlbinh:/bin/bash
ntbang:c8067:510:231:NTBang:/home/ntbang:/bin/bash
- Lệnh adduser hoặc useradd :
Lệnh adduser hoặc useradd sẽ thêm user vào hệ thống
Cú pháp :
Huỳnh Tấn Phước
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
17
[root@mail /boot] # adduser
usage: adduser [-u uid [-o]] [-g group] [-G group….]
[-d home] [-s shell] [-c comment] [-m [-k template]]
[-f inactive] [-e expire] [-p passwd] [-n] [-r] name
adduser -D [-g group] [-b base] [-s shell]
[-f inactive] [-e expire]
trong đó :
Logname name
UserID uid ( nên để tự động)
GroupID group (có thể dùng tên của nhóm hay dùng gid)
UserInfo comment (cần đóng ngoặc đơn hoặc kép cho các
thông tin sẽ điền)
Login_directory home
Login_shell shell
Ví dụ
[root@mail /boot] # adduser –u 401 –g mail –c “Tam thoi ma thoi” tamthoi
[root@mail /boot] #
[root@mail /boot] # adduser –g mail –c ‘Tam thoi ma thoi’ tamthoi2
- Thiết lập mật khẩu cho user
Dùng lệnh passwd để thiết lập mật khẩu ban đầu cho user. Sau đó từng user sẽ
thay mật khẩu theo ý mình khi họ đã vào hệ thống. Sau đây là các bước căn bản
để sử dụng lệnh passwd:
1. Gõ lệnh và tên đăng nhập (ví dụ passwd phuoc)
2. Tại dấu nhắc New password:, gõ mật khẩu vào.
3. Khi máy nhắc gõ mật khẩu lần nữa, bạn làm theo:
New password (again): mật khẩu mới
Mật khẩu được mã hóa và cất vào tập tin /etc/passwd
Mật khẩu phải đáp ứng hai điều kiện: Có ít nhất sáu ký tự (nên có tám ký
tự); Có cả chữ thường và chữ hoa cùng với các dấu phân cách và chữ số.
Huỳnh Tấn Phước
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
18
b./ Xóa một user
Ta thể gỡ bỏ một user theo nhiều cấp độ khác nhau. Việc gỡ bỏ một user ra khỏi
hệ thống không phải là động tác “một đi không trở lại”. Sau đây là một vài tùy
chọn:
Chỉ gỡ bỏ khả năng đăng nhập. Điều này có ích khi một user nào đó phải đi xa
một thời gian và sau đó sẽ trở lại của hệ thống. Thư mục, tập tin, và thông tin về
nhóm của user đó được giữ nguyên. Quản trị viên chỉ phải chỉnh sửa tập tin mật
khẩu và gõ dấu hoa thị (*) vào trường thứ hai của mục ghi user như sau:
Jschmoe:*:123:21:Joseph A.Shmoe:/users/ Jschmoe:/bin/bash
Cách làm này không còn thực hiện được khi hệ thống có sử dụng công cụ
shadow.
Gỡ bỏ user khỏi tập tin mật khẩu nhưng vẫn giữ tập tin của user trên hệ thống.
Hình thức này có ích khi các user khác muốn sử dụng những tập tin ấy, hoặc có
ai đó sẽ nhận nhiệm vụ thay cho user cũ. Quản trị viên xóa mục ghi của user cũ
khỏi tập tin mật khẩu. Bạn thực hệin bằng bộ sọan thảo hoặc bằng lệnh:
Userdel tên_đăng nhập.
Sau đó bạn thay đổi quyền sở hữu và vị trí tập tin của user vừa bị gỡ bỏ bằng
lệnh chown và mv.
Gỡ bỏ user ra khỏi tập tin mật khẩu và gỡ bỏ tất cả tập tin thuộc sở hữu của user
ấy. đây là hình thức cao nhất và đầy đủ nhất để xóa bỏ một user. Quản trị viên
xóa mục ghi của user ở tập tin mật khẩu và huỷ luôn tất cả các tập tin của user ấy
trong toàn hệ thống theo lệnh find như sau:
Find home-directory-của-user-exec rm {}\;
Ta cũng có thể dùng lệnh userdel với tham số -r như sau:
Userdel – r tên_đăngnhập
c./ Làm việc với nhóm
Mỗi user là thành viên một nhóm. Tùy theo tính chất của mỗi nhóm, quản trị viên
sẽ chỉ định nhóm ấy có khả năng gì hoặc những ưu tiên nào. Ví dụ có nhóm
chuyên về việc phân tích kinh doanh số của công ty ,quản trị viên sẽ cho quyền
Huỳnh Tấn Phước
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
19
nhóm này truy cập phạm vi tập tin rộng lớn so với một nhóm khác chỉ chuyên về
tìm toi sản phẩm mới.
Tập tin mật khẩu chứa thông tin của một user. Trong khi đó thông tin của cả
nhóm được chứa tại tập tin /etc/group. Sau đây là ví dụ một mục ghi:
Sales::21:tuser, jschmoe, staplr
Ở ví dụ này, tên nhóm là sales, số lý lịch nhóm là 21, và các thành viên là tuser,
jschmoe, và staplr. Các thư mục và tập tin có phần permission gắn liền với sở
hữu chủ, nhóm và các yếu tố khác. Một user có thể là thành viên của nhiều nhóm
khác nhau, và quản trị viên có thể thay đổi tư cách nhóm của user.
- Thêm vào một nhóm
Bạn có thể tạo ra một nhóm mới bằng cách chỉnh sửa trực tiếp trong tập tin
/etc/group và đưa thông tin của nhóm ấy vào.
Trong tập tin /etc/group, mỗi nhóm đều có số lý lịch riêng. Linux chỉ quan tâm
đến con số này chứ không quan tâm đến tên nhóm. Do đó nếu bạn cấp cho hai
nhóm cùng một số lý lịch, Linux sẽ xem đây là một, chứ không phải là hai nhóm.
- Xóa bỏ một nhóm
Muốn xóa bỏ nhóm, bạn xóa đi mục ghi tương ứng trong tập tin /etc/group. Kế
tiếp bạn phải chuyển tất cả các tập tin với GID tương ứng sang cho một nhóm
khác. Bạn dùng lệnh find như sau:
Find / -gid lý-lịch-nhóm find home – directory – của – các – user – exec chgrp
nhóm-mới {} \ ;
Bạn cũng có thể dùng nhóm lệnh về nhóm: groupdel, groupmod và groupadd
để xử lý các thao tác trên.
Huỳnh Tấn Phước
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
20
CHƯƠNG 3 : CÁC LỆNH VÀ TIỆN ÍCH CỦA LINUX
1. Nhóm lệnh hệ thống
- Bao gồm một số lệnh như sau:
DOS LINUX MỤC ĐÍCH
dir ls (hoặc dir) Liệt kê nội dung thư mục và tập tin
copy cp Sao chép tập tin
md mkdir Tạo thư mục
rd rmdir Xóa thư mục (thư mục phải rỗng)
attrib chmod Đổi thuộc tính tập tin và thư mục
type cat Xem nội dụng tập tin
mem free-t Xem bộ nhớ đang xử dụng
edit vi Soạn thảo tập tin
b. Nhóm lệnh quản lý tài khoản đăng nhập
- Bao gồm một số lệnh như sau:
Lệnh Chức năng
useradd Thêm tài khoản người dùng mới
Huỳnh Tấn Phước
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
21
userdel Xóa tài khoản người dùng
groupadd Tạo nhớm mới
groupdel Xóa nhóm người dùng
chgrp Thay đổi nhóm tài khoản
chown Thay đổi quyền sở hữu file và thư mục
chmod Thay đổi quyền cho file và thư mục
c. Sử dụng tài liệu hướng dẫn man
- Tài liệu hướng dẫn man sẽ đưa ra những trợ giúp cần thiết về thông tin dòng
lệnh cũng như chức năng các tập tin cấu hình hệ thống.
- Sử dụng lệnh man bằng cách: #man
Trong đó session là phân đoạn chức năng được HĐH chia ra với nhiều chủ
đề khác nhau, session có thể không có vẫn được (mặc định sẽ tìm từ khoá trong
phân đoạn 1)
Session Tên để mục Chức năng
1 User command Các lệnh thông thường của HĐH
2 System call Các hàm kernel của hệ thống
3 Subroutines Các hàm thư viện
4 Devices Các hàm truy xuất và xử lý file thiết bị
5 File Format Các hàm định dạng file
6 Games Các lệnh liên quan đến trò chơi
7 Miscell Các hàm thuộc nhóm xứ lý khác
8 Sys. Admin Các lệnh quản trị hệ thống
d./ Một số ví dụ về các lệnh với các ký tự đặc biệt : *, ?, |, >, >>
- Ví dụ 1 : Sao chep file1.txt , file2.txt vào thư mục tm1 ta dùng lệnh như sau :
$ cp file1.txt file2.txt /tm1
Nếu dùng ký tư đại diện thì làm như sau :
$ cp *.txt /tm1
Huỳnh Tấn Phước
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
22
- Ví dụ 2 :
$ ls –al | more : liệt kê toàn bộ danh sách file và thư mục trên đĩa ra màn hình
, nếu danh sách quá dài , ls sẽ chuyển dữ liệu kết xuất cho lệnh more xử lý
hiền thị kết quả thành từng trang màng hình.
- Để gửi kết quả vào một tập tin ta dùng “ >”
Ví dụ 3 : ls –l /bin > taptin1 : liệt kê danh sách thư mục bin sau đó đưa vào
taptin1
- Để gửi kết quả vào cuối một tập tin ta dùng “>>”
Ví dụ 4 : ls –l /bin >> taptin1 : liệt kê danh sách thư mục bin sau đó đưa vào
cuối taptin1
CHƯƠNG 4 : SOẠN THẢO VI
1./ Giới thiệu trình soạn thảo file Vi
Vi dùng để nhập văn bản, chỉnh sửa hoặc xoá văn bản. Ngoài ra nó còn
tìm kiến , thay thế, cắt, ghép, và dán từng khối văn bản. Bộ soạn thảo vi không
phải là phần mềm xử lý văn bản, cũng không là ứng dụng chế bản văn phòng, do
đó sẽ không có trình đơn (menu) và cũng không có các tiện ích trợ giúp.
Bộ soạn thảo vi chạy ở hai chế độ khác nhau.
• Ở chế độ câu lệnh, những gì ta gõ vào sẽ được hiểu như là câu ra lệnh cho
vi. Lệnh sẽ bảo vi lưu tập tin, thoát khỏi vi, chuyển con trỏ đến các vị trí
khác nhau trong tập tin, chỉnh sửa, sắp xếp, xoá bỏ, thay thế và tìm kiếm
đoạn văn bản.
• Ở chế độ nhập liệu hoặc còn gọi là nhập văn bản (chế độ INSERT), những
gì ta gõ vào được máy hiểu là nội dung của tập tin mà ta đang chỉnh sửa.
Theo chế độ này, vi hành động như là chiếc máy đánh chữ đơn thuần.
2./ Sử dụng vi
Huỳnh Tấn Phước
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
23
- Ta chỉ cần gõ vi tại dấu nhắc shell tại dòng lệnh để kích hoạt vi. Muốn tạo ra
hoặc chỉnh sửa một tập tin vào đó, phải gõ lệnh vi ứng với tên tập tin. Chẳng hạn
muốn tạo tập tin abc với vi, ta gõ vi abc.
Khi vi được kích hoạt, màn hình terminal sẽ tự xoá trống, đồng thời một dấu
sóng (~) sẽ xuất hiện ở phía bên trái mỗi đầu dòng, trừ dòng đầu tiên hay những
dòng đã soạn thảo. Dấu sóng báo hiệu dòng trống của vùng đệm. Con trỏ nằm
phía ngoài cùng bên trái của dòng đầu tiên.
- Tạo tập tin vi đầu tiên
làm lại bằng cách bám , sau đó gõ: q!.
1. Đầu tiên gõ vi để kích hoạt chương trình vi. Bạn sẽ thấy một màn hình đầy
những dấu sóng ở phía trái.
2. Bạn vào chế độ nhập liệu để viết ký tự ở dòng đầu tiên. Bấm phím , và
đừng bấm . Bạn không nhìn thấy ký tự a, nhưng bạn cứ tiếp tục nhập
liệu.
3. Hãy nhập vài dòng văn bản vào vùng đệm bằng cách gõ vào vị trí sau đây:
How are you?
a. Practive vi.
b. Sort sales data and print
Nếu gõ sai, bạn sử dụng phím lùi (backspace) để sửa chữa trên dòng hiện hành.
Những đoạn khác của chương này sẽ chỉ bạn vài cách khác để chỉnh sửa.
4. Bấm để chuyển sang chế độ lệnh. Còn nếu đang ở chế độ lệnh rồi mà
còn bấm , máy sẽ bíp lên một tiếng để báo bạn biết.
5. Lưu những gì trong vùng đệm vào thông tin mang tên test (tên tập tin này chỉ
để làm ví dụ). Muốn thế bạn gõ.
: w test
Những ký tự w. test không được xuất hiện trong nội dung văn bản mà phải hiện
diện ở dòng cuối màn hình (dòng trạng thái). Lệnh :w sẽ ghi nội dung vùng đệm
vào tập tin test.
Huỳnh Tấn Phước
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
24
6. Nhìn dòng trạng thái ở cuối màn hình xem hành động của bạn đã được xác
nhận chưa, nếu có bạn sẽ thấy:
test [New file] 3 line, 78 characters
Câu khai báo này xác nhận rằng tập tin mang tên test đã được tạo xong, đó là một
tập tin mới tạo, chứa ba dòng gồm 78 ký tự.
7. Gõ :q để thoát khỏi vi.
Khi gõ :q, bạn vẫn đang ở chế độ lệnh và sẽ trông thấy :q tại dòng trạng thái. Tuy
nhiên khi bấm vi sẽ chấm dứt hoạt động và bạn trở về dấu nhắc đăng nhập
của shell.
3./ Những điều cần nhớ về vi
-Vi khởi động ở chế độ lệnh.
-Từ chế độ lệnh chuyển sang chế độ nhập liệu bằng cách bấm (để thêm ký tự
vào) hoặc (để chèn ký tự vào).
-Chế độ nhập liệu cho phép bạn viết vào văn bản.
-Chế độ lệnh cho phép bạn ra lệnh
-Bạn ra lệnh cho vi để lưu tập tin, và chỉ có thể thoát ra khỏi vi một khi bạn đã ở
chế độ lệnh.
-Từ chế độ nhập muốn chuyển sang chế độ lệnh, bạn bấm .
4./ Tóm tắt về lệnh vi
Phím lệnh Mô tả
Chèn ký tự trước con trỏ
Nhập ký tự tại đầu dòng
Chèn ký tự sau con trỏ
Nhập ký tự tại cuối dòng
Mở một dòng dưới con trỏ
Mở một dòng trên con trỏ
Xoá từ
Xoá trọn dòng
Xoá đến cuối dòng
Huỳnh Tấn Phước
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
25
Xoá ký tự phía con trỏ
Thay từ
Thay dòng
Thay cho đến cuối dòng
Thay từ phía dưới con trỏ.
Hợp tác dòng lại
Di chuyển đến cuối từ
Di chuyển đến từ kế tiếp
Di chuyển đến cuối dòng
Di chuyển về phía phải một khoảng trống
Di chuyển lên trên một dòng
Di chuyển xuống dưới một dòng
Di chuyển về phía trái một khoảng trống
Chuyển con trỏ cho đến ký tự x xuất hiện lần đầu tiên
Chuyển con trỏ cho đên tự tự x xuất hiện lần cuối cùng
Lập lại lệnh f/F vừa rồi.
số Chuyển con trỏ đến số cột chỉ định
Chuyển con trỏ đến dòng đầu tiên của màn hình
Chuyển con trỏ đến dòng cuối cùng của màn hình
Chuyển con trỏ đến dòng ở giữa màn hình
Chuyển con trỏ đến dòng cuối của tập tin
số Chuyển con trỏ đến dòng chỉ định bởi số (giống như : số )
Di chuyển đến đầu dòng
x Đánh dấu vị trí hiện hành bằng ký tự x
Cuộn tới nửa màn hình
Cuộn lui nửa màn hình
Cuộn tới một màn hình
Cuộn lui một màn hình
Vẽ lại màn hình
Huỳnh Tấn Phước
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
26
Hiển thị tên tập tin, dòng hiện hành và số cột.
Vẽ lại màn hình với dòng hiện hành ở giữa màn hình
Kéo nguyên dòng vào dùng đệm
Dán nội dung vùng đệm vào phía dưới con trỏ
Dán nộu dung vùng đệm vào phía trên con trỏ
x”[số]” Kéo một số dòng vào vùng đệm mang tên x
x Dán nội dung vùng đệm x phía sau con trỏ
:w [tập tin] Ghi nôi dung vào đĩa như là tập tin
:q Thoát khỏi vi
:wq Lưu các thay đổi và thoát khỏi vi
:r tập tin Chép tập tin đã chỉ định vào trình soạn thảo
:e tập tin Chỉnh sửa tập tin
: ! lệnh Thi hành lệnh shell được chỉ định
: số Di chuyển đến số dòng được chỉ định
:f In dòng hiện hành và tên tập tin (giống như
/chuỗi tìm về phía tr ước đến khi gặp chuỗi
? chuỗi Tìm về phía sau đến khi gặp chuỗi.
:x.ys/ chuỗi cũ/ Thay chuỗi cũ bằng chuỗi mới từ dòng x đến dòng y
chuỗi mới
Hoàn tác lệnh sau cùng
Tìm lần hiện diện kế tiếp của chuỗi
. Lặp lại lệnh sau cùng
~ Đổi ký tự từ chữ sang chữ thường và ngược lại.
Chuyển sang chế độ hiện hành
Huỳnh Tấn Phước
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
27
CHƯƠNG 5 : LẬP TRÌNH VỚI SHELL
Lập trình shell là một công cụ đắc lực cho các người quản trị hệ thống .
Khả năng viết các chương trình ngắn nhưng lại thực hiện được các công việc tốn
thời gian được người quản trị coi là mạnh hơn hẳn các công cụ khác . Phần này
sẽ nói về một số khái niệm cơ bản nhưng hữu ích cho công việc quản trị hằng
ngày.
1./ Sử dụng biến
- Thông thường, biến không cần phải khai báo trước khi sử dụng à biến sẽ tự
động tạo và khai báo khi lần đầu tiên tên biến xuất hiện (biến lúc này chứa giá trị
kiểu chuỗi)
- Như bản thân của HĐH, biến cũng phân biệt chữ HOA / thường. Ví dụ: như
biến foo, Foo, FOO là ba biến khác nhau
- Để lấy nội dung của tên biến (trong script của shell) à sử dụng dấu “$”
- Ví dụ:
#xinchao=Hello
#echo $xinchao
Kq: Hello
Huỳnh Tấn Phước
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
28
#xinchao=“I am here”
#echo $xinchao
KQ: I am here
-Sử dụng lệnh read để đọc giá trị nhập liệu do người dùng nhập vào (như hàm
readln() trong ngôn ngữ Pascal hoặc scanf() trong ngôn ngữ C++)
- Ví dụ:
#read yourname
Nguyen Van An
#echo $yourname
Kq: Nguyen Van An
#read yourname
Nguyen Van Ba
#echo “Hello” $yourname
Kq: Hello Nguyen Van Ba
2./ Các câu lệnh
a./ câu lệnh điều kiện if
- Khả năng kiểm tra điều kiện và đưa ra quyết định rẽ nhánh thích hợp tùy theo
điều kiện luận lý đúng hay sai là nền tảng cơ bản của tất cả các ngôn ngữ lập
trình
if [ -f hello.c ]
then
…
fi
- Chức năng: Kiểm tra điều kiện đúng hay sai để thực thi biểu thức thích hợp.
Đây là lệnh được sử dụng nhiều nhất trong các code chương trình (dù đó là
chương trình lớn hay nhỏ) .
Huỳnh Tấn Phước
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
29
if
then
else
fi
b./. Lệnh for
- Chức năng: Để thực hiện việc lặp lại một số lần công việc với các giá trị xác
định.
- Cấu trúc:
for in
do
done
c./ Lệnh while
- Chức năng: Có chức năng như lệnh for nhưng nhằm đáp ứng được việc lặp
trong một tập hợp lớn hoặc số lần lặp không biết trước.
- Cấu trúc:
while do
done
d./ Lệnh until
- Chức năng: Có chức năng như lệnh while nhưng điều kiện bị đảo ngược lại.
Vòng lặp sẽ bị dừng nếu điều kiện kiểm tra là đúng
- Cấu trúc:
until
do
Huỳnh Tấn Phước
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
30
done
e./ Lệnh case
- Chức năng: Có chức năng là cho phép ta so khớp nội dung của biến với một
mẫu chuỗi (pattern) nào đó. Khi một mẫu được so khớp thì
tương ứng sẽ được thực hiện.
- Cấu trúc:
case in
mẫu chuỗi [ | mẫu chuỗi] ...) ;;
mẫu chuỗi [ | mẫu chuỗi] ...) ;;
...
esac
3./ Hàm (Function)
- Shell cho phép ta tự tạo lập các hàm hay thủ tục để triệu gọi bên trong Script
- Ta có thể gọi các script con khác bên trong script chính F tuy nhiên việc này
thường làm tiêu tốn tài nguyên và không hiệu quả bằng triệu gọi hàm
- Cấu trúc:
tên hàm() {
. . .
}
Huỳnh Tấn Phước
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
31
CHƯƠNG 6: INTERNET
1./ FTP :
FTP (File Transfer Protocal) là giao thức trong họ TCP/IP được sử dụng để
chuyển các tập tin giữa các máy chạy trên giao thức TCP/IP . FTP cho phép
chuyển đi và nhận về cũng như quản lý thư mục.
- Muốn sử dụng FTP cả 2 máy ở 2 đầu nối kết phải chạy chương trình có
dịch vụ FTP.
- Cách vận hành : FTP sử dụng hai kênh
1 TCP cổng 20 dành cho dữ liệu
2 cổng 21 dành cho lệnh
Hệ thống Linux phải được sử dụng 2 cổng này để FTP hoạt động .
FTP sử dụng một daemon của máy phục vụ hoạt động liên tục và 1 chương
trình tách biệt chạy trên máy khách. Trong hệ Linux , daemon của máy phục
vụ gọi là ftpd và chương trình trên máy khách là ftp .
- Trình tự được FTP thực hiện khi thiết lập nối kết là :
1 Đăng nhập –kiểm tra số nhận diện người dùng và mật mã
2 Xác định thư mục - tìm ra thư mục mở đầu
Huỳnh Tấn Phước
------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------
32
3 Xác định chế độ chuyển giao tập tin – xác định loại chuyển giao
4 Bắt đầu chuyển dữ liệu-cho phép người dùng nhập lệnh vào
5 Chấm dứt chuyển dữ liệu- ngưng kêt nối.
2./ TELNET
Telnet giúp đăng nhập vào máy phục vụ từ xa và thao tác trên máy đó. Nếu
máy phục vụ có CPU mạnh , ta có thề xài CPU đó thay cho bộ xử lý yếu trên
máy mình .
Cách sử dụng Telnet
Ở dấu nhắc lệnh nhập lệnh telnet cùng với tên máy tính, hay địa chỉ từ xa muốn
đăng nhập, Sau đó nhập password nếu có.
telnet : kết nối từ xa vào các máy server
ví dụ : telnet 172.29.9.17 25
Các file đính kèm theo tài liệu này:
- Linux căn bản.pdf