TÌM HIỂU HỆ DIỀU
HÀNH UNIX
XUẤT XỨ, QUÁ TRÌNH TIẾN
HÓA VÀ MỘT SỐ ĐẶC TRƯNG
CỦA HỆ ĐIỀU HÀNH UNIX
1. Quá trình hình thành
UNIX là một hệ điều hành máy tính viết vào những năm 1960 và
1970 do một số nhân viên của công ty AT&T Bell Labs bao gồm
Ken Thompson
Dennis Ritchie
Douglas McIlroy
Ngày nay hệ điều hành Unix
được phân ra thành nhiều nhánh
khác nhau, nhánh của AT&T,
nhánh của một số nhà phân phối
thương mại và nhánh của những
tổ chức phi lợi nhuận
1. Quá trình hình thành
Giữa năm 1969 - 1970, Kenneth
Thompson, Dennis Ritchie và những
người khác của phòng thí nghiệm
AT&T Bell Labs bắt đầu phát triển một
hệ điều hành nhỏ dựa trên PDP-7
Vào khoảng 1972 - 1973, hệ thống
được viết lại bằng ngôn ngữ C và
thông qua quyết định này, Unix đã trở
thành hệ điều hành được sử dụng rộng
rãi nhất có thể chuyển đổi được và
không cần phần cứng ban đầu cho nó
Kenneth Thompson, Dennis Ritchie
Bell Laboratories at Murray Hill, New Jersey
Sau thời điểm đó, lịch sử
Unix bắt đầu trở nên hơi phức
tạp. Cộng đồng các trường đại
học và học viện, đứng đầu là
Berkeley, phát triển một nhánh
khác gọi là Berkeley Software
Distribution (BSD), trong khi
AT&T tiếp tục phát triển Unix
dưới tên gọi là “Hệ thống III” và
sau đó là “Hệ thống V’’
Vào năm 1979, phiên bản thứ 7 của Unix được
phát hành, đó chính là hệ điều hành gốc cho tất cả các
hệ thống Unix có hiện nay.
Sơ đồ phát triển của các hệ điều hành Unix
Bảng liệt kê một số cài đặt UNIX khá phổ biến (thường thấy
có chữ X ở cuối tên gọi của Hệ điều hành):
Tên hệ điều hành Nhà cung cấp Nền phát triển
AIX International Business Machines AT&T System V
A/UX Apple Computer AT&T System V
Dynix Sequent BSD (Berkeley SoftWare Distribution)
HP-UX Hewlett-Packard BSD
Irix Silicon Graphics AT&T System V
Linux Free SoftWare Foundation
NextStep Next BSD
OSF/1 Digital Equipment Corporation BSD
SCO UNIX Santa Cruz Operation AT&T System V
Solaris Sun Microsystems AT&T System V
SunOS Sun Microsystems BSD UNIX
Ultrix Digital Equipment Corporation BSD UNIX
Unicos Cray AT&T System V
UnixWare Novell AT&T System V
XENIX MicroSoft AT&T System III-MS
![]()
I. Tổ chức hệ thống tập tin.
II. Các lệnh và chương trình
III. Các lệnh cơ bản làm việc với thư mục
và tập tin
IV. Các "job" trong C Shell
V. Giới thiệu một số tiện ích quản lý HTTT
NỘI DUNG
I. Tổ chức hệ
thống tập tin
1. Các kiểu tệp
2. Tổ chức các tập tin
3. Đặt tên tập tin
4. So sánh với DOS và Windows
I. Tổ chức hệ thống tập tin
1. Các kiểu tệp
Hệ thống UNIX có 3 kiểu tệp cần phân biệt:
a- Tệp bình thường
là tệp văn bản hoặc tệp lệnh shell hoặc tệp dữ liệu thuần tuý
b- Các tệp thư mục
là một tệp chứa các thông tin về những tệp có quan hệ trực
tiếp với thư mục đó.
Các thư mục thông thường trong hệ thống UNIX:
I. Tổ chức hệ thống tập tin
∗
/: Thư mục gốc
∗
/bin: chứa hầu hết các lệnh của người dùng linux
∗
/boot: chứa các tệp khởi động
∗
/dev: chứa các chương trình điều khiển thiết bị
∗
/etc: chứa các tệp cấu hình hệ thống
∗
/lib: chứa các tệp thư viện nhị phân được chia xẻ bởi nhiều ứng dụng
∗
/sbin: chứa các tệp nhị phân hệ thống được sử dụng bởi root
∗
/home: thư mục chủ của user. Mỗi user có một thư mục chủ nằm trong thư
mục này với tên chính là tên của user
∗
/proc: là hệ thống tệp ảo. Tệp chứa trong thư mục này được chứa trong bộ nhớ
chứ không chứa trên đĩa. Chúng đại diện các chương trình và quá trình đang
hoạt động.
∗
/tmp: chứa các tệp tạm thời được tạo ra khi các ứng dụng hoạt động
∗
/usr: chứa các thư mục con trong đó chứa các chương trình và thông tin cấu
hình quan trọng sử dụng trong hệ thống.
∗
/var: chứa các thư mục con và tệp có kích thước thường xuyên biến động.
I. Tổ chức hệ thống tập tin
c- Các tệp đặc biệt
Ðó là những tệp có quan hệ trực tiếp
với các thiết bị ngoại vi.
I. Tổ chức hệ thống tập tin
2. Tổ chức các tập tin
I. Tổ chức hệ thống tập tin
3. Đặt tên tập tin
- không phân biệt là kiểu tệp gì
- phải tuân theo các quy ước chung như sau:
∗
là một chuỗi các ký tự khả hiện của ASCII.
∗
Các chữ viết hoa được phân biệt khác các chữ viết thường.
∗
Ký tự đầu tiên phải khác những ký tự: + – =
(tránh dùng các ký tự đặc biệt)
∗
Tên tệp UNIX System V dài tối đa 14 ký tự
∗
Tên tệp UNIX BSD dài tối đa 255 ký tự.
I. Tổ chức hệ thống tập tin
4. So sánh với DOS và Windows
Giống:
∗
Lưu trữ dữ liệu theo cấu trúc thư mục cây
∗
Sử dụng dòng lệnh hoặc dùng chuột
∗
X-Window = Windows
Khác biệt
∗
Linux phân biệt chữ hoa chữ thường
∗
Linux thường “im lặng”
∗
Dấu phân cách và đường dẫn thư mục
∗
Đường dẫn tìm kiếm
![]()
II. Các lệnh và chương trình
1. Khái niệm
2. Cú pháp tổng quát của một lệnh
3. Các đường dẫn đến các tệp lệnh
4. Thời gian thực hiện lệnh
II. Các lệnh và chương trình
1.Khái niệm: Lệnh là:
- một tệp nhị phân khả thi hoặc
- một tệp văn bản viết theo cú pháp của shell.
Lệnh ngoại trú là một tệp khả thi có thể tìm ra vị trí bằng lệnh find. Shell
phải tạo ra một tiến trình con để xử lý nó.
Lệnh nội trú (shell buil-in) không tồn tại như một tệp độc lập.
Nó nằm sẵn ngay trong shell và coi như từ khoá của shell, không cần phải
tạo ra một tiến trình con để xử lý nó.
lệnh type: type xxx
- lệnh ngoại trú thì kết qủa hiện thị sẽ là đường dẫn tuyệt đối của nó, ví dụ :
[root@stb225 ~]# type mkdir
mkdir is /bin/mkdir
- lệnh nội trú thì kết qủa là: xxx is shell buil-in
[root@stb225 ~]# type cd
cd is a shell builtin
II. Các lệnh và chương trình
2. Cú pháp tổng quát của một lệnh
Cú pháp dòng lệnh: command [option] argument
Command: Lệnh- một lệnh được viết dưới dạng đơn giản nhất bao
gồm một tên lệnh viết theo sau dấu nhắc Shell
option: tuỳ chọn, thường bắt đầu bằng - hoặc
Có thể có nhiều tuỳ chọn, giữa chúng phải có khoảng trống
argument: tham số lệnh. Có thể viết trước option
- Được gõ vào từ dấu nhắc Shell: Ví dụ: $ cd
-
Phân biệt chữ hoa chữ thường.
-
Help khi dùng lệnh: sử dụng tham số help (ví dụ: $cp -help) hoặc
sử dụng lệnh man <tên tệp> (ví dụ: $man cp).
- Dòng lệnh sau khi nhập vào sẽ được Shell diễn dịch và sau đó sẽ thi
hành theo đúng ý nghĩa của lệnh.
III. Các lệnh cơ bản làm việc với
thư mục và tập tin
1. Các lệnh cơ bản làm việc với thư mục
a. Di chuyển giữa các thư mục: cd (change directory)
b. Hiện thị thư mục hiện thời: pwd (print working directory)
c. Xem nội dung thư mục, file: ls (list)
d. Tạo thư mục: mkdir (make directory)
e. Xóa thưmục: rmdir (remove directory)
2. Các lệnh cơ bản làm việc với tệp bình thường
a. Sao chép thư mục, tệp: cp (copy)
b. Thay đổi tên tệp, thư mục: mv(move)
c. Tạo kết nối cho tệp: ln(link)
d. Xóa bỏ tên tệp: rm(remove)
e. Liệt kê các tên tệp: ls(list)
f. So sánh tên tệp: cmp (compare), comm
g. Tìm kiếm file: find
3. Khái niệm về tiến trình
III1. Các lệnh làm việc với thư mục
a. cd [path]
Để về thư mục home khi ta đang ở bấy kỳ đâu: cd
Về thư mục mẹ: cd
b. pwd – print working directory
c. ls [option] [file]
[option]: -l: Xem chi tiết
-a: Xem tất cả (kể cả các tệp ẩn)
-F: Thêm thông tin mô tả vào sau tên
-R: Xem trong các thư mục con
Các kiểu file thông thường
s: socket
p: ống dẫn (pipe)
l: liên kết mềm
d: thư mục
b: file thiết bị khối
c: file thiết bị ký tự
III1. Các lệnh làm việc với thư mục
d. mkdir [option] Directory
option:
-m, mode=Mod: thiết lập quyền truy cập Mod, như trong
lệnh chmod nhưng không cho quyền rwxrwxrwx
-p, parents: tạo các thư mục theo nhiều cấp.
verbose: hiển thị các thông báo cho mỗi thư mục được tạo.
help: đưa ra trang trợ giúp và thoát.
directory: Tên đặc tả và vị trí của nó trong hệ thống (vị trí
mặc định là thư mục hiện thời).
Ví dụ: mkdir -p /a/b/c/d ->
mkdir a b c d ->
III1. Các lệnh làm việc với thư mục
e. rmdir [option] directory
option:
ignore-fail-on-non-empty: bỏ qua các lỗi nếu xóa thư mục không
rỗng.
-p, parants: xoá thư mục và cả thư mục cha (các thư mục trên path)
verbose: đưa ra thông báo sau khi xóa 1thư mục.
help: hiện thị trang trợ giúp và thoát.
Ví dụ:
rmdir –p /a/b/c/d
rmdir a1 a2 a3 a4