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

Nghiên cứu về Hệ điều hành Linux và phân tích, xây dựng bài toán về quản lý thư mục trong hệ thống trên môi trường Linux

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

TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI
KHOA CÔNG NGHỆ THÔNG TIN
------------------------------------------------

KỲ THI KẾT THÚC HỌC PHẦN HỌC KÌ II
NĂM HỌC 2021 - 2022
Đề tài 03: Nghiên cứu về Hệ điều hành Linux và phân tích, xây dựng bài
toán về quản lý thư mục trong hệ thống trên môi trường Linux.

Giảng viên hướng dẫn : Vũ Ngọc Phan
Sinh viên thực hiện

: Nguyễn Cao Tuấn

Mã sinh viên

: 1911060206

Lớp

: DH9C1

Tên học phần

:

Linux và phần mềm mã nguồn mở

Khóa học

:



2019 - 2023

Hà Nội – 2022


MỤC LỤC
CHƯƠNG I: CƠ SỞ LÝ THUYẾT......................................................................................................1
1. Giới thiệu hệ điều hành Linux......................................................................................................1
2. Ưu điểm của Linux.........................................................................................................................2
3. Nhược điểm của Linux...................................................................................................................3
4. Ứng dụng của Linux.......................................................................................................................3
5. Điểm khác biệt giữa Windows và Linux......................................................................................4
6. Ubuntu.............................................................................................................................................6
CHƯƠNG II: XÂY DỰNG BÀI TOÁN..............................................................................................7
1 Giới thiệu về Linux Shell và Shell Script......................................................................................7
1.1: Ví dụ đơn giản về Shell Script sử dụng Bash Shell..............................................................7
1.2 Quản lý thư mục trong Linux..................................................................................................8
1.3 Một số lệnh cơ bản thường dùng vơi folder trong Linux......................................................8
2 Mơ tả bài tốn..................................................................................................................................9
2.1 Tạo thư mục bài tốn quản lý thư mục..................................................................................9
2.2 Chương trình khi khởi chạy..................................................................................................11
2.3 Tạo file trong thư mục............................................................................................................11
2.4 Sửa thư mục............................................................................................................................12
2.5 Xóa thư mục............................................................................................................................12
2.6 Tìm kiếm thư mục..................................................................................................................13
2.7 Sao chép thư mục....................................................................................................................13
2.8 Cấp quyền cho thư mục.........................................................................................................14
KẾT LUẬN...........................................................................................................................................15
TÀI LIỆU THAM KHẢO...................................................................................................................17



CHƯƠNG I: CƠ SỞ LÝ THUYẾT
1. Giới thiệu hệ điều hành Linux
Linux là hệ điều hành mô phỏng Unix, được xây dựng trên phần nhân
(kernel) và các gói phần mềm mã nguồn mở. Linux được công bố dưới bản quyền
của GPL (General Public Licence). Unix ra đời giữa những năm 1960, ban đầu
được phát triển bởi AT&T, sau đó được đăng ký thương mại và phát triển theo
nhiều dòng dưới các tên khác nhau. Năm 1990, xu hướng phát triển phần mềm mã
nguồn mở xuất hiện và được thúc đẩy bởi tổ chức GNU. Một số licence về mã
nguồn mở ra đời ví dụ BSD, GPL. Năm 1991, Linus Torvald viêt thêm phiên bản
nhân v0.01 (kernel) đầu tiên của Linux đưa lên các BBS, nhóm người dùng để mọi
người cùng sử dụng và phát triển. Năm 1996, nhân v1.0 chính thức công bố và
ngày càng nhận được sự quan tâm của người dùng. Năm 1999, phiên bản nhân
v2.2 mang nhiều đặc tính ưu việt và giúp cho linux bắt đầu trở thành đối thủ cạnh
tranh đáng kể của MSwindows trên môi trường server. Năm 2000 phiên bản nhân
v2.4 hỗ trợ nhiều thiết bị mới (đa xử lý tới 32 chip, USB, RAM trên 2GB...) bắt
đầu đặt chân vào thị trường máy chủ cao cấp. Hàng năm thị trường cho Linux tăng
trưởng trên 100%.
Các phiên bản Linux là sản phẩm đóng gói Kernel và các gói phần mềm
miễn phí khác. Các phiên bản này được công bố dưới licence GPL. Một số phiên
bản nổi bật là: Redhat, Caldera, Suse, Debian, TurboLinux, Mandrake. Giống như
Unix, Linux gồm 3 thành phần chính: kernel, shell và cấu trúc file.
Kernel là chương trình nhân, chạy các chương trình và quản lý các thiết bị
phần cứng như đĩa và máy in.
Shell (môi trường) cung cấp giao diện cho người sử dụng, cịn được mơ tả
như một bộ biên dịch. Shell nhận các câu lệnh từ người sử dụng và gửi các câu
1



