Linux Operating System
Linux Operating System
Trình bày: TS NGÔ BÁ HÙNG
Email:
TRƯỜNG ĐẠI HỌC CẦN THƠ
TRƯỜNG ĐẠI HỌC CẦN THƠ
KHOA CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG
KHOA CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG
BỘ MÔN MẠNG MÁY TÍNH & TRUYỀN THÔNG
BỘ MÔN MẠNG MÁY TÍNH & TRUYỀN THÔNG
14/08/2009
Ngô Bá Hùng - />2
Hệ điều hành Linux
Linux Operating System
•
Tổng quan về hệ điều hành Linux
•
Hệ thống tập tin trên Linux
•
Bộ thông dịch lệnh
•
Lập trình shell script
14/08/2009
Ngô Bá Hùng - />3
Hệ điều hành Linux
Linux Operating System
•
Tổng quan về hệ điều hành Linux
•
Hệ thống tập tin trên Linux
•
Bộ thông dịch lệnh
•
Lập trình shell script
14/08/2009
Ngô Bá Hùng - />4
Hệ điều hành Linux
Các thành phần của Linux OS
14/08/2009
Ngô Bá Hùng - />5
Hệ điều hành Linux
Lý do chọn Linux OS (1)
•
Ứng dụng: Nhiều ứng dụng sẵn dùng trên Linux
(miễn phí lẫn thương mại): văn bản, đồ họa, đa
phương tiện, Internet, bảo mật, quản trị, máy chủ …
•
Ngoại vi: Hỗ trợ nhiều chủng loại thiết bị ngoại vi,
hỗ trợ nhanh chóng các thiết bị ngoại vi mới
•
Phần mềm: Tồn tại một lượng lớn các phần mềm
dưới dạng mã nguồn hoặc mã thực thi
•
Nền: Hỗ trợ nhiều kiến trúc máy tính: Intel, Alpha,
MIPS, Motorola, 64bits system, IBM S/390, SMPs
14/08/2009
Ngô Bá Hùng - />6
Hệ điều hành Linux
Lý do chọn Linux OS (2)
•
Bộ giả lập: Cho phép chạy các ứng dụng của các
hệ điều hành khác như MS-DOS, Windows,
Macintosh
•
Máy ảo: Bộ quản lý máy ảo cho phép chạy nhiều
máy ảo với những hệ điều hành khác nhau trên
cùng một máy tính thật (máy chủ)
•
Hệ điều hành chuẩn: Dùng như hệ điều hành
cho những nhà sản xuất phần cứng khác nhau.
•
Đa người dùng & Đa tác vụ
14/08/2009
Ngô Bá Hùng - />7
Hệ điều hành Linux
Lý do chọn Linux OS (3)
•
Tương thích: Hơn 95% mã nguồn được viết bằng C ,
độc lập thiết bị, nên có thể dịch để dùng cho nhiều
loại máy khác nhau: Máy chủ, máy để bàn, di dộng,
•
POSIX (Portable Operating System Interface for
Computer Environments): Cho phép ứng dụng phát
triển trên Linux có thể dùng trên các hệ thống khác
như UNIX
•
Miễn phí, mã nguồn mở & tự do: Tiết kiệm chi
phí, không phụ thuộc nhà phát triển ứng dụng
14/08/2009
Ngô Bá Hùng - />8
Hệ điều hành Linux
Làm việc trên OS Linux
•
Cần có một tài khoản: username/password
•
Đăng nhập vào hệ thống
–
Dưới dạng văn bản : SHELL
–
Dưới dạng đồ họa: GNOME, KDE Desktop
14/08/2009
Ngô Bá Hùng - />9
Hệ điều hành Linux
Linux Operating System
•
Tổng quan về hệ điều hành Linux
•
Hệ thống tập tin trên Linux
•
Bộ thông dịch lệnh
•
Lập trình shell script
14/08/2009
Ngô Bá Hùng - />10
Hệ điều hành Linux
Tập tin
•
Có 3 loại tập tin
–
Tập tin dữ liệu
–
Tập tin là thư mục
–
Tập tin là các thiết bị ngoại vi
14/08/2009
Ngô Bá Hùng - />11
Hệ điều hành Linux
Hệ thống tập tin
•
Theo chuẩn FHS (Filesystem Hierarchy Standard)
–
/ Thư mục gốc
–
/boot Các tập tin tĩnh cần thiết cho tiến trình khởi động
–
/dev Các tập tin thiết bị
–
/etc Các tập tinh cấu hình hệ thống và các ứng dụng
–
/lib Các thư viện chia sẻ và các môdule của hạt nhân
–
/mnt Điểm gắn nối các hệ thống tập tin một cách tạm thời
–
/opt Nơi tích hợp các gói chương trình ứng dụng
–
/sbin Các tập tin thực thi cần thiết cho hệ thống
–
/tmp Nơi chứa các tập tin tạm
–
/usr Hệ phân cấp thứ cấp
–
/var Dữ liệu biến đổi
14/08/2009
Ngô Bá Hùng - />12
Hệ điều hành Linux
Đường dẫn
•
Là một chuỗi các tên thư mục ngăn cách nhau bởi ký tự '
/
/',
kết thúc đường dẫn có thể là tên một tập tin
•
Đường dẫn tuyệt đối: là đường dẫn bắt đầu bằng thư mục
gốc '/';
–
Ví dụ: /home/nbhung/Desktop
•
Thư mục hiện hành: là một vị trí trên cây thư mục
–
Ví dụ: /home/nbhung
•
Đường dẫn tương đối: là đường dẫn được tính bắt đầu từ
thư mục hiện hành
–
Ví dụ: Desktop ; Với thư mục hiện hành là /home/nbhung
14/08/2009
Ngô Bá Hùng - />13
Hệ điều hành Linux
Một số thư mục đặc biệt
•
Thư mục gốc ký hiệu /
•
Thư mục hiện hành ký hiêu là
.
. (một chấm)
•
Thư mục cha ký hiệu
(hai chấm)
•
Thư mục cá nhân (home directory) ký hiệu ~
Lưu ý: Tên phân biệt chữ hoa và chữ thường
14/08/2009
Ngô Bá Hùng - />14
Hệ điều hành Linux
Lệnh trên thư mục
•
Xem thư mục hiện hành: pwd
•
Xem nội dung thư mục ls [dir]
•
Chuyển thư mục: cd newdir
•
Tạo thư mục: mkdir newdir
•
Sao chép thư mục cp -r old-dir new-dir
•
Xóa thư mục rỗng: rmdir a-dir
•
Xóa thư mục: rm -rf a-dir
14/08/2009
Ngô Bá Hùng - />15
Hệ điều hành Linux
Lệnh trên tập tin
•
Sao chép tập tin cp old-file new-file
•
Đổi tên tập tin mv old-name new-name
•
Di chuyển tập tin mv file-name dir-name
•
Tạo liên kết ln -s file-name link-name
•
Tạo/Cập nhật tập tin touch file-name
•
Xóa tập tin rm [-f] file-name
•
Hiển thị nội dung cat file-name
14/08/2009
Ngô Bá Hùng - />16
Hệ điều hành Linux
Tài liệu chi tiết
•
Ngô Bá Hùng - Linux - Các lệnh cơ bản
•
Ngô Bá Hùng - Linux - Hệ thống tập tin
•
FOSS-Wire.com - Unix/Linux Command Reference
[ />•
UNIX Tutorial for Beginners
[ />14/08/2009
Ngô Bá Hùng - />17
Hệ điều hành Linux
Linux Operating System
•
Tổng quan về hệ điều hành Linux
•
Hệ thống tập tin trên Linux
•
Bộ thông dịch lệnh
•
Lập trình shell script
14/08/2009
Ngô Bá Hùng - />18
Hệ điều hành Linux
Bộ thông dịch lệnh SHELL
•
Là một chương trình chạy ở
mức người dùng
•
Thông dịch và thực thi các
lệnh nhận từ thiết bị nhập
chuẩn (bàn phím) hoặc từ
tập tin
•
Chuyển các lệnh người
dùng đến kernel
•
Không thuộc kernel
14/08/2009
Ngô Bá Hùng - />19
Hệ điều hành Linux
Một số shell dưới Linux
Tên Người phát triển Nơi Ghi chú
BASH
( Bourne-
Again SHell )
Brian Fox and
Chet Ramey
Free Software
Foundation
Phổ biến nhất
trên Linux
CSH
(C SHell)
Bill Joy University of California
(For BSD)
Cú pháp gần
ngôn ngữ C
KSH
(Korn SHell)
David Korn AT & T Bell Labs
TCSH Ken Greer Nhiều tính năng
hơn CSH
•
Xem toàn bộ shell của hệ thống: cat /etc/shells
•
Xem shell đang dùng: echo $SHELL
14/08/2009
Ngô Bá Hùng - />20
Hệ điều hành Linux
Sử dụng shell
•
Hai chế độ
–
Tương tác:
•
Thông qua một terminal
•
Người dùng nhập lệnh từ bàn phím
•
Shell thực hiện từng lệnh một
–
Kịch bản (shell script):
•
Một chuỗi lệnh được lưu trong một tập tin văn bản, gọi là
một shell script
•
Yêu cầu shell thực thi tập tin shell script
14/08/2009
Ngô Bá Hùng - />21
Hệ điều hành Linux
Tại sao sử dụng shell script
•
Có thể nhận đầu vào từ người dùng hoặc tập tin và
xuất kết quả ra màn hình
•
Là phương tiện để tạo ra các lệnh riêng của người
dùng
•
Tiết kiệm thời gian vì không phải nhập lại lệnh nhiều
lần
•
Cho phép tự động các thao tác thường nhật
•
Cho phép tự động hóa các tác vụ quản trị hệ thống
14/08/2009
Ngô Bá Hùng - />22
Hệ điều hành Linux
Tạo một shell script
•
Dùng một trình soạn văn bản để biên soạn shell script
•
Gán quyền thực thi cho shell script vừa biên soạn
–
chmod +x shell-script-name
–
Hoặc chmod 755 shell-script-name
•
Thực thi shell script
–
bash shell-script-name
–
./shell-script-name
14/08/2009
Ngô Bá Hùng - />23
Hệ điều hành Linux
Ví dụ
•
Nội dung
#!/bin/bash
# File name: script-1.sh
clear
echo "Hello World !"
$chmod 755 script-1.sh
$./script-1.sh
Hello World !
chmod 755 first
14/08/2009
Ngô Bá Hùng - />24
Hệ điều hành Linux
Biến trong shell
•
Hai loại biến
–
Biến hệ thống:
•
Được tạo và duy trì bởi Linux
•
Tên biến viết hoa
•
Xem toàn bộ biến hệ thống bằng lệnh set
–
Biến định nghĩa bởi người dùng:
•
Được tạo và duy trì bởi người dùng
•
Tên biến viết thường
•
Hiển thị giá trị biến: echo $VAR_NAME
14/08/2009
Ngô Bá Hùng - />25
Hệ điều hành Linux
Một vài biến hệ thống
Tên biến Ý nghĩa
BASH=/bin/bash Tên của shell đang dùng
BASH_VERSION= 4.0.33(1)-release Phiên bản của bash shell
COLUMNS=80 Số cột của màn hình hiển thị
HOME=/home/nbhung Thư mục cá nhân của người dùng
hiện tại
LINES=24 Số dòng của màn hình hiển thị
LOGNAME=nbhung Tên đăng nhập
OSTYPE=Linux Kiểu hệ điều hành
PATH=/usr/bin:/sbin:/bin:/usr/sbin Các thư mục sẽ được tìm đến khi một
chương trình được yêu cầu thực thi
PWD=/home/nbhung/Desktop Thư mục hiện hành
SHELL=/bin/bash Tên của shell đang dùng
USERNAME=nbhung Tên của người dùng hiện tại