1. Trang chủ
  2. » Giáo Dục - Đào Tạo

bài giảng mã nguồn mở

89 266 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 89
Dung lượng 16,51 MB
File đính kèm Bai giang MNM.rar (3 MB)

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

 Những người sử dụng không có mã nguồnthường không thể thay đổi được chươngtrình để làm cái họ muốn hay chuyển sangmột loại máy tính khác 11 Phần mềm nguồn mở  Ý tưởng cơ bản đằng sau

Trang 1

Nội dung chương trình học

Trang 2

thì cần phải tuân theo nguyên tắc nào.

Khái niệm về phần mềm

các chương trình bằng việc viết text,

Trang 3

 Thay đổi chương trình thông thường yêucầu quyền sở hữu và sự cho phép để thayđổi mã nguồn

 Bất kỳ ai màkiểm soátmã nguồn hợp phápthì họ có thể được làm và không làm cái gì

 Những người sử dụng không có mã nguồnthường không thể thay đổi được chươngtrình để làm cái họ muốn hay chuyển sangmột loại máy tính khác

11

Phần mềm nguồn mở

 Ý tưởng cơ bản đằng sau nguồn mở rất đơn

giản: Các lập trình viên có thể đọc, phân

phối lại, và điều chỉnh mã nguồn một phần

của phần mềm, hay gọi là phần mềm tiến

hóahayphẩn mềm mở

 Mọi người cải thiện, điều chỉnh, sửa lỗi nó.

 Quá trình tiến hóa nhanhtức là sản xuất ra

phần mềm tốt hơn so với mô hình phần

mềm “đóng” truyền thống, mà chỉ một ít

lập trình viên có thể nhìn thấy mã nguồn,

mọi người khác thì chỉ biết sử dụng

 Tổ chức Open Source Initiative sáng lập

nhằm thực hiện mục tiêu trên

12

OSS/FS

theo các điều kiện khác nhau

đầu tiên

Trang 4

Khái niệm PMNM

Các chương trình OSS/FS là những chương

trình mà quy trình cấp phép sẽ cho người

dùng quyền tự do chạy chương trình theo bất

kỳ mục đích nào, quyền nghiên cứu và sửa

đổi chương trình, quyền sao chép và tái phát

được phát triển, nhiều người sớm sử dụng các hệ thống này như là các chuyên gia về công nghệ.

Phần mềm miễn phí nhằm mục đích bảo vệ

1 Quyền tự do chạy một chương trình với bất kỳ mục đích nào

2 Quyền tự do nghiên cứu cách thức vận hành của một chương trình và thích ứng nó cho phù hợp với nhu cầu của mình.

3 Quyền tự do phân phát các phiên bản của phần mềm để giúp đỡ những người xung quanh

4 Quyền tự do thêm mới các chức năng cho một chương

Trang 5

Học thuyết FSF

sử dụng có tất cả tự do Việc tự do để làm

những thứ có nghĩa là bạn không phải hỏi hay

trả tiền để được cho phép Có tự do để làm

những sự cải tiến và sử dụng riêng tư trong

công việc riêng mình hoặc chơi, thậm chí

xuất bản những cái thay đổi, bạn không cần

phải thông báo bất cứ ai nói riêng, hay trong

bất kỳ trường hợp đặc biệt nào

mại

 Một chương trình free phải có sẵn cho sử dụng, triển

khai và phân phối thương mại.

biệt là lợi ích thực tiễn của phương

19

Học thuyết OSI

 Open Source không chỉ có nghĩa là truy cập

vào source code

 Các điều khoản phân phối phần mềm

nguồn mở phải tuân theo các tiêu trí sau:

20

1 Free Redistribution – Miễn phí phân phối lại

bất kỳ ai từ việc bán hoặc cho theo các cách khác nhau phần mềm

phải có trả tiền hoặc các chi phí khác.

Trang 6

2 Source code

phải cho phép phân phối source code cũng như

các hình thức biên soạn