lệnh đó cho nhân thực hiện. Nhiều shell được phát triển. Linux cung cấp một số
shell như: desktops, windows manager, và mơi trường dịng lệnh. Hiện nay chủ
yếu tồn tại 3 shell: Bourne, Korn và C shell. Bourne được phát triển tại phịng thí
nghiệm Bell, C shell được phát triển cho phiên bản BSD của UNIX, Korn shell là
phiên bản cải tiến của Bourne shell. Những phiên bản hiện nay của Unix, bao gồm
cả Linux, tích hợp cả 3 shell trên.
Cấu trúc file quy định cách lưu trữ các file trên đĩa. File được nhóm trong
các thư mục. Mỗi thư mục có thể chứa file và các thư mục con khác. Một số thư
mục là các thư mục chuẩn do hệ thống sử dụng. Người dùng có thể tạo các file/thư
mục của riêng mình cũng như dịch chuyển các file giữa các thư mục đó. Hơn nữa,
với Linux người dùng có thể thiết lập quyền truy nhập file/thư mục, cho phép hay
hạn chế một người dùng hoặc một nhóm truy nhập file. Các thư mục trong Linux
được tổ chức theo cấu trúc cây, bắt đầu bằng một thư mục gốc (root). Các thư mục
khác được phân nhánh từ thư mục này.
Kernel, shell và cấu trúc file cấu thành nên cấu trúc hệ điều hành. Với những
thành phần trên người dùng có thể chạy chương trình, quản lý file, và tương tác với
hệ thống.
2. Ưu điểm của Linux
Sự độc bá của Windows và Mac OS không ngăn cản được những hệ điều
hành phát triển. Hệ điều hành mã nguồn mở như Linux vẫn phát triển mạnh mẽ.
Ngoài những chức năng thường, Linux còn sở hữu nhiều ưu điểm vượt trội khác.
Chẳng hạn như:
 Khơng tốn nhiều chi phí mua bản quyền: Với hệ điều hành này, bạn khơng
cần phải bỏ phí mua bản quyền mà có thể sử dụng đầy đủ các tính năng. Bao
gồm các ứng dụng văn phịng OpenOffice và LibreOffice.
2


 Tính bảo mật tương đối cao: tất cả những phần mềm độc hại như virus, mã
độc… đều không thể hoạt động trên Linux. Do đó, độ bảo mật của hệ điều

hành rất cao.
 Tính linh hoạt: đặc biệt, người dùng cịn có thể chỉnh sửa hệ điều hành theo
nhu cầu sử dụng của mình. Đây chính cơ hội lý tưởng cho các lập trình viên
cũng như các nhà phát triển
 Có thể hoạt động tốt trên các máy tính cấu hình yếu: khi nâng cấp lên phiên
bản mới, các máy tính có cấu hình yếu vẫn sẽ được nâng cấp và hỗ trợ
thường xuyên – tức chất lượng hoạt động vẫn trơn tru và ổn định.
3. Nhược điểm của Linux
Hệ điều hành Linux vẫn có một vài điểm hạn chế như:

 Số lượng ứng dụng được hỗ trợ trên Linux cịn hạn chế.
 Một số nhà sản xuất khơng phát triển driver hỗ trợ nền tảng Linux.
Nếu trước đó đã quen sử dụng một hệ điều hành khác thì khi chuyển sang Linux,
bạn sẽ mất khơng ít thời gian để làm quen lại với hệ điều hành này.
4. Ứng dụng của Linux
Linux là mối đe dọa lớn với thị trường của Windows và Mac OS. Vì sao?
Linux sở hữu rất nhiều tính năng nổi trội, chẳng hạn như:

 Quản lý và điều phối các tài nguyên của hệ thống.

3


 Giúp người dùng có thể nhìn thấy hầu như mọi dòng code trong Linux. Hỗ
trợ tốt nhất cho việc chỉnh sửa và phát triển hệ điều hành dựa trên nhu cầu
riêng của khách hàng trở.
 Miễn phí mọi tính năng và không cần mua bản quyền.
 Giao diện đa dạng, tính bảo mật cao, thường xuyên được nâng cấp lên phiên
bản mới.
 Đặc biệt, hệ điều hành Linux tương đối nhẹ. Do đó, các máy có cấu hình yếu

