1. Trang chủ
  2. » Cao đẳng - Đại học

Hệ Thống Tập Tin Hệ Điều Hành Linux _ www.bit.ly/taiho123

71 4,6K 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

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

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 →

Trang 1

TRẦN THỊ NGỌC MAI

HỆ ĐiỀU HÀNH LINUX

HỆ THỐNG TẬP TIN

Trang 4

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 ->

Trang 5

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)

Trang 7

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

HĐH Linux

Trang 9

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 (/)

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

Trang 10

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 ~

Trang 12

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”]

Trang 13

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

Trang 16

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

Trang 17

17Lệnh liệt kê nội dung thư mục (2)

HĐH Linux

Trang 18

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)

Trang 19

19Lệnh liệt kê nội dung thư mục (4)

HĐH Linux

Trang 20

Lệnh liệt kê nội dung thư mục (5)

Trang 21

21Lệnh liệt kê nội dung thư mục (6)

HĐH Linux

Trang 22

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

Trang 23

 VD: mkdir –p /a/b/c/d -> tạo cả 4 thư mục

 -m <quyền>, mode <quyền>: thiết lập quyền hạn

 VD: mkdir -m 444 personal -> tạo thư mục chỉ đọc

HĐH Linux

Trang 24

 => 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)

Trang 25

Tạo tập tin text dùng gedit

gedit [đường_dẫn/]<tên_tập_tin>

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ập_tin> đã tồn tại thì mở tập

tin, ngược lại tạo mới

HĐH Linux

Trang 26

Tạo tập tin text dùng vi hoặc vim

vi [đường_dẫn/]<tên_tập_tin>

Nếu tập tin <tên_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!

Trang 28

Lệnh sao chép tập tin / thư mục

 cp [tuỳ_chọn] <tên_tập_tin_1> <tên_tập_tin_2>

 cp [tuỳ_chọn] <tên_tập_tin_1> <tên_tập_tin_2> … <tên_thư_mục>

 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

Trang 29

Lệnh di chuyển và/hoặc đổi tên

 mv [tuỳ_chọn] <nguồn> <đích>

 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

Trang 30

Lệnh thay đổi thời gian truy cập và hiệu chỉnh

 touch [tuỳ_chọn] <tên_tập_tin/thư_mục>

 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 <time>: 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

Trang 31

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

Trang 32

Lệnh đọc nội dung tập tin văn bản

cat [tuỳ_chọn] <tên_các _tập _tin>

Đọ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

Trang 33

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ố] <nguồn> <đích>

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

HĐH Linux

Trang 34

Lệnh tạo liên kết (2)

Trang 36

Lệnh tìm chuỗi trong tập tin (1)

Lệnh: grep [tham số] <'chuỗi'> [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 →

Trang 37

Lệnh tìm chuỗi trong tập tin (2)

VD: Giả sử có tập tin abc.txt:

HĐH Linux

Trang 38

Lệnh tìm chuỗi trong tập tin (3)

Trang 39

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

Trang 40

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

Trang 42

Tìm kiếm tập tin/thư mục dùng Nautilus (1)

Tại cửa sổ File Browser của Nautilus:

B1: Chọn vị trí cần tìm trong khung Places

B2: Chọn công cụ

Trang 44

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ả

Trang 45

Tìm kiếm tập tin/thư mục dùng lệnh find

(2)

-name <mẫu>: trong đó <mẫu> đượ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 <mẫu> không phân biệt chữ hoa,

thường

-iname <mẫu>: tương tự như -name nhưng phân biệt

Trang 46

Tìm kiếm tập tin/thư mục dùng lệnh find

Trang 47

Tìm kiếm tập tin/thư mục dùng lệnh locate (1)

 Lệnh: locate [tham số] <mẫu>

 Tìm kiếm tập tin/thư mục có tên chứa <mẫu>

 Tham số:

-b '\tên': tìm chính xác theo tên

t ranmai@tranmai-laptop:~$ locate -b '\passwd'

-c ( count): chỉ đếm số tập tin tìm được

tranmai@tranmai-laptop:~$ locate -b '\passwd' -c

5

HĐH Linux

Trang 48

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

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

Trang 49

=>nén và ghi đè lên tập tin nguồn

Hoặc: gzip <tên_tập_tin1> <tên_tập_tin2>

=>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 <tên_tập_tin.gz>

Hoặc: gzip -d <tên_tập_tin.gz>

Hoặc: gunzip <tên_tập_tin1> <tên_tập_tin2> =>giải nén và ghi đè lên tập tin nén

HĐH Linux

Trang 50

Nén và giải nén chuẩn bz2

 Nén thành tập tin bz2

 Nén: bzip2 <tên_tập_tin>

=>nén và ghi đè lên tập tin nguồn

Hoặc: bzip2 <tên_tập_tin1> <tên_tập_tin2>

=>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 <tên_tập_tin.gz>

Hoặc: bzip -d <tên_tập_tin.gz>

Hoặc: bunzip2 <tên_tập_tin1> <tên_tập_tin2>

Trang 51

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

Trang 52

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

Trang 53

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

Trang 55

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

Trang 56

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

Trang 57

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

Trang 58

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

Trang 60

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

Trang 61

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

Trang 62

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

Trang 65

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

 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)

Trang 66

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 <giá_trị_số_quyền_hạn>

<tên_tập_tin>

 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à

Trang 67

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]

<tên_tập_tin>

 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

chính của chủ sở hữu (login group)

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

Trang 68

Thay đổi chủ sở hữu của tập tin/thư mục (2)

 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:

Trang 69

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ố] <nhóm sở hữu mới>

<tên_tập_tin>

 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

Ngày đăng: 22/10/2015, 19:48

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w