Trong trường hợp một số sản phẩm không

được phân phối với mã nguồn, thì phải công bố

trên các phương tiện đại chúng hoặc download

từ Internet mà không có phí

hợp lập trình viên sẽ chỉnh sửa chương trình

tiền sử lý hoặc dịch là không cho phép

22

3 Derived Works – Các sản phẩm dẫn xuất

sung và các sản phẩm dẫn xuất phải cho phép họ được phân phối theo cùng một điều khoản như giấy phép

của phần mềm gốc.

4 Integrity of The Author's Source Code –

Sự toàn vẹn Source code của tác giả

được phân phối dưới hình thức sửa đổi chỉ

khi cấp giấy phép cho phép phân phối "các

miếng vá" với mã nguồn cho mục đích của

việc sửa đổi chương trình tại thời điểm xây

dựng

phần mềm được xây dựng từ sửa đổi mã

nguồn

xuất mang một tên khác hay phiên bản khác từ

5 No Discrimination Against Persons or Groups - Không phân biệt đối xử với cá nhân hoặc nhóm

xử đối với bất kỳ người nào hoặc nhóm người

Trang 7

6 No Discrimination Against Fields of Endeavor

– Chống lại phân biệt sự cố gắng của các thành

 Trong thương mại

 Trong nghiên cứu di truyền

mà không cần thực hiện thêm một giấy phép giữa các bên.

27

8 License Must Not Be Specific to a Product

-Giấy phép không được cụ thể cho một sản phẩm

trình không phải phụ thuộc vào một

phần bản phân phối đặc biệt.

Nếu chương trình được trích xuất từ

bản phân phối đó và được sử dụng

hoặc được phân phối trong các điều

khoản của các chương trình cấp phép,

tất cả các bên tham gia vào chương trình

phân phối nên có cùng quyền lợi như

những người được cấp cùng với bản gốc

 Ví dụ, giấy phép không được đòi rằng tất

cả các chương trình khác được phân phốitrên cùng môi trường phải là phần mềm

mã nguồn mở

Trang 8

10 License Must Be Technology-Neutral –

Giấy phép phải trung lập về công nghệ

xác định dựa theo bất kỳ công nghệ

nào hoặc theo kiểu giao diện nào

30

dựng PMNM

1 Giảm sự trùng lặp nguồn lực

2 Tiếp thu kế thừa

3 Quản lý chất lượng tốt hơn

4 Giảm chi phí duy trì

Lịch sử của PMNM

Các cột mốc đáng nhớ

1984: Richard Stallman sáng lập dự án GNU (GNU Not Unix)

1991: Linus Tovards viết thành công lõi Linux

1997: GNU/Linux chiếm 25% thị trường máy chủ

1998: Netscape công bố mã nguồn Navigator

Thuật ngữ “Nguồn mở” ra đời

Thành lập Sáng kiến nguồn mở OSI

5 Giảm phụ thuộc vào nhập khẩu

6 Phát triển năng lực ngành CNPM địa phương

7 Giảm tình trạng vi phạm bản quyền

Trang 9

1 BIND (máy chủ tên miền DNS)

2 Apache (máy chủ Web)

3 Sendmail (máy chủ thư điện tử)

4 OpenSSH(Công cụ quản trị bảo mật mạng)

5 Open Office (bộ ứng dụng văn phòng)

3 Nguồn mở và miễn phí

4 Phù hợp cho mục đích sử dụng làm máy chủtrong môi trường Internet

Trang 10

Các loại giấy phép PMNM

Giấp phép đại chúng GNU (General Public

License)

 Người phổ biến một chương trình đã được cấp phép

đại chúng phải đồng thời phổ biến luôn cả mã nguồn

cho người nhận

 Nếu người phổ biến chương trình đã thực hiện một

sửa đổi gì đó cho phần mềm thì những sửa đổi đó

cũng phải được cấp phép theo chế độ giấy phép đại

chúng

 Người phổ biến chương trình không áp dụng với

