QTSC-ITA
HỆ ĐIỀU HÀNH
UNIX/LINUX
Giảng viên : VÕ HỒNG MINH
Bằng cấp : Sun Solaris System Administrator
Linux Professional Institute ( LPI )
QTSC-ITA
CHƯƠNG 1 :
HỆ ĐIỀU HÀNH
UNIX/LINUX
QTSC-ITA
Dẫn nhập
Dẫn nhập
Các họ UNIX phổ biến ở Việt Nam : SCO UNIX, Sun
Solaris, HP UX, IBM AIX, MAC OS9, OSX, …
Các tính chất chung :
Tính đa nhiệm ( multitasking )
Tính đa dụng ( multiuser )
Tính mở
So sánh UNIX và Windows
QTSC-ITA
Dẫn nhập
Dẫn nhập
Phiên làm việc đầu tiên:
o
Terminal hay PC có cài HĐH Unix/Linux và một tài khoản
( account )
o
Đăng nhập ( login )
o
Những loại người dùng : superuser (root), user thường
o
Mật khẩu : phân biệt chữ hoa, thuờng; được mã hóa
QTSC-ITA
Giao diện người sử dụng
Giao diện người sử dụng
Dòng lệnh (command line) : thường dùng bởi
root để thao tác nhanh.
Giao diện đồ họa : trực quan, dể nhớ, là giao
diện ưa thích của người dùng thường.
QTSC-ITA
Giao tiếp qua dòng lệnh (1)
Giao tiếp qua dòng lệnh (1)
Shell : giao tiếp giữa người sử dụng và HĐH
Các loại shell : Bourne (sh) , Korn (ksh), C (csh), Bourne
Again Shell (bash), tcsh, …
Dấu nhắc shell (dấu nhắc đợi lệnh)
# khi ta là root (uperuser), ở bất kỳ shell nào
% dấu nhắc khi chạy C shell
$ dấu nhắc khi chạy Bourne shell hoặc Korn shell
> dấu nhắc khi chạy tcsh shell
QTSC-ITA
Giao tiếp qua dòng lệnh (2)
Giao tiếp qua dòng lệnh (2)
Nhận diện máy UNIX đang dùng : tên, phiên bản, tên
máy, kiến trúc bộ vi xử lý, …
$ uname –a
Sun Solaris 2.26 Lan_Anh Sun UltraSparc
Nên dùng shell nào ? – bash (Bourne Again Shell)
Nhận diện shell đang làm việc : lệnh echo
$ echo $SHELL hoặc % echo $shell
/bin/sh /bin/csh
QTSC-ITA
Giao tiếp qua dòng lệnh (3)
Giao tiếp qua dòng lệnh (3)
Thay đổi shell làm việc :
o
Thay đổi vĩnh viễn : dùng lệnh passwd
$ passwd –s
Changing login shell for Lan_Anh on Linux
Old shell: /bin/sh
New shell: /bin/bash
o
Thay đổi tạm thời (chuyển tạm thời qua shell khác ) :
$ bash
[nam@localhost nam] $ exit ( hoặc ^D, tức Ctrl-D )
$
QTSC-ITA
Giao diện đồ họa
Giao diện đồ họa
Có tên gọi khác nhau tùy thuộc HĐH:
o
Solaris : CDE (Common Desktop Environment)
o
Linux : X Window, phổ biến là KDE, GNOME
X Window bao gồm : hệ thống cung cấp dịch vụ cửa sổ,
thư viện đồ họa , …
Nguyên lý hoạt động : theo mô hình client/server với X
Server và X Client
QTSC-ITA
Tệp trong UNIX/Linux
Tệp trong UNIX/Linux
Thông tin trong chứa trong tệp : chuỗi các byte không có
cấu trúc.
Các kiểu tệp :
o
Bình thường : tệp văn bản, dữ liệu nhị phân, …
o
Thư mục : chứa các tệp có một mối liên hệ nào đó
o
Đặc biệt : có quan hệ trực tiếp với thiết bị ngoại vi
Lưu ý: lệnh file cho phép xác định kiểu của một file nào đó.
QTSC-ITA
Tệp trong UNIX/Linux
Tệp trong UNIX/Linux
Quy ước đặt tên cho tệp :
o
Dài tối đa 255 ký tự
o
Phân biệt chữ hoa và chữ thường : taptin khác với Taptin
o
Tránh dùng các ký tự đặc biệt : *, ?, -, SPACE, …
QTSC-ITA
Các thao tác cơ bản trên tệp (1)
Các thao tác cơ bản trên tệp (1)
Sao chép tệp : lệnh cp
cp taptin1 taptin2
cp –i taptin1 taptin2
Di chuyển tệp : lệnh mv:
mv taptin /tmp/
Đổi tên tệp : lệnh mv
mv ten_cu ten_moi
mv ten_cu /tmp/ten_moi
QTSC-ITA
Các thao tác cơ bản trên tệp (2)
Các thao tác cơ bản trên tệp (2)
Tạo liên kết đến tệp : lệnh ln
ln taptin1 lien_ket_den_taptin1
Xóa bỏ tệp : lệnh rm:
rm taptin1 /tmp/taptin2
Liệt kê các tệp trong thư mục : lệnh ls
ls
ls -a
ls /tmp/
QTSC-ITA
Các thao tác cơ bản trên tệp (3)
Các thao tác cơ bản trên tệp (3)
So sánh nội dung tệp : cmp, comm, diff, diff3
o
Lệnh cmp :nếu 2 tệp giống nhau thì không hiển thị gì cả
$ cmp taptin1 taptin2
taptin1 taptin2 differ: character 11, line 2
o
Lệnh comm:
$ comm taptin1 taptin2
AAAAAA
BBBBBB
BBBXYZ
CCCCCC
QTSC-ITA
Các thao tác cơ bản trên tệp (4)
Các thao tác cơ bản trên tệp (4)
So sánh nội dung tệp : cmp, comn, diff, diff3
o
Lệnh diff
$ diff taptin1 taptin2
o
Lệnh diff3
$ diff3 taptin1 taptin2 taptin3
QTSC-ITA
Các lệnh biên tập
Các lệnh biên tập
Các lệnh biên tập đơn giản : cat, head, tail
Lệnh cat : xem toàn bộ nội dung tệp văn bản
$ cat taptin1
$ cat –n taptin1
Lệnh head : xem 10 dòng đầu của tệp văn bản
$ head taptin1 hoặc $ head -20 taptin1
Lệnh tail : xem 10 dòng cuối của tệp văn bản
$ tail taptin1 hoặc $ tail -20 taptin1
$ tail +100 taptin1
QTSC-ITA
Các lệnh biên tập
Các lệnh biên tập
Các lệnh biên tập với quản lý màn hình :
Lệnh pg :
Lệnh more :
QTSC-ITA
THỰC HÀNH
QTSC-ITA
Cách sinh tên tệp
Cách sinh tên tệp
Các siêu ký tự (wildcards) : là những ký tự có ý nghĩa đặc biệt đối
với shell : ? , *, [ ], -, !
o
Dấu “?” : thay thế cho 1 ký tự bất kỳ.
$ ls fi?e
file fine fire
o
Dấu “*” : thay thế cho 0 hoặc nhiều ký tự bất kỳ
$ ls abc*xyz
abcxyz abcdefxyz abcdefghigjk0123456789xyz
QTSC-ITA
Cách sinh tên tệp
Cách sinh tên tệp
Các siêu ký tự (wildcards) :
o
Cặp “[“ và “]”: chọn 1 ký tự nằm trong “[“ và “]”
$ ls sa[cnN]h
sach sanh saNh
o
Dấu “-”, “!” : thường đi với “[ ]”, “-”mô tả một dãy ký tự, ký
số liên tục; “!” có ý nghĩa phủ định.
$ ls sa[b-m] tương đương $ ls sa[bcdefijklm]
sadsai sam sak
$ ls sa[!b-m]
QTSC-ITA
Cách sinh tên tệp
Cách sinh tên tệp
Trung hòa các siêu ký tự : cần xóa tệp có tên
taptin* :
o
Dùng dấu chéo ngược “\” :
$ rm taptin\* ( KHÔNG dùng $rm
taptin* )
o
Dùng dấu nháy đơn :
$ rm ‘taptin*’ ( KHÔNG dùng $rm
taptin* )
QTSC-ITA
Quản trị luồng dữ liệu
Quản trị luồng dữ liệu
Thiết bị nhập/xuất chuẩn : stdin, stdout, stderr.
Chỉnh hướng các luồng dữ liệu:
o
Chỉnh hướng ra : dùng dấu “>” hoặc “>>”
o
Chỉnh hướng vào : dùng dấu “<“
o
Chỉnh hướng thông báo lỗi : dùng “2>”
Các ống nối (“|”) : ví dụ
$ ls –l | more
QTSC-ITA
Nội dung và kích thước tệp
Nội dung và kích thước tệp
Đếm số dòng, số từ, số ký tự : lệnh wc
$ wc thongbao
10 120 540
Nén tệp (cho ra tệp .z) : $ pack thongbao
Giải nén tệp : $ pack thongbao.z
Chia nhỏ tệp : chia tệp_to thành tệp_bé_aa,
tệp_bé_ab, …, tệp_bé_zz với số dòng mặc định là
trong mỗi tệp là 1000
$ split -200 tep_to tep_be_
QTSC-ITA
Các bộ lọc riêng -
Các bộ lọc riêng -
fgrep
fgrep
Lệnh fgrep : hiển thị các dòng chứa “chuỗi” trong “tệp”. “chuỗi” là
tập ký tự, bao gồm các ký tự đặc biệt, được đặt trong cặp dấu nháy đơn
hoặc kép.
$ fgrep [tùy_chọn] chuỗi tệp
Các tùy chọn :
o
-n đánh số các dòng kết quả theo tệp gốc
o
-v kết quả là những dòng không chứa “chuỗi”
o
-i không phân biệt chữ hoa, chữ thường
QTSC-ITA
Các bộ lọc riêng -
Các bộ lọc riêng -
fgrep
fgrep
Ví dụ :
$ grep ‘^abc’ test
$ grep –n ‘abc$’ test
$ grep –v ‘abc$’ test
$ grep –i ‘abc$*\’ test