Quá trình hình thànhUNIX 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
Trang 1TÌM HIỂU HỆ DIỀU
HÀNH UNIX
Trang 2XUẤT XỨ, QUÁ TRÌNH TIẾN HÓA VÀ MỘT SỐ ĐẶC TRƯNG
CỦA HỆ ĐIỀU HÀNH UNIX
Trang 31 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
Trang 41 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
Trang 5Bell Laboratories at Murray Hill, New Jersey
Trang 6Sau 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à
Trang 7Sơ đồ phát triển của các hệ điều hành Unix
Trang 8Bả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
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
Trang 10I 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
Trang 11I Tổ chức hệ thống tập tin
Trang 13I 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.
Trang 15I Tổ chức hệ thống tập tin
2 Tổ chức các tập tin
Trang 16I 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ự.
Trang 17∗ 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
Trang 20II 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ó
Trang 21II 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
Trang 22III 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
Trang 23III1 Các lệnh làm việc với thư mục
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ự
Trang 24III1 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 ->
Trang 25III1 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
Trang 26a1.Tạo file: touch, cat
Touch: tạo file mới, cập nhật thời gian truy cập và sửa đổi lần cuối
Cú pháp: touch <file>
cat : lấy thông tin từ đầu vào (bàn phím ) rồi kết xuất ra file hoặc các
nguồn khác (màn hình ),
hay để xem nội dung của một file
Cú pháp:cat > [option] <file>
+ option:
- n đánh số thứ tự dòng,
“>” để tạo file
Kết thúc soạn thảo: gõ Enter và ^D hay gõ ^D 2 lần
Cách này là không cho phép sửa lỗi, phải xóa đến vị trí của lỗi và gõ lại nội dung vừa bị xóa
III2 Các lệnh làm việc với tệp
Trang 27a2.cp – copy, rename file /directory (-R)
cp [option] source destination
+ source, destination: tên thư mục/ tệp nguồn, đích
cp file1 file2… thư mục: sao chép nhiều file vào thư mục
+ Option:
-a, archive: giống như -dpR (tổ hợp ba tham số -d, -p, -R)
-b, backup[=CONTROL] : tạo file lưu cho mỗi file đích nếu như nó đang tồn tại
-d, no-dereference : duy trì các liên kết
-f, force : ghi đè file-dest đang tồn tại không nhắc nhở
-i, interactive : có thông báo trước khi ghi đè
-l, link : chỉ tạo liên kết giữa file-dest từ file-scr không sao chép
-p, preserve : duy trì các thuộc tính của file-scr sang file-dest
Trang 28III2 Các lệnh làm việc với tệp
-r : sao chép toàn bộ
-R : sao chép toàn bộ thư mục
-s, symbolic-link : tạo liên kết tượng trưng thay cho việc sao chép các file
-S, suffix=<hậu-tố> : bỏ qua các hậu tố thông thường (hoặc được chỉ ra)
-u, update :sao chép khi file-src mới hơn file-dest hoặc khi file-dest
chưa có
-v, verbose : đưa ra thông báo về quá trình sao chép
help : hiển thị trang trợ giúp và thoát
Ví dụ:
cp file1 tmp/file2 -> copy, rename file
cp –R dir1 tmp/dir2 -> copy, rename directory
Trang 29III2 Các lệnh làm việc với tệp
b mv – move, rename file/ directory
mv [option] old_name new_name
Hay mv [option] <src> <dest>
+ option
-i: nhắc trước khi move/rename tập tin,thư mục đã có rồi
-f: ghi đè khi move/rename thư mục đích đã có rồi
Ví dụ:
mv tmp1/dir1 tmp2/dir2 -> move, rename
mv tmp1/file* tmp2/ -> move files
Trang 30III2 Các lệnh làm việc với tệp
c ln tệp1 syn_tệp1
Tạo ra liên kết nối cho 1 tệp bình thường
-s: tạo liên kết mềm
d rm [option] file1 file2 file3
-i: yêu cầu ta phải khẳng định việc xoá
-d : xóa thư mục
-r : xóa tất cả file và thư mục
-f : xóa không hỏi lại
Trang 31III2 Các lệnh làm việc với tệp
e ls [option] <file/dir>
+ option:
- a: liệt kê tất cả các file, kể cả file ẩn
-l: thông tin đầy đủ nhất về file và thư mục
-s: chi ra kích thước file, tính theo khối (1 khối = 1024byte)
-f: xác định kiểu file (/= thư mục, *= chương trình kả thi)
-m: liệt kê các file được ngăn cách nhau bởi dấu “,”
-c:liệt kê cột, 2 thư mục gần nhau vào 1 cột
-x:liệt kê cột, 2 dir gần nhau trên 2 dòng đầu của 2 cột gần nhau
-t: liệt kê, sắp xếp theo thứ tự thời gian sửa đổi gần nhất
-r: sắp xếp danh sách theo thứ tự ngược lại
-R: liệt kê lần lượt các thư mục và nội dung các thư mục
+ <file/dir>: không có thì sẽ hiện thị thư mục hiện hành
Có thể sử dụng mô tả nhóm: *,?, [ ] để xác định nhóm cần liệt kê
Trang 32III2 Các lệnh làm việc với tệp
f cmp – so sánh nội dung 2file
cmp [option] file1 file2
cho kết qủa ở vị trí mà 2 tệp bắt đầu khác
Trang 33III2 Các lệnh làm việc với tệp
AAAAAA BBBXYZ CCCCCC
AAAAAA
BBBBBB
CCCCCC
file3 file2
file1
Trang 34III2 Các lệnh làm việc với tệp
g comm – so sánh tệp có sắp xếp tăng dần
comm file1 file2:
comm – file1
-> thay 1 trong 2 tệp bằng những gì gõ ở bàn phím
comm –1 file1 file2
-> sẽ xoá bỏ việc soạn thảo từ cột 1 (2,3)
Trang 35III2 Các lệnh làm việc với tệp
AAAAAA BBBXYZ CCCCCC
AAAAAA
BBBBBB
CCCCCC
file3 file2
file1
Trang 36III2 Các lệnh làm việc với tệp
Ví dụ về lệnh cmp, comm
- Cột 1: chỉ có trong tệp1 mà không có trong tệp2
- Cột 2: chỉ có trong tệp2 mà không có trong tệp1
AAAAAA BBBXYZ CCCCCC
AAAAAA
BBBBBB
CCCCCC
file3 file2
file1
Trang 37III2 Các lệnh làm việc với tệp
h diff: chỉ ra sự khác nhau giữa các tệp
∗ diff file1 file2
Trang 38III2 Các lệnh làm việc với tệp
i find: tìm một hay nhiều file trong thư mục
∗ find đườngdẫn –name tênfile –print
Ex: find /pra -name vd > /pra/kq
∗ find đườngdẫn –inum number –print
Tìm theo tên i-node
∗ find đườngdẫn –user username –print
Tìm theo tên người sử dụng
III3 Khái niệm về tiến trình
là một lệnh đang tiến hành, hay nói rộng hơn là một chương trình user bất kỳ đang tiến hành Trước khi lệnh đang tiến
hành một chương trình được kích hoạt
Trang 39IV Các "job" trong C Shell
1 Khái niệm về "job"
là một thuật ngữ cho phép ta thực hiện một số các thao tác riêng ở C Shell, bằng các lệnh nội trú tương ứng.
2 Danh sách các "job" đang chạy
Ta nhận được danh sách các "job" đang chạy thông qua lệnh: jobs
3 Thay đổi trạng thái các "job"
1- Từ trạng thái thi hành sang trạng thái dừng
nếu đó là một tiến trình mặt trước: ^Z
nếu đó là một tiến trình hậu trường: stop % 4
2- Từ trạng thái dừng sang làm việc trong tiến trình mặt trước: % 17
3- Từ trạng thái dừng sang trạng thái hậu trường: bg % 17
4- Từ trạng thái hậu trường sang trạng thái mặt trước: fg % 14
5- Từ trạng thái mặt trước sang trạng thái hậu trường
Trang 40V Một số tiện ích quản lý HTTT
1 Midnight Conmander (MC)
Trang 41V Một số tiện ích quản lý HTTT
2 Konqueror
Trang 42V Một số tiện ích quản lý HTTT
3 Krusader