vẫn có thể hoạt động ổn định trên hệ điều hành này.
5. Điểm khác biệt giữa Windows và Linux
So sánh với Windows, Linux có những khác biệt nhất định. Với những ai đã
quen với hệ điều hành của Microsoft, chắc hẳn việc chuyển đổi này lúc đầu sẽ
không quá dễ dàng để thực hiện.
Theo đó, những điểm khác biệt có kể đến giữa hai hệ điều hành này là:
 Cấu trúc file: Với Linux, các thư mục như My Documents, ổ đĩa C, ổ đĩa D
sẽ được thay bằng cây dữ liệu. Các ổ đĩa sẽ được đặt vào đó, kể cả thư mục
Home và Desktop.

 Không sử dụng Registry: Registry là một cơ sở dữ liệu chủ cho toàn bộ các
thiết lập nằm trên máy tính với chức năng nắm giữ thông tin ứng dụng, mật
khẩu người dùng, thông tin thiết bị… Tuy nhiên, Linux không sử dụng
registry, mà các dữ liệu được sắp xếp dưới dạng mô đun. Để lưu dữ liệu của
người dùng, Linux lưu thiết lập của mình trên cơ sở chương trình phân cấp
người dùng.

 Trình quản lý gói: Với Linux, các chương trình được cài đặt trong máy
không ở dưới dạng *.exe như Windows mà được tập hợp trong một chương
trình quản lý gói (package manager). Với tính năng đặc biệt này, khi muốn
4


cài đặt một chương trình về máy, người dùng khơng cần phải lên các trình
duyệt web như chrom hay firefox để tải, mà chỉ cần tra trong các kho lưu dữ
liệu của trình quản lý gói, sau đó tải về ngay tại đây.

 Giao diện: Trong quá trình nâng cấp và phát triển, giao diện của Windows
khơng có q nhiều thay đổi. Trong khi với Linux, vì giao diện hồn tồn
tách rời với hệ thống lõi nên người dùng có thể tùy thời đổi giao diện mà

không cần cài lại win.

 Lệnh đầu cuối: Linux là hệ điều hành mở với các dịng code hiển thi cơng
khai được trình bày dưới dạng một hộp đen với các dòng chữ xanh.

 Tài khoản và quyề Users: Linux có 3 loại users: Rugular, Administrator
(root), service. Trong đó: Rugular: là nơi lưu trữ tất cả các file và thư mục.
Administrator (root): được sử dụng khi người dùng muốn cài đặt phần mềm,
thay đổi file hệ thống hoặc thực hiện các tác vụ cần quyền quản trị khác trên
Linux. Service: tăng cường tính bảo mật cho máy tính. Trong khi Windows
có 4 loại users là: Administrator, Standard, Child và Guest.
 Một số thiết lập điều khiến khác: Linux thích hợp dùng để lướt web, chat và
email hơn là sử dụng để chơi game.

5


6. Ubuntu

Ubuntu là một hệ điều hành trên máy tính, và nó được phát triển dựa trên
Linux/Debian GNU. Lần đầu được giới thiệu vào năm 2004, tính đến năm 2007,
Ubuntu đây là phiên bản chiếm 30% số bản tùy biến của Linux được cài đặt trên
máy tính, và cũng là bản tuỳ biến Linux phổ biến nhất. Công ty Canonical đã và
đang chịu trách nhiệm trong việc tài trợ Ubuntu, giúp cho hệ điều hành này có thể
phát triển trong tương lai.

6


CHƯƠNG II: XÂY DỰNG BÀI TOÁN

1 Giới thiệu về Linux Shell và Shell Script
 Kernel: Là một chương trình máy tính là cốt lõi của hệ điều hành máy tính,
với tồn quyền kiểm sốt mọi thứ trong hệ thống. Nó quản lý các tài nguyên
của một hệ thống Linux.
 Shell: Là chương trình người dùng đặc biệt, cung cấp giao diện cho người
dùng sử dụng các dịch vụ hệ điều hành. Shell chấp nhận các lệnh có thể đọc
được từ người dùng và chuyển đổi chúng thành thứ mà kernel có thể hiểu
được. Nó là một trình thơng dịch ngơn ngữ lệnh thực thi các lệnh được đọc
từ các thiết bị đầu cuối vào như keyboard hoặc từ file. Shell được bắt đầu
khi người dùng đăng nhập hoặc khởi động terminal.
 Shell Script: Thường shell sẽ tương tác, có nghĩa là nó sẽ chấp nhận lệnh là