người nhận bất cứ hạn chế nào không thuộc phạm vi

giấy phép đại chúng

 Người nhận một phần mềm đã cấp phép đại chúng

sẽ được trao y nguyên mọi quyền như người phổ biến

gốc, tức là quyền sao chép, chỉnh sửa và phổ biến

phần mềm

38

Các loại giấy phép PMNM (tt)

Giấp phép BSD (Berkeley System Distribution)

 Ghi nhận công lao của tác giả đầu tiên làm

ra phần mềm bằng cách đưa vào file mãnguồn các thông tin bản quyền gốc, và

 Người phát hành ban đầu sẽ không chịutrách nhiệm trước pháp luật về bất cứ thiệthại nào phát sinh do sử dụng những phầnmềm nguồn mở đã được chỉnh sửa

Các loại giấy phép PMNM (tt)

Giấp phép đại chúng

Giấp phép BSD

Phải phổ biến mã nguồn người

Mã nguồn tạo mới phải được cấp

Các giấy phép PMNM khác

 Academic Free License

 Adaptive Public License

 Apache Software License

 Apache License, 2.0

 Apple Public Source License

 Artistic license

 Attribution Assurance Licenses

 New BSD license

 Computer Associates Trusted

 Open Source License 1.1

 Common Development and

 Distribution License

 Common Public License 1.0

 EU DataGrid Software License

 Eclipse Public License

 Educational Community License

 Eiffel Forum License

 Eiffel Forum License V2.0

 Entessa Public License

 Fair License

 Frameworx License

 GNU General Public License

 (GPL)

 GNU Library or "Lesser"

 General Public License (LGPL)

Trang 11

Các giấy phép PMNM khác

 IBM Public License

 Intel Open Source License

 Jabber Open Source License

 Lucent Public License

 Naumen Public License

 Nethack General Public License

 Nokia Open Source License

 OCLC Research Public License

 Qt Public License (QPL)

 RealNetworks Public Source

License V1.0

 Reciprocal Public License

 Ricoh Source Code Public License

 Sleepycat License

 Sun Industry Standards Source License (SISSL)

 Sun Public License

 Sybase Open Watcom Public

License 1.0

 University of Illinois/NCSA Open Source License

 Vovida Software License v

1.0 W3C License

 wxWindows Library License

công ở các nuớc tiên tiến nhu Anh,

Đức, Pháp, Hà lan v.v

mềm mã Mở lần thứ IV một lần nữa

khẳng định vai trò quan trọng của Mã

nguồn Mở trong chiến luợc phát triển

CNTT của nuớc ta

 Sử dụng các sản phẩm mã Mở trong các

cơ quan nhà nuớc, đưa Mã nguồn Mở vào

trung tâm đào tạo CNTT

44

Mốc son của LTV mã Mở

hàng loạt các bài viết về Mã nguồn

Trang 12

Cơ hội và thách thức PMNM

đào tạo bài bản, chuyên nghiệp là rất

Trang 13

• Giữa năm 1960, AT&T Bell Laboratories và một số trung tâm

khác  Multics (Multiplexed Information and Computing

Service)  Không khả thi

• Ken Thompson, Dennis Ritchie … thuộc Bell Labs đã không

bỏ cuộc Thay vì xây dựng một HĐH làm nhiều việc một lúc như

Multics, họ quyết định phát triển một HĐH đơn giản chỉ làm tốt

một việc là chạy chương trình (run program)

• Peter Neumann đặt tên cho HĐH “đơn giản” này là Unix

• Khoảng 1977 bản quyền của UNIX được giải phóng và HDH

UNIX trở thành một thương phẩm.

• Hai dòng UNIX : System V của AT&T , Novell và Berkeley

Software Distribution (BSD) của Đại học Berkeley.

Phần II - Khai thác PMNM 4

Các phiên bản chính UNIX

Trang 14

Phần II - Khai thác PMNM 5

Các phiên bản chính UNIX

 Hai nhánh chính UNIX: một nhánh từ AT&T và một

