Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 71 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
71
Dung lượng
4,36 MB
Nội dung
HỆ ĐiỀU HÀNH LINUX
TRẦN THỊ NGỌC MAI
HỆ THỐNG TẬP TIN
1
Hệ thống tập tin
Nội dung:
I
Giới thiệu Terminal và Shell
II
Một số thao tác trên hệ thống tập tin
III
Quyền hạn trên hệ thống tập tin
HĐH Linux
2
Hệ thống tập tin
Nội dung:
I
Giới thiệu Terminal và Shell
I.1. Terminal
I.2. Shell
II
Một số thao tác trên hệ thống tập tin
III
Quyền hạn trên hệ thống tập tin
HĐH Linux
3
I.1. Terminal (1)
Là chương trình dùng để người dùng tương
tác với nhân thông qua tập lệnh của shell
Khởi động Terminal: Applications ->
Accessories -> Terminal
Dấu nhắc lệnh trong Terminal:
#: người dùng root
$: người dùng bình thường
Các thành phần trước dấu nhắc lệnh:
tênngườidùng@tênmáy:đườngdẫnhiệnhành
VD: u01@pc01:~/Kiemtra1$
HĐH Linux
4
I.1. Terminal (2)
Sử dụng Terminal:
Xem trợ giúp lệnh: man tên_lệnh
Dùng phím mũi tên xuống để đọc tài liệu
Nhấn q để thoát
Hiện lại lệnh trước kế trước: mũi tên lên (Ctrl P)
Hiện lại lệnh trước kế sau: mũi tên xuống (Ctrl N)
Thực thi lệnh: Enter
Copy: Ctrl Shift C
Paste: Ctrl Shift V
Dấu ; ngăn cách các câu lệnh => thực hiện tuần tự
HĐH Linux
5
Hệ thống tập tin
Nội dung:
I
Giới thiệu Terminal và Shell
I.1. Terminal
I.2. Shell
II
Một số thao tác trên hệ thống tập tin
III
Quyền hạn trên hệ thống tập tin
HĐH Linux
6
I.2. Shell
Mọi distro đều sử dụng các shell giống nhau
Shell là 1 hệ thống các lệnh để người dùng điều
khiển mọi hoạt động của hệ thống tương tác
với nhân
Các lệnh của shell được đặt trong /bin
Các shell trong Linux:
sh (Bouner): shell của Unix
bash (Bouner Again Shell): ra đời từ dự án
GNU, là shell chính trong Linux
Xem shell đăng dùng: lệnh echo $SHELL
Hủy 1 lệnh đang chạy: Ctrl C
7
HĐH Linux
Hệ thống tập tin
Nội dung:
I
Giới thiệu Terminal và Shell
II
Một số thao tác trên hệ thống tập tin
II.1. Đường dẫn trong hệ thống tập tin
II.2. Một số lệnh cơ bản
II.3. Một số thao tác trên HTTT
III
Quyền hạn trên hệ thống tập tin
HĐH Linux
8
II.1. Đường dẫn (1)
a. Đường dẫn tuyệt đối:
Là đường dẫn được xác định từ thư mục gốc (/)
VD: /usr/local/vd1.txt
Ký hiệu . và ..:
.: biểu thị thư mục hiện hành
VD: u01@pc01:~$ ./baitap
..: biểu thị thư mục cha của thư mục hiện hành
VD: u01@pc01:~$ cd ../Linux
Khi chạy các tập tin thực thi thường bắt buộc
dùng đường dẫn tuyệt đối
HĐH Linux
9
II.1. Đường dẫn (2)
b. Đường dẫn tương đối:
Là đường dẫn được xác định từ thư mục hiện
hành
VD: u01@pc01:/usr/local$ gedit baitap.cpp
Ký hiệu ~: biểu thị thư mục cá nhân của người
dùng đang đăng nhập
VD: u01@pc01:/usr$ cd ~
HĐH Linux
10
Hệ thống tập tin
Nội dung:
I
Giới thiệu Terminal và Shell
II
Một số thao tác trên hệ thống tập tin
II.1. Đường dẫn trong hệ thống tập tin
II.2. Một số lệnh cơ bản
II.3. Một số thao tác trên HTTT
III
Quyền hạn trên hệ thống tập tin
HĐH Linux
11
II.2.1. Một số lệnh đơn giản
Xóa màn hình Terminal: clear
Xem thư mục hiện hành: pwd
Lấy tên máy tính: hostname
Hiện chuỗi lên màn hình: echo [“chuỗi”]
HĐH Linux
12
II.2.2. Một số lệnh hiển thị thời gian
Hiển thị ngày tháng hiện tại: date (xem thêm man)
Xem lịch: cal [tháng] [năm]
HĐH Linux
13
Hệ thống tập tin
Nội dung:
I
Giới thiệu Terminal và Shell
II
Một số thao tác trên hệ thống tập tin
II.1. Đường dẫn trong hệ thống tập tin
II.2. Một số lệnh cơ bản
II.3. Một số thao tác trên HTTT
III
Quyền hạn trên hệ thống tập tin
HĐH Linux
14
Lệnh chuyển thư mục hiện hành
cd [đường_dẫn_cần_chuyển_đến]
VD: u01@pc01:/usr$ cd /home/Linux
Nếu không ghi đường_dẫn_cần_chuyển_đến: về
thư mục ~
HĐH Linux
15
Lệnh liệt kê nội dung thư mục (1)
ls [tuỳ_chọn] [đường_dẫn_cần_liệt_kê]
Một số tuỳ chọn:
-l (--long): liệt kê dạng chi tiết
-R (--recursive): liệt kê tất cả nội dung các thư mục
-a (--all) : liệt kê tất cả các tập tin, kể cả tập tin ẩn
-h (--human): kích thước dạng kilobytes and
megabytes
-i (--inode): in inode của tập tin
Nếu không ghi đường_dẫn_cần_liệt_kê: liệt kê nội dung
thư mục hiện hành
HĐH Linux
16
Lệnh liệt kê nội dung thư mục (2)
HĐH Linux
17
Lệnh liệt kê nội dung thư mục (3)
Có thể dùng ký hiệu đại diện trong
đường_dẫn_cần_liệt_kê để liệt kê nội dung các thư
mục/tập tin và nội dung các thư mục, bao gồm:
– ?: đại diện cho 1 ký tự bất kỳ (bắt buộc có 1 ký tự)
– *: đại diện cho 1 nhóm ký tự bất kỳ (0, 1 hoặc n ký
tự)
– [n..m]: từ ký tự n đến ký tự m (n, m là 2 ký tự bất
kỳ trong bảng chữ cái) (không bắt buộc)
HĐH Linux
18
Lệnh liệt kê nội dung thư mục (4)
HĐH Linux
19
Lệnh liệt kê nội dung thư mục (5)
HĐH Linux
20
Lệnh liệt kê nội dung thư mục (6)
HĐH Linux
21
Lệnh liệt kê nội dung thư mục (7)
VD: u01@pc01:/usr$ ls –l /etc
-rw-r--r-1 root root 10326 Apr 12 12 08:42 info-dir
lrwxrwxrwx 1 root root
11 Apr 12 12 07:52 init.d -> rc.d/init.d
Ký tự đầu tiên của cột 1: -: tập tin bình thường, d: thư mục, l: liên
kết (shortcut) và sau tên có dấu -> chỉ đến tập tin gốc
Các ký tự còn lại của cột 1: quyền hạn
Cột 2: số liên kết cùng trỏ đến inode vật lý của tập tin này
Cột 3, 4: người sở hữu và nhóm sở hữu
Cột 5: kích thước dưới dạng số block. Nếu muốn hiển thị dạng K,
M (kylobyte, megabyte) thì thêm -h (human) → ls -l -h
Cột 6: thời nhãn (ngày cập nhật cuối cùng)
Cột 7: tên tập tin hoặc thư mục
HĐH Linux
22
Lệnh tạo thư mục
mkdir [tuỳ_chọn] [đường_dẫn/]
Tuỳ_chọn:
-p, --parents: tạo các thư mục cha nếu chưa
tồn tại
VD: mkdir –p /a/b/c/d -> tạo cả 4 thư mục
-m , --mode : thiết lập quyền
hạn
VD: mkdir -m 444 personal -> tạo thư mục chỉ
đọc
HĐH Linux
23
Lệnh xoá thư mục rỗng
rmdir [tuỳ_chọn] [đường_dẫn/]
Tuỳ chọn:
-p, --parents: xoá thư mục và (các) thư mục
cha, nếu thư mục cha rỗng.
VD: u01@pc01:~$ rmdir –p
Homework/Linux/Chapter01
=> Xoá thư mục Chapter01 (nếu rỗng)
=> Xoá thư mục Linux (nếu rỗng)
=> Xoá thư mục Homework (nếu rỗng)
HĐH Linux
24
Tạo tập tin text dùng gedit
gedit [đường_dẫn/]
Gedit là trình soạn thảo văn bản đơn giản trên
Linux (tương tự Notepad trên Windows)
Gedit có giao diện đồ hoạ
Nếu tập tin đã tồn tại thì mở tập
tin, ngược lại tạo mới
HĐH Linux
25
Tạo tập tin text dùng vi hoặc vim
vi [đường_dẫn/]
Nếu tập tin đã tồn tại thì mở tập
tin, ngược lại tạo mới
Nhấn i: chèn thêm ký tự vào vị trí con trỏ
Thoát và lưu nội dung tập tin: nhấn ESC và 1
trong các phím: wq, ZZ hoặc x
Thoát và không lưu: q!
HĐH Linux
26
Lệnh xoá tập tin / thư mục
rm [tuỳ_chọn]
[đường_dẫn/]
Tuỳ chọn:
-r, -R, --recursive : xoá thư mục và nội dung
thư mục.
HĐH Linux
27
Lệnh sao chép tập tin / thư mục
cp [tuỳ_chọn]
cp [tuỳ_chọn] …
Chép tập_tin_1 thành tập_tin_2 hoặc chép các tập tin vào cùng 1
thư mục
Tuỳ chọn:
-r, -R, --recursive : chép thư mục vào thư mục mới.
-f, --force: overwrite các tập tin đã tồn tại
-i, --interactive: hỏi lại trước khi overwrite
-P, --parents: chép cả nhánh thư mục vào vị trí mới
VD: cp --parents jphekman/book/ch1 newdir
=> chép jphekman/book/ch1 thành newdir/jphekman/book/ch1
-u, --update: không overwrite các tập tin có thời nhãn
(modification time) bằng hoặc mới hơn
HĐH Linux
28
Lệnh di chuyển và/hoặc đổi tên
mv [tuỳ_chọn]
Khi nguồn và đích cùng vị trí => đổi tên
Khi nguồn và đích khác vị trí và cùng tên => di chuyển
Khi nguồn và đích khác vị trí và khác tên => di chuyển và đổi tên
Tuỳ chọn:
-f, --force: overwrite các tập tin đã tồn tại
-i, --interactive: hỏi lại trước khi overwrite
-u, --update: không overwrite các tập tin có thời nhãn
(modification time) bằng hoặc mới hơn
VD:
mv m1 M1
mv d1 /tmp
mv d2 M1/d22
HĐH Linux
29
Lệnh thay đổi thời gian truy cập và hiệu chỉnh
touch [tuỳ_chọn]
Tuỳ chọn:
-a, --time=atime, --time=access, --time=use: chỉ cập
nhật thời gian truy cập (access time)
-m, --time=mtime, --time=modify: chỉ cập nhật thời
gian hiệu chỉnh (modification time)
-t : chỉ định 1 thời điểm cụ thể dạng
[[cc]yy]mmddhhmm[.ss] (bao gồm: optional century
and year, month, date, hours, minutes, and optional
seconds), nếu không ghi tham số này => lấy ngày giờ
hiện hành
-c, --no-create: không tạo nếu tập tin không tồn tại,
nếu không ghi tham số này => tạo tập tin với kích
30
HĐH Linux
thước = 0
Ký hiệu chuyển hướng
Chuyển hướng xuất: > hoặc >>
Chuyển hướng nhập : <
Chuyển hướng lỗi: 2>
HĐH Linux
31
Lệnh đọc nội dung tập tin văn bản
cat [tuỳ_chọn]
Đọc nội dung các tập tin và in ra thiết bị xuất
chuẩn
Có thể dùng các ký hiệu chuyển hướng:
> nối các tập tin vào 1 tập tin mới
cat f1 f2 f3 > fnew
>> nối các tập tin vào cuối 1 tập tin đã có
cat f5 f4 >> fnew
Nếu không ghi tên các tập tin trước > hoặc >> thì
mặc định là đọc nội dung từ thiết bị nhập chuẩn
(nhập nội dung vào tập tin), nhập xong nhấn Ctrl
32
D để kết thúc
HĐH Linux
Lệnh tạo liên kết (1)
Liên kết cứng: 1 liên kết cứng đến 1 tập tin
(không tạo được với thư mục) là 1 tập tin trỏ đến
inode vật lý của tập tin gốc. Nếu xóa file gốc thì
dữ liệu hoàn toàn không bị mất, nó chỉ mất khi
không còn liên kết nào đến inode đó nữa.
Liên kết mềm: 1 liên kết mềm đến 1 tập tin (thư
mục) là 1 tập tin chỉ chứa thông tin của tập tin
gốc. Khi xóa tập tin gốc thì tập tin liên kết không
còn ý nghĩa
Lệnh: ln [tham số]
Tham số: -s: tạo liên kết mềm, nếu không chỉ
định thì tạo liên kết cứng
33
HĐH Linux
Lệnh tạo liên kết (2)
Số liên kết đến inode vật lý của tập tin /etc/hostname tăng
từ 1, 2, 3 sau khi tạo thêm 2 liên kết cứng. Chú ý: liên kết
mềm không tăng số liên kết đến inode vật lý
HĐH Linux
34
Lệnh tạo liên kết (3)
Inode vật lý của tập tin /etc/hostname và inode của 2 liên
kết cứng hostname.hlink1 và hostname.hlink2 đều là 292
HĐH Linux
35
Lệnh tìm chuỗi trong tập tin (1)
Lệnh: grep [tham số] [tên tập tin]
Tìm và hiển thị các dòng văn bản có chứa 'chuỗi'
Tham số: -e cho phép chỉ định nhiều chuỗi tìm
kiếm → tìm kiếm theo điều kiện OR giữa các
chuỗi. Nếu có nhiều chuỗi tìm kiếm nhưng không
dùng -e → chỉ tìm theo chuỗi đầu tiên
Nếu không chir định tên tập tin thì mặc định tìm
trong luồng nhập chuẩn → phải nhập nội dung từ
bàn phím → thực hiện tìm sau mỗi dòng →
dừng: Ctrl D
HĐH Linux
36
Lệnh tìm chuỗi trong tập tin (2)
VD: Giả sử có tập tin abc.txt:
HĐH Linux
37
Lệnh tìm chuỗi trong tập tin (3)
HĐH Linux
38
Liệt kê tập tin theo tên (1)
Lệnh ls liệt kê tập tin/thư mục trong thư mục xác
định
Lệnh grep tìm chuỗi trong 1 luồng nhập (luồng
nhập chuẩn, tập tin, đầu vào khác)
Ký hiệu | (ống dẫn): chuyển kết quả lệnh đứng
trước ống dẫn thành đầu vào của lệnh đứng sau
=> Chuyển kết quả lệnh ls vào cho lệnh grep
HĐH Linux
39
Liệt kê tập tin theo tên (2)
Liệt kê các tập tin/thư mục có tên chứa chuỗi
Dethi, DETHI, DeThi, dethi trong /media/Data1
HĐH Linux
40
Một số lệnh khác:
Lệnh đọc nội dung tập tin văn bản:
more
less
head
tail
HĐH Linux
41
Tìm kiếm tập tin/thư mục dùng Nautilus (1)
B2: Chọn công cụ
Tại cửa sổ File Browser của Nautilus:
B1: Chọn vị trí cần tìm
trong khung Places
HĐH Linux
42
Tìm kiếm tập tin/thư mục dùng Nautilus
(2)
B3: Nhập tên file
Kết quả tìm được
43
Tìm kiếm tập tin/thư mục dùng lệnh find (1)
Lệnh: find [đường dẫn] [tham số]
Nếu không chỉ định đường dẫn → tìm trong thư mục hiện
hành. Nếu không chỉ định tham số → liệt kê tất cả
Tham số:
-empty: tìm các tập tin/thư mục rỗng
-type : trong đó là 1 trong các ký tự:
d: thư mục
f: tập tin
-user : thuộc sở hữu của người dùng
-group : thuộc sở hữu của nhóm
HĐH Linux
44
Tìm kiếm tập tin/thư mục dùng lệnh find
(2)
-name : trong đó được dùng các ký tự
đại diện: *, ?, []; các ký tự này phải đặt sau ký tự \
find -name b\* tên bắt đầu bằng chữ b
find -name bt\? tên có 3 ký tự, bắt đầu bằng
chữ bt
find -name bt\[3..5] tên bắt đầu bằng chữ bt,
theo sau là 1 ký số 3, 4 hoặc 5
find -name b\[a..t] tên bắt đầu bằng chữ bt,
theo sau là 1 ký tự trong khoảng từ chữ a đến chữ
t trong bảng chữ cái
Chú ý: -name không phân biệt chữ hoa,
thường
-iname : tương tự như -name nhưng phân biệt
chữ hoa, thường
45
HĐH Linux
Tìm kiếm tập tin/thư mục dùng lệnh find
(3)
-size [cbkMG]: kích thước n đơn vị, với đơn vị là:
b: block ( 512 byte) (mặc định)
c: byte
k: kilobyte
M: megabyte
G: gigabyte
Ngoài ra, còn các tham số khác liên quan đến ngày
cập nhật, quyền hạn, ...
HĐH Linux
46
Tìm kiếm tập tin/thư mục dùng lệnh locate (1)
Lệnh: locate [tham số]
Tìm kiếm tập tin/thư mục có tên chứa
Tham số:
-b '\tên': tìm chính xác theo tên
tranmai@tranmai-laptop:~$ locate -b '\passwd'
/etc/passwd
/etc/pam.d/passwd
/usr/bin/passwd
/usr/share/doc/passwd
/usr/share/lintian/overrides/passwd
-c (--count): chỉ đếm số tập tin tìm được
tranmai@tranmai-laptop:~$ locate -b '\passwd' -c
5
HĐH Linux
47
Tìm kiếm tập tin/thư mục dùng lệnh locate (2)
-i (--ignore-case): không phân biệt chữ hoa, thường
tranmai@tranmai-laptop:~$ locate -i passwd
/etc/passwd
/etc/passwd/etc/pam.d/chpasswd
/etc/pam.d/passwd
/etc/security/opasswd
/home/tranmai/PAsswd
/home/tranmai/passwd
Chú ý: lệnh locate tìm kiếm dựa vào CSDL hệ thống tập
tin→ nếu tập tin/thư mục mới vừa được tạo → phải chạy
lệnh: sudo updatedb để cập nhật CSDL → lệnh locate mới
tìm thấy thư mục vừa tạo
HĐH Linux
48
Nén và giải nén chuẩn gz
Hai chuẩn nén tập tin phổ biến trong Linux là gz và bz
Nén thành tập tin .gz
Nén: gzip
=>nén và ghi đè lên tập tin nguồn
Hoặc: gzip ...
=>nén mỗi tập tin thành 1 tập tin nén và ghi đè lên
các tập tin nguồn
Giải nén: gunzip
Hoặc: gzip -d
Hoặc: gunzip ...
=>giải nén và ghi đè lên tập tin nén
HĐH Linux
49
Nén và giải nén chuẩn bz2
Nén thành tập tin .bz2
Nén: bzip2
=>nén và ghi đè lên tập tin nguồn
Hoặc: bzip2 ...
=>nén mỗi tập tin thành 1 tập tin nén và ghi đè lên
các tập tin nguồn
Giải nén: bunzip2
Hoặc: bzip -d
Hoặc: bunzip2 ...
=>giải nén và ghi đè lên tập tin nén
HĐH Linux
50
Lệnh tar (1)
Tạo bản lưu trữ (gom các tập tin/ thư mục) tạo
thành tập tin .tar
tar –cvf
VD: tar –cvf /home/backup.tar /etc/passwd
/etc/group
Bung các tập tin/ thư mục vào thư mục hiện tại
tar –xvf
VD: tar –xvf /home/backup.tar
tar: viết tắt từ “tape archive”
Một tập tin tar (1 bản lưu trữ): gọi là 1 tarball
HĐH Linux
51
Lệnh tar (2)
Tạo tarball rồi nén tarball:
Chuẩn gz: tar -zcvf archived.tar.gz file1 file2
file3
Chuẩn bz2: tar -jcvf archived.tar.bz2 file1 file2
file3
Giải nén rồi bung tarball:
Chuẩn gz: tar -zxvf archived.tar.gz file1 file2
file3
Chuẩn bz2: tar -jxvf archived.tar.bz2 file1 file2
file3
HĐH Linux
52
Lệnh tar (3)
Các tham số:
c: (--create): tạo mới file archive
x: (--extract, --get): bung file archive
v: (--verbose): liệt kê danh sách tập tin (dùng
với tham số f)
f: liệt kê danh sách tập tin
z: nén hoặc giải nén gz
j: nén hoặc giải nén bz2
HĐH Linux
53
Hệ thống tập tin
Nội dung:
I
Giới thiệu Terminal và Shell
II
Một số thao tác trên hệ thống tập tin
III
Quyền hạn trên hệ thống tập tin
III.1. Quyền hạn trên HTTT
III.2. Quyền hạn mặc định
II.3. Một số thao tác thay đổi quyền
HĐH Linux
54
III.1. Quyền hạn trên hệ thống tập tin (1)
Tất cả các tập tin của Linux đều xác định người
sở hữu và quyền truy cập
Xem quyền hạn => thực hiện lệnh ls –l
-rw-r--r--
1
root root 10326 Apr 12 12 08:42 info-dir
9 ký tự bên phải cột đầu tiên chỉ ra quyền hạn trên tập tin
9 ký tự chia thành 3 nhóm quyền hạn cho lần
lượt 3 dạng người dùng: chủ sở hữu, nhóm sở
hữu và các người dùng khác
Mỗi nhóm 3 ký tự lần lượt biểu thị các quyền:
read (r), write (w) và execute (x). Nếu không có
quyền thì thay bằng dấu HĐH Linux
55
III.1. Quyền hạn trên hệ thống tập tin (2)
Một cách khác để biểu thị quyền hạn: Quyền hạn
của từng dạng người dùng được biểu thị dưới
dạng số 3 bit, nếu có quyền thì bit đó =1, ngược
lại =0
Chỉ có quyền read: 100 ~ 4
Chỉ có quyền write: 010 ~ 2
Chỉ có quyền execute: 001 ~ 1
Quyền hạn của từng dạng người dùng được tính
bằng tổng các giá trị số 4, 2, 1
VD: quyền hạn tập tin myFile là 664
HĐH Linux
56
III.1. Quyền hạn trên hệ thống tập tin (3)
Quyền read: đọc nội dung tập tin, chuyển
vào và xem nội dung thư mục
Quyền write: sửa nội dung, xóa tập tin. Tạo,
đổi tên, xóa tập tin bên trong thư mục mà
không phụ thuộc quyền hạn trên các tập tin
đó
Quyền execute: thực thi tập tin chương trình.
Chỉ có thể chuyển vào bên trong thư mục
Người có quyền đọc thì có quyền copy tập
tin. Khi đó: tập tin copy được sẽ thuộc sở
hữu của người copy
HĐH Linux
57
III.1. Quyền hạn trên hệ thống tập tin (4)
Nếu nhóm sở hữu có quyền trên 1 tập tin thì tất
cả các người dùng thuộc nhóm đó (trừ chủ sở
hữu) cũng có quyền tương tự trên tập tin đó
VD: Người dùng tranmai và người dùng user01
đều thuộc nhóm tranmai. Người dùng tranmai tạo
tập tin /home/tranmai/TempFile và gán quyền như
sau: r—rw-r--. Khi đó người dùng tranmai không
được sửa nội dung của TempFile nhưng người
dùng user01 thì được phép
HĐH Linux
58
Hệ thống tập tin
Nội dung:
I
Giới thiệu Terminal và Shell
II
Một số thao tác trên hệ thống tập tin
III
Quyền hạn trên hệ thống tập tin
III.1. Quyền hạn trên HTTT
III.2. Quyền hạn mặc định
II.3. Một số thao tác thay đổi quyền
HĐH Linux
59
III.2. Quyền hạn mặc định (1)
Khi tạo 1 tập tin hoặc thư mục thì các quyền
hạn (permission) được gán mặc định:
Tập tin: rw-r—r-Thư mục: rwxr-xr-x
Umask (User-Mask) và Base Permission: Khi
một tập tin hay thư mục được tạo ra thì các
quyền hạn truy cập đối với chúng (read, write,
execute) cho các chủ thể (owner, group, others)
sẽ được xác định dựa trên hai giá trị là quyền
truy nhập cơ sở (base permission) và mặt nạ
(mask).
HĐH Linux
60
III.2. Quyền hạn mặc định (2)
Base Permission là giá trị được thiết lập sẵn từ trước,
và ta không thể thay đổi được
Tập tin: base permission là 666 (rw-rw-rw-)
Thư mục: base permission là 777 (rwxrwxrwx)
Mask là giá trị đựợc thiết lập bởi người dùng bằng
lệnh umask
Giá trị Mask sẽ “che đi” một số bit trong Base
Permission để tạo ra quyền truy cập chính thức cho
tập tin/thư mục.
Cụ thể, quyền truy cập chính thức được tính bằng
cách lấy “giá trị nhị phân của Base permission
”AND“ dạng biểu diễn bù 1 của mask”
HĐH Linux
61
III.2. Quyền hạn mặc định (3)
VD1: Vì Base Permission của tập tin luôn là 666 (tức
110110110 khi chuyển sang dạng nhị phân), nên nếu giá
trị mask là 022 (có dạng nhị phân là 000010010 => dạng
bù 1 của nó thì chuyển 1->0, 0->1 nên ta được
111101101) thì quyền truy nhập chính thức của file sẽ
là:
110 110 110 AND 111 101 101 = 110 100 100 = 644
(rw-r–r–)
VD2: Tương tự, với thư mục:
777 111 111 111
022 000 010 010 => bù 1 là 111 101 101
111 111 111 AND 111 101 101 = 111 101 101 = 755
(rwxr-xr-x)
HĐH Linux
62
III.2. Quyền hạn mặc định (4)
Lệnh umask cho phép xem và thay đổi mặt nạ hiện tại
Xem mặt nạ: umask hoặc umask -S
Thay mạ nạ: umask
HĐH Linux
63
Hệ thống tập tin
Nội dung:
I
Giới thiệu Terminal và Shell
II
Một số thao tác trên hệ thống tập tin
III
Quyền hạn trên hệ thống tập tin
III.1. Quyền hạn trên HTTT
III.2. Quyền hạn mặc định
II.3. Một số thao tác thay đổi quyền
HĐH Linux
64
Thay đổi quyền của tập tin/thư mục (1)
Chỉ có chủ sở hữu hoặc super user mới thực hiện được
việc này
Dạng tuyệt đối: chmod
Dạng người dùng: u (chủ sở hữu), g (nhóm sở hữu),
o (người dùng khác), a (tất cả)
Thao tác: + (thêm quyền), - (xóa quyền), = (chỉ thêm
quyền được chỉ định, các quyền khác bị xóa)
Quyền hạn: r, w, x
• VD1: chmod go-w myFile (xóa quyền write của nhóm và người
dùng khác)
• VD2: chmod ugo+wxr gom.tar.gz (thêm tất cả quyền cho mọi người
dùng)
• VD3: chmod ugo=r gom.tar.gz (thêm quyền read đồng thời xóa các
65
HĐH Linux
quyền khác cho mọi người dùng)
Thay đổi quyền của tập tin/thư mục (2)
Trường hợp mỗi dạng người dùng được thêm,
bớt quyền khác nhau: dùng dấu phẩy để ngăn
cách (không có khoảng trắng trước hoặc sau dấu
phẩy)
• VD4: chmod u-w,o-xr gom.tar.gz (xóa quyền
write của chủ sở hữu, xóa quyền read và
excute của người dùng khác)
Dạng tương đối: chmod
VD: chmod 755 myFile (chủ sở hữu có tất cả
quyền, nhóm và người dùng khác chỉ đọc và
thực thi)
HĐH Linux
66
Thay đổi chủ sở hữu của tập tin/thư mục (1)
Chỉ có chủ sở hữu hoặc super user mới thực hiện được việc này
Cú pháp: chown [tham số] [chủ sở hữu mới][:nhóm sở hữu mới]
Tham số:
• -R, --recursive: thay đổi cả nhánh thư mục
• -v, --verbose: liệt kê các tập tin thực hiện thay đổi
Chủ sở hữu mới: tên người dùng hoặc UID
Nhóm sở hữu mới: tên nhóm hoặc GID
Nếu ghi dấu : mà không ghi tên nhóm thì mặc định là nhóm
chính của chủ sở hữu (login group)
Nếu ghi [:nhóm sở hữu] mà không ghi tên chủ sở hữu thì chỉ
thay đổi nhóm sở hữu (tương tự lệnh chgrp)
Chú ý: trước sau dấu hai chấm không có khoảng trắng
HĐH Linux
67
Thay đổi chủ sở hữu của tập tin/thư mục (2)
VD:
sudo chown user01 gom.tar.gz (chủ sở hữu mới là
user01)
sudo chown root: gom.tar.gz (chủ sở hữu mới là root,
nhóm sở hữu mới là nhóm root)
sudo chown tranmai: gom.tar.gz (chủ sở hữu mới là
tranmai, nhóm sở hữu mới là nhóm tranmai)
sudo chown :admin gom.tar.gz (nhóm sở hữu mới là
nhóm admin)
Người dùng user01 được tạo ra thuộc nhóm tranmai:
sudo useradd -s /bin/bash -m -g tranmai user01
sudo chown user01: gom.tar.gz (chủ sở hữu mới là
user01, nhóm sở hữu mới là nhóm tranmai) HĐH Linux 68
Thay đổi nhóm sở hữu của tập tin/thư mục
Chỉ có chủ sở hữu hoặc super user mới thực hiện được
việc này
Cú pháp: chgrp [tham số]
Tham số:
• -R, --recursive: thay đổi cả nhánh thư mục
• -v, --verbose: liệt kê các tập tin thực hiện thay đổi
Nhóm sở hữu mới: tên nhóm hoặc GID
VD: chgrp admin abc.txt (nhóm sở hữu của tập tin
abc.txt là nhóm admin)
HĐH Linux
69
Thay đổi quyền trên giao diện Ubuntu
Click phải vào tập tin/ thư mục → Properties → tab
Permissions
Owner: chủ sở hữu
Group: nhóm sở hữu
Others: người dùng khác
=> Chọn các quyền read và write trong combo Access
Execute: nếu check vào “Allow executing file as
program” thì mọi người dùng đều có quyền x
HĐH Linux
70
Quản lý file với Midnight Commander
Cài gói mc → vào terminal gõ mc
HĐH Linux
71
[...]... và không lưu: q! HĐH Linux 26 Lệnh xoá tập tin / thư mục rm [tuỳ_chọn] [đường_dẫn/] Tuỳ chọn: -r, -R, recursive : xoá thư mục và nội dung thư mục HĐH Linux 27 Lệnh sao chép tập tin / thư mục cp [tuỳ_chọn] cp [tuỳ_chọn] … Chép tập_ tin_ 1 thành tập_ tin_ 2 hoặc chép các tập tin vào cùng 1 thư mục... văn bản đơn giản trên Linux (tương tự Notepad trên Windows) Gedit có giao diện đồ hoạ Nếu tập tin đã tồn tại thì mở tập tin, ngược lại tạo mới HĐH Linux 25 Tạo tập tin text dùng vi hoặc vim vi [đường_dẫn/] Nếu tập tin đã tồn tại thì mở tập tin, ngược lại tạo mới Nhấn i: chèn thêm ký tự vào vị trí con trỏ Thoát và lưu nội dung tập tin: nhấn ESC và 1... [“chuỗi”] HĐH Linux 12 II.2.2 Một số lệnh hiển thị thời gian Hiển thị ngày tháng hiện tại: date (xem thêm man) Xem lịch: cal [tháng] [năm] HĐH Linux 13 Hệ thống tập tin Nội dung: I Giới thiệu Terminal và Shell II Một số thao tác trên hệ thống tập tin II.1 Đường dẫn trong hệ thống tập tin II.2 Một số lệnh cơ bản II.3 Một số thao tác trên HTTT III Quyền hạn trên hệ thống tập tin HĐH Linux 14 Lệnh.. .Hệ thống tập tin Nội dung: I Giới thiệu Terminal và Shell II Một số thao tác trên hệ thống tập tin II.1 Đường dẫn trong hệ thống tập tin II.2 Một số lệnh cơ bản II.3 Một số thao tác trên HTTT III Quyền hạn trên hệ thống tập tin HĐH Linux 11 II.2.1 Một số lệnh đơn giản Xóa màn hình Terminal: clear Xem thư mục hiện hành: pwd Lấy tên máy tính: hostname ... nối các tập tin vào 1 tập tin mới cat f1 f2 f3 > fnew >> nối các tập tin vào cuối 1 tập tin đã có cat f5 f4 >> fnew Nếu không ghi tên các tập tin trước > hoặc >> thì mặc định là đọc nội dung từ thiết bị nhập chuẩn (nhập nội dung vào tập tin) , nhập xong nhấn Ctrl 32 D để kết thúc HĐH Linux Lệnh tạo liên kết (1) Liên kết cứng: 1 liên kết cứng đến 1 tập tin (không tạo được với thư mục) là 1 tập tin trỏ... của tập tin gốc Nếu xóa file gốc thì dữ liệu hoàn toàn không bị mất, nó chỉ mất khi không còn liên kết nào đến inode đó nữa Liên kết mềm: 1 liên kết mềm đến 1 tập tin (thư mục) là 1 tập tin chỉ chứa thông tin của tập tin gốc Khi xóa tập tin gốc thì tập tin liên kết không còn ý nghĩa Lệnh: ln [tham số] Tham số: -s: tạo liên kết mềm, nếu không chỉ định thì tạo liên kết cứng 33 HĐH Linux. .. tham số này => lấy ngày giờ hiện hành -c, no-create: không tạo nếu tập tin không tồn tại, nếu không ghi tham số này => tạo tập tin với kích 30 HĐH Linux thước = 0 Ký hiệu chuyển hướng Chuyển hướng xuất: > hoặc >> Chuyển hướng nhập : < Chuyển hướng lỗi: 2> HĐH Linux 31 Lệnh đọc nội dung tập tin văn bản cat [tuỳ_chọn] Đọc nội dung các tập tin và in ra thiết bị xuất chuẩn... inode vật lý của tập tin /etc/hostname tăng từ 1, 2, 3 sau khi tạo thêm 2 liên kết cứng Chú ý: liên kết mềm không tăng số liên kết đến inode vật lý HĐH Linux 34 Lệnh tạo liên kết (3) Inode vật lý của tập tin /etc/hostname và inode của 2 liên kết cứng hostname.hlink1 và hostname.hlink2 đều là 292 HĐH Linux 35 Lệnh tìm chuỗi trong tập tin (1) Lệnh: grep [tham số] [tên tập tin] Tìm và hiển... đọc HĐH Linux 23 Lệnh xoá thư mục rỗng rmdir [tuỳ_chọn] [đường_dẫn/] Tuỳ chọn: -p, parents: xoá thư mục và (các) thư mục cha, nếu thư mục cha rỗng VD: u01@pc01:~$ rmdir –p Homework /Linux/ Chapter01 => Xoá thư mục Chapter01 (nếu rỗng) => Xoá thư mục Linux (nếu rỗng) => Xoá thư mục Homework (nếu rỗng) HĐH Linux 24 Tạo tập tin text dùng gedit gedit [đường_dẫn/] ... thư mục hiện hành cd [đường_dẫn_cần_chuyển_đến] VD: u01@pc01:/usr$ cd /home /Linux Nếu không ghi đường_dẫn_cần_chuyển_đến: về thư mục ~ HĐH Linux 15 Lệnh liệt kê nội dung thư mục (1) ls [tuỳ_chọn] [đường_dẫn_cần_liệt_kê] Một số tuỳ chọn: -l ( long): liệt kê dạng chi tiết -R ( recursive): liệt kê tất cả nội dung các thư mục -a ( all) : liệt kê tất cả các tập tin, kể cả tập tin ẩn -h