đầu vào từ người dùng và thực thi chúng. Tuy nhiên, đôi khi chúng ta muốn
thực thi một loạt các lệnh, để làm như thế chúng ta sẽ phải gõ tất cả các lệnh
vào Terminal. Điều này sẽ làm cho lệnh của chúng ta dài và gây khó hiểu.
Vì shell cũng có thể nhận các lệnh làm đầu vào từ file, chúng ta có thể viết
các lệnh trong một file và có thể thực thi chúng trong shell, tránh các công
việc lặp đi lặp lại. Các file này được gọi là Shell Script hoặc Shell Programs.
Các Shell script tương tự như batch file trong MS-DOS. Mỗi shell script
được lưu với phần mở rộng tệp .sh.
1.1: Ví dụ đơn giản về Shell Script sử dụng Bash Shell.

Sau đó chạy lênh thực thi:
“bash echo_example.sh”
7


1.2 Quản lý thư mục trong Linux
- Trên linux, các folder được tổ chức thành các mục theo mơ hình phân cấp, tham
chiếu đến folder bằng tên và đường dẫn. các câu lệnh thao tác file cho phép dịch
chuyển, sao cho chép một file hay toàn bộ thư mục cùng với các thư mục con chưa

trong nó…
- Có thể sử dugnj các ký tự, dấu gạch dưới, chữ số, dấu chấm và dấu phảy để đặt
tên file và thư mục. Những ký tự khác như /, ?, *, là ký tự đặc biệt được dành riêng
cho hệ thống nên tên file và thư mục khơng được có những chữ này. Chiều dài của
tên file có thể tới 256 ký tự.
- Trong Linux khơng có khái niệm phần tên mở rộng (extensions) theo kiểu như
của Windows. Do đó có thể đặt tên file tuỳ ý, kể cả tên chứa nhiều dấu chấm.
- Linux phân biệt chữ HOA, chữ thường (case sensitive). Hai file hay folder cùng
tên nhưng khác ký tự in hoa sẽ là khác nhau.
1.3 Một số lệnh cơ bản thường dùng vơi folder trong Linux
o

Để di chuyển đến thư mục khác ta dùng lệnh: “cd dirname”

o

Để xem thư mục hiện bạn đang làm việc thì dùng lệnh: “pwd /home”

o

Lệnh tạo thư mục trong thư mục hiện tại: “mkdir (tên thư mục)”

o

Lệnh xoá thư mục: “rm –r (tên thư mục)”

8


2 Mơ tả bài tốn

Bài tốn quản lý thư mục sẽ bao gồm các chức năng chính như thêm, sửa, xố,
tìm kiếm, sao chép, thêm tất cả quyền cho thư mục và một số chức năng phụ.
2.1 Tạo thư mục bài tốn quản lý thư mục

Xây dựng chương trình Menu chứa tất cả các chức năng của bài toán.

9


Tiến hành cấp quyền chmod +x baitoanquanlythumuc.sh  

10


2.2 Chương trình khi khởi chạy

2.3 Tạo file trong thư mục
Sau khi chạy file bài tập, chọn chức năng số 1 để tiến hành tạo file bất kỳ trong
thư mục “quanlythumuc”. Chúng ta chọn chức năng tạo thư mục mới.

11


2.4 Sửa thư mục

2.5 Xóa thư mục

12



2.6 Tìm kiếm thư mục

2.7 Sao chép thư mục

13


2.8 Cấp quyền cho thư mục

14


KẾT LUẬN
Trong bài báo cáo này, em đã vận dụng những nội dung đã được học trong
bộ môn LINUX và phần mềm mã nguồn mở để xây dựng chương trình quản lý thư
mục và em đã đạt được những kết quả sau.
- Mơ hình hố được bài tốn thực tế, qua đó làm rõ được u cầu của bài
tốn đặt ra.
- Có đầy đủ chức năng(tạo, sửa, xố, tìm kiếm, sao chép, quyền thực thi)
theo yêu cầu của bài toán và các chức năng phụ
Do thời gian bị hạn chế nên bài báo cáo của em vẫn chưa được hoàn chỉnh
và vẫn cịn nhiều thiếu sót, việc phân tích bài toán tương đối đầy đủ nhưng vẫn
chưa lột tả hết được mọi khía cạnh của bài tốn. Các giao diện chương trình vẫn
chưa đạt được tính thân thiện cao.

15


16



TÀI LIỆU THAM KHẢO
[1] Linux – Wikipedia tiếng Việt
[2] Giáo trình Hệ điều hành Unix - Linux - Hà Quang Thụy, Nguyễn Trí Thành
[3] Understanding Open Source and Free Software Licensingstanding
[4] Beginning Ubuntu LinuxOpen S

17


18



×