nhánh từ AT&T thông qua University of California tại

Berkeley.

Các nhánh chính ngày nay là AIX từ IBM, HP-UX từ HP

và Solaris từ Sun.

Một định nghĩa UNIX: Open Group, nhóm sở hữu

thương hiệu Unix đã định nghĩa Unix là tất cả các hệ

điều hành được cấp chứng chỉ nhờ phù hợp với Single

Unix Specification (SUS)

Một định nghĩa rộng đối với Unix bao gồm cả các hệ

điều hành giống Unix – đôi khi được gọi là Unix "nhái"

hoặc trông giống – mà đã copy các ý tưởng từ Unix

nhưng không trực tiếp cộng tác mã từ Unix Một phân

phối trong đó là Linux.

Phần II - Khai thác PMNM 6

Giới thiệu lịch sử phát triển của Linux

IEEE đã thiết lập chuẩn "An Industry-Recognized

Operating Systems Interface Standard based on the UNIX Operating System." Kết quả cho ra đời POSIX.1

(cho giao diện C ) và POSIX.2 (cho hệ thống lệnh trên Unix)

• Linux là một HDH dạng UNIX (Unix-like Operating System) chạy trên PC với CPU Intel 80386 trở lên, hay các bộ vi xử lý trung tâm tương thích AMD, Cyrix

Linux ngày nay còn có thể chạy trên các máy Macintosh hoặc SUN Sparc Linux thỏa mãn chuẩn POSIX.1

•Năm 1991 Linus Torvaldsbắt đầu xem xét Minix, một

phiên bản của Unixvới mục đích nghiên cứu cách tạo ra

một hệ điều hành Unix chạy trên máy PC với bộ vi xử lý

Intel 80386

•Ngày 25/8/1991, Linus cho ra version 0.01 và thông báo

trên comp.os.minix của Internet về dự định của mình về

Linux

•1/1992, Linus cho ra version 0.12 với shell và C

compiler Linus không cần Minix nữa để recompile HDH

Lịch sử phát triển của Linux Lịch sử phát triển của Linux

Quá trình phát triển của Linux được tăng tốc bởi sự giúp đỡ của chương trình GNU (GNU’s Not Unix), đó là chương trình phát triển các Unix có khả năng chạy trên nhiều platform.

Đến cuối 2001, phiên bản mới nhất của Linux kernel là 2.4.2-2, có khả năng điều khiển các máy đa bộ vi xử lý và rất nhiều các tính năng khác.

Trang 15

Phần II - Khai thác PMNM 9

Vấn đề bản quyền của GNU Project

 Các chương trình tuân theo GNU Copyleft or

GPL (General Public License) có bản quyền

như sau :

 1 Tác giả vẫn là sở hữu của chương trình

của mình

 2 Ai cũng được quyền bán copy của

chương trình với giá bất kỳ mà không phải

trả cho tác giả ban đầu

 3 Người sở hữu chương trình tạo điều kiện

cho người khác sao chép chương trình

nguồn để phát triển tiếp chương trình

Phần II - Khai thác PMNM 10

Tại sao lại sử dụng Linux ?

 Linux là miễn phí (free).

 Linux rất ổn định Trái với suy nghĩ “của rẻ

là của ôi“, Linux từ những phiên bản đầu tiên cách đây 5-6 năm đã rất ổn định Ngay cả server Linux phục vụ những mạng lớn (hàng trăm máy trạm) cũng hoạt động rất ổn định

 Linux đầy đủ Tất cả những gì bạn thấy ở IBM, SCO, Sun … đều có ở Linux C compiler, perl interpeter, shell , TCP/IP, proxy, firewall, tài liệu hướng dẫn đều rất đầy đủ và có chất lượng Hệ thống các chương trình tiện ích cũng rất đầy đủ

Phần II - Khai thác PMNM 11

Tại sao lại sử dụng Linux ?

 Linux rất mềm dẻo trong cấu hình Linux cho

