Linux căn bản

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.

pdf32 trang | Chia sẻ: tlsuongmuoi | Lượt xem: 2287 | Lượt tải: 0download
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:

  • pdfLinux căn bản.pdf
Tài liệu liên quan