người sử dụng cấu hình rất linh động, ví dụ như độ

phân dải màn hình Xwindow tùy ý, dễ dàng sửa

đổi ngay cả kernel …Linux chạy trên nhiều máy

khác nhau từ PC 386, 486 tự lắp cho đến SUN

Sparc.

 Linux được trợ giúp Tài liệu giới thiệu Linux

ngày càng nhiều, không thua kém bất cứ một HDH

nào khác

 Linux là HDH hoàn toàn 32-bit Như các Unix

khác, ngay từ đầu, Linux đã là một HDH 32 bits

Hiện nay đã có những phiên bản Linux 64 bits

chạy trên máy Alpha Digital hay Ultra Sparc.

Phần II - Khai thác PMNM 12

Các phiên bản của Linux.

Các phiên bản của HDH Linux được xác định bởi hệ thống số dạng X.YY.ZZ Nếu YY

là số chẵn => phiên bản ổn định YY là số lẻ =>

phiên bản thử nghiệm

biết là RedHat, Debian, SUSE, Slakware, Caldera …

(Linux kernel) với phiên bản của các phân phối (ví dụ RedHat 9.0 với kernel Linux 2.4.5-15).

Trang 16

Phần II - Khai thác PMNM 13

Linux

 Máy chủ web Apache là đóng vai trò quan trọng trong quá trình phát triển WWW mà chúng ta biết ngày nay.

 Apache là web server số một từ năm 1996 đến nay, hiện nay chiếm 62.53% tổng thị trường web server, hơn gấp đôi đối thủ cạnh tranh MS IIS Server (27.17%)

Ưu điểm Apache

Phần mềm cơ sở dữ liệu (MySQL)

phổ biến nhất thế giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng.

Trang 17

Phần II - Khai thác PMNM 17

PHP

 PHP(Personal Home Page) là một ngôn ngữ

lập trình kịch bản hay một loại mã lệnh chủ

yếu được dùng để phát triển các ứng dụng

viết cho máy chủ, mã nguồn mở

 Ưu điểm

 Hiệu năng cao

 Giao tiếp nhiều CSDL

 Có sẵn nhiều thư viện hỗ trợ Web

Cài đặt và cấu hình XAMPP

Địa chỉ Internet như yahoo.com … không

có chức năng gì nếu không có DNS(Domain Name System)

 Chúng làm nhiêm vụ chuyển đổi các tên

dễ nhớ thành các địa chỉ số và ngược lại

 Berkeley Internet Name Domain (BIND)chiếm 95% của tất cả các DNS Server

 BIND là một chương trình FOSS với giấyphép BSD

Trang 18

Phần II - Khai thác PMNM 21

(Sendmail)

 Internet không thể thiếu email

 Chức năng Email Server: phân phát

người email người sử dụng tới các đích

 Email Server làm rất nhiều nhiệm vụ

phức tạp hơn bất kỳ hệ thống nào như

forward mail, gửi lại, loại bỏ mail, điều

hướng

 Sendmail chiếm 42% thị trường mail

server, MS Exchange 18%, Unix qmail

17%

Phần II - Khai thác PMNM 22

(OpenSSH)

 Một người dùng kết nối vào một máy chủ từ

xa, an ninh là một mối quan tâm lớn

 Giao thức SSH(Secure Shell) cho phépngười quản trị hệ thống điều khiển server

từ xa, an toàn trong việc chặn và giải mãcác thông tin truyền đi

 OpenSSH là một FOSS theo giao thức SSH,chỉ chiếm 5% thị trường năm 2000, nhưngT4, 2002 chiếm 66.8%

phát triển mạnh, thì các ứng dụng cho máytính để bàn tương đối mới Open Office dựatrên source code của Star Office trước đây sởhữu, là một FOSS với các tính năng tươngđương MS Office

Trang 19

Email: doanduybinh@gmail.com , ddbinh@dce.udn.vn

Phần III – Cài đặt LINUX 1

http

phải quan tâm đến một số vấn đề:

 Loại Linux (type of Linux system) sẽ càiđặt

 Cấu hình phần cứng trên máy

 Các thông số network

Trang 20

 Hầu hết các phiên bản sẽ tự động nhận biết

các thông số hardware hiện có

chỉnh hoặc drivers đối với các thiết bị riêng

chọn cài đặt mới hoặc nâng cấp (upgrade)

 Chọn intall hoặc update

 Phân hoạch đĩa:

 Chúng ta có thể tạo ra các phân vùng (partition) mới

hoặc dùng lại các partition Linux sẵn có

 Có ba loại phân vùng: primary, extended vàlogical

 Có thể có tối đa 4 primary partitions trênđĩa

 Các phân vùng extended được tạo ra đểchứa logical partitions

 Phân vùng chứa /boot phải năm trongkhoảng 1024 cylinder đều tiên đối với một

Trang 21

Swap Space

 Swap space là một partition trên ổ cứng

 Linux sử dụng swap space làm bộ nhớ

ảo (tương tự như pagefile trên windows)

 Cài đặt Linux không có swap space sẽ

làm giảm rõ rệt hiệu năng của hệ thống

 Có thể phân chia nhiều swap space cho

một hệ thống Linux

 Thông số được khuyên dùng: swap = 2

* RAM

File system types

 Linux hỗ trợ khá nhiều định dạng file

system khác nhau:

trở lên, không support journaling

journaling

lý 64 bit, hỗ trợ file có kích thước 8129

petabytes

Trang 22

Qui tắt đặt tên partition

theo thứ tự:

Boot Loader

 Boot Loader là công cụ giúp lựa chọnphiên bản hệ điều hành nào được khởiđộng

 Linux hỗ trợ khá nhiều boot loader khácnhau:

Trang 23

Giới thiệu một số tiện ích

Microsoft Office Với những phiên bản mới nhất, có thể đọc được file của MS Office 2007

Trang 24

Presentation Browser _ Instant Messaging

Trang 25

Phần IV – LỆNH CỦA LINUX 3

Qui ước đặt tên file

 Tối đa 255 kí tự, dùng bất kì ký tự nào, kể cả các ký tự đặc biệt

 File/thư mục ẩn được bắt đầu bằng dấu chấm “.”, ví dụ

“.bash_history”

 Đường dẫn tuyệt đối: bắt đầu bằng “/”

 / /bin /usr /usr/bin

 Đường dẫn tương đối:không bắt đầu bằng “/”

Đường dẫn đặt biệt

 - thư mục cha

 - thư mục đang làm việc

Ví dụ: Nếu người dùng đang ở thư mục /etc, muốn tham chiếu đến

tập tin /etc/vsftp.conf thì đường dẫn tương đối sẽ là ./vsftp.conf

Phần IV – LỆNH CỦA LINUX 4

Trang 26

 Nhiều cờ có thể dùng chung một ký tự “-”, ví dụ: ls –al tương đương ls –a –l

 Một số lệnh đặc biệt, không cần ký tự “-” trước các cờ

 Muốn xem trợ giúp dùng tham số help hoặc man Ví dụ: ls help hoặc man ls Ghi chú: Có khá nhiều loại shell trên Linux, kiểm tra đang dùng loại shell nào:

echo $SHELL Lưu ý cách sử dụng phím <tab> và <tab><tab>

cd /etc cd ~ ( ~: macro tượng trưng cho

home directory của người dùng)

Trang 27

Các cờ của lệnh ls

Phần IV – LỆNH CỦA LINUX 9

Màu sắc của lệnh ls: ls color

Alias: Đặt các tên tắt cho lệnh

Ví dụ: Thêm vào cuối file bashrc

Phần IV – LỆNH CỦA LINUX 10

mkdir,rmdir,touch

$ mkdir –p dir3/dir4

(tham số -p: tạo thư mục cha nếu chưa tồn tại)

$ cp –r dir1 dir2

Phần IV – LỆNH CỦA LINUX 12

Trang 28

 mv – di chuyển/ đổi tên

tham số -r: xóa cả thư mục và tập tin con

 ln – tạo liên kết (link)

 ls –l / > /root/list.txt : liệt kê nội dung thư mục / , kết quả không xuất ra

màn hình mà xuất ra file /root/list.txt Nếu file đã tồn tại sẽ bị ghi đè

 ls –l / >> /root/list.txt: tương tự như trên, nhưng thay vì ghe đè (>) sẽ ghi

tiếp vào phần sau của file (>>)

Redirection

stdin 0 stdout 1 stderr 2

Ví dụ: Thực hiện lệnh ls, các thông báo lỗi sẽ xuất

ra file error.txt

ls –R / 2>/root/error.txt

Trang 29

 Pipe: Kết quả output của một lệnh trước đó -> dữ

liệu input của lệnh sau, sử dụng ký tự |

 Ví dụ: ls –R / | less

 Lệnh more cho phép xem nội dung theo từng trang

 Duyệt màn hình với less

 cat & tac

 head & tail

Lệnh cat & tac

 cat: Xem nội dung file

 Ví dụ: Xem nội dung tập tin /etc/passwd

Lệnh head & tail

 Lệnh head: Xem các dòng đầu của dữ liệu.

Ví dụ:

 Xem 4 dòng đầu tập tin /etc/passwd

head -4 /etc/passwd HOẶC cat /etc/passwd | head -4

 Hoặc xem 4 tập tin / thư mục con đầu tiên trong thư mục /

ls –l / | head -4

 Lệnh tail: Xem các dòng cuối của dữ liệu

Ví dụ:

 Xem 5 dòng cuối của tập tin /etc/passwd

tail -5 /etc/passwd HOẶC cat /etc/passwd | tail -5

Xem nội dung tập tin /etc/passwd từ dòng thứ 4 đến hết:

tail –lines=+4 /etc/passwd hoặc cat /etc/passwd | tail lines=+4

Chú ý:tail có thêm tham số -f để đọc các file động

Phần IV – LỆNH CỦA LINUX 20

Trang 30

join

Syntax join [options] file1 file2tham số: -j1 field1, -j2 field2, -j field

$ join –j 1 file1 file2

$ join –j1 1 file1 file2

$ join –j2 1 file1 file2

Trang 31

tr – translate text

 Syntax tr [options] [[string1 [string2]]

 tham số : –d xóa, -s : thay thế lặp

$ cat file1 | tr a-z A-Z - thường sang hoa

$ cat file1 | tr -s a

-$ tr '[A-B]' '[a-b]'< file.txt – hoa sang thường

$ tr ':' ' ' < /etc/passwd -thay “:” bằng “ “

$ cat file1 | tr -d abc -xóa kí tự abc

[:lower:], [:upper:], [:alnum:]

Chú ý: tr chỉ có 2 đối số

Phần IV – LỆNH CỦA LINUX 25

grep

grep [OPTION] PATTERN [FILE]

-i: Không phân biệt hoa thường-n: Kèm theo số thứ tự dòng khi xuất-r: tìm lặp lại trong thư mục con-v: tìm nghịch đảo

find – tìm kiếm file

find [path] [expression]

trong thư mục /

Phần IV – LỆNH CỦA LINUX 27

Restart và shutdown

init 0 Hoặc shutdown –h now

init 6 Hoặc shutdown –r now

Phần IV – LỆNH CỦA LINUX 28

Trang 32

Nội Dung

 Giới thiệu về shell

 Biến trong shell

 Tạo shell script

 Shell là một chương trình giao tiếp

giữa người sử dụng và hệ thống Linux

 Tham số shell mặc định của một user

thể hiện trong file /etc/passwd

Các file đặc biệt liên quan

user, thực thi đối với login shell (tự động thực

thi khi login vào máy)

user, thực thi đối với login shell

interactive shell không phải là login shell

login shell

Trang 33

Khai báo Biến

trường thực thi (environment)

$ foo=”xin chao”

$ echo $foo

nghĩa

trường (có giá trị trong các shell và process

khác)

Phần V – LẬP TRÌNH SHELL 5

Biến môi trường

HOME thư mục homeSHELL chương trình shell hiện tạiPATH đường dẫn để tìm các file thực thiUSER tên user login

TERM kiểu terminal hiện tạiDISPLAY khai báo hiển thị cho X-WindowPS1 dấu nhắc dòng lệnh

LANG ngôn ngữ hiện tại

Phần V – LẬP TRÌNH SHELL 6

Một số biến đặc biệt

 $0 tên của shell script / chương trình

 $$ PID của shell hiện tại

 $? mã trả về (exit code) của lệnh

foreground ngay trước đó

 $! mã trả về của lệnh background

ngay trước đó

Phần V – LẬP TRÌNH SHELL 7

Shell script

chứa các lệnh (lệnh shell và chương trình)

Phần V – LẬP TRÌNH SHELL 8

Trang 34

 Các biến nội thao tác với tham số vị trí:

$# số tham số được truyền

tại vị trí hiện tại

let “percent = $num / 100”

let “remain = $n % $d”

Trang 35

Biểu thức điều kiện

Phần V – LẬP TRÌNH SHELL 13

Phát biểu IF

if [ exp ]; then statements;

elif [ expr ]; then statements;

else statements;

fi

if [ “$1” = “” ]; then echo “Enter value:”

read num else let “num = $1”

echo “Mot”;;

2) echo “Hai”;;

*) echo “So khac”;;

done echo $sum

Phần V – LẬP TRÌNH SHELL 16

Trang 36

echo “Usage: `basename $0` source dest”

echo exit 1 fi

func_name param1 param2

if [ $k -eq 0 ];then

return 0;

fi done return 1

# hàm main echo -n “Nhap so n:"

Trang 37

declare –a array

 ${array[@]} hoặc ${array[*]}: lấy tất cả phần tử của mảng

expr length $string

Trang 39

Apache: Một open-source Web server và free hoàn

toàn được hỗ trợ bởi Apache Software Foundation,

MySQL:MySQL là một chương trình dùng để quản

lý hệ thống cơ sở dữ liệu (CSDL)

PHP: Ngôn ngữ lập trình

3 Phần VI - Xây dựng và phát triển PMNM

Cách cài đặt LAMP

4 Phần VI - Xây dựng và phát triển PMNM

Trang 40

sudo apt-get install apache2

Terminal sẽ hỏi mật khẩu của bạn, nhập nó vào và

nhấn enter

5 Phần VI - Xây dựng và phát triển PMNM

Cách cài đặt LAMP

 Mở trình duyệt và sau đó nhập địa chỉ web sau đây vào ô địa chỉ:

http://localhost/

 Xuất hiện màn hình sau:

6 Phần VI - Xây dựng và phát triển PMNM

Cách cài đặt LAMP

 Mở lại phần Terminal

 Gõ dòng lệnh sau vào Terminal và nhấn enter:

sudo apt-get install php5 libapache2-mod-php5

 Hợp lệ để PHP làm việc và tương thích với Apache

và chúng ta phải khởi động lại nó Nhập vào câu

lệnh sau trong Terminal để thực hiện điều này:

sudo /etc/init.d/apache2 restart

Cách cài đặt LAMP

 Trong Terminal, gõ dòng lệnh sau rồi nhấn enter:

sudo gedit /var/www/html/testphp.php

Câu lệnh này sẽ mở một file có tên là phptest.php

Gõ dòng lệnh sau vào file phptest:

<?php phpinfo(); ?>

 Lưu và đóng file lại

 Mở trình duyệt web của bạn và nhập vào địa chỉ

Ngày đăng: 11/12/2017, 13:21

TỪ KHÓA LIÊN QUAN

w