SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Downloaden Sie, um offline zu lesen
Hệ thống tệp Linux
Môn học Linux và Phần mềm Mã nguồn mở
TS. Hà Quốc Trung
Bộ môn Truyền thông và Mạng Máy tính
Nội dung
•  Khái niệm về hệ thống tệp logic
•  Các thao tác với thư mục
•  Các thao tác với tệp
•  inode
@Hà Quốc Trung 2009 2
Hệ thống tệp logic
@Hà Quốc Trung 2009 3
Cấu trúc hệ thống tệp
•  Một/Nhiều cây phân cấp thư mục và các tệp
– Tệp nhóm các bít
– Một thư mục dùng để tạo nhóm các tệp dữ liệu và
thư mục
•  Thư mục gốc (/) là điểm vào đầu tiên cho cả
cây thư mục
•  Các tệp là các nút lá
@Hà Quốc Trung 2009 4
Các thư mục thông dụng trong
Linux
•  / (thư mục gốc)
–  /bin : thư mục tệp chương trình cơ bản
–  /boot : thư mục chứa hạt nhân của HĐH
–  /etc : thư mục các tệp cấu hình
–  /dev : thư mục các tệp thiết bị
–  /home : thư mục chứa dữ liệu NSD
–  /lib : thư viện hệ thống
–  /usr : thư mục ứng dụng
–  /var : thư mục dữ liệu cập nhật
–  /proc
@Hà Quốc Trung 2009 5
Tệp Linux vs. tệp Windows
•  Giống nhau
–  độ dài tối đa cho tên tệp là 255
–  Chấp nhận tất cả các kí tự để đặt tên tệp (nhưng nên tránh
sử dụng các kí tự đặc biệt như * ? [ ] & để tránh sự nhập
nhằng trong câu lệnh sử dụng sau này)
•  Tính đặc thù của Linux
–  Quản lý dưới một khung nhìn của tệp cho cả thư mục và
các loại tài nguyên hệ thống (ngoại vi, bảng phân chương
đĩa)
–  Không có khái niệm phần mở rộng của tên tệp (kí tự '.'
trong tên tệp được đối xử như mọi kí tự khác
–  Không dùng ổ đĩa logic trong cây thư mục
–  '/' được dùng thay cho '' trong đường dẫn thư mục
@Hà Quốc Trung 2009 6
Đường dẫn và thư mục đặc biệt
•  Truy cập tệp và thư mục cần dùng các đường
dẫn
•  Đường dẫn có thể có mốc từ các thư mục đặc
biệt
– / : thư mục gốc
– ~/ : thư mục nhà
– . : thư mục hiện tại
– .. : thư mục cha
@Hà Quốc Trung 2009 7
Đường dẫn tương đối và tuyệt đối
@Hà Quốc Trung 2009 8
Lệnh cơ bản quản lý thư mục
•  pwd
•  cd
•  ls –la [tên thư mục]
•  mkdir [-p] [tên thư mục mới]
•  rmdir [tên thư mục rỗng]
@Hà Quốc Trung 2009 9
Quản lý thư mục
•  pwd: hiển thị đường dẫn tuyệt đối của thư mục hiện tại
•  cd: thay đổi vị trí thư mục hiện tại
–  $ cd /home/tuananh ↵
–  $ cd tuananh ↵
•  ls: liệt kê các tệp trong một thư mục
–  $ ls ↵
–  $ ls /home/tuananh
–  $ ls –la tuananh
•  tuỳ chọn -a cho phép hiển thị cả các tệp ẩn
•  tuỳ chọn -l cho phép hiển thị thuộc tính cho mỗi tệp (kiểu, quyền, liên kết,
chủ sở hữu, nhóm sở hữu, kích thước, ngày sửa đổi)
•  mkdir: tạo một thư mục rỗng
•  rmdir: xoá một thư mục rỗng
@Hà Quốc Trung 2009 10
Câu lệnh ls
@Hà Quốc Trung 2009 11
Kiểu của tệp
•  Tệp thư mục là một thư mục trong đường dẫn phân loại (vd., /
usr, /home,…)
•  Tệp thông thường là một tệp chứa dữ liệu hoặc tệp chương
trình (vd., /bin/passwd, /etc/passwd, …)
•  Tệp đặc biệt là một tệp thiết bị tương ứng với thiết bị ngoại vi
hoặc các tệp tự sinh bởi HĐH. Có thể có tệp ký tự hoặc tệp
block
•  Liên kết
•  Các tệp biểu diễn các kênh vào ra
@Hà Quốc Trung 2009 12
Các kiểu tệp
•  Các ký hiệu dưới đây được sử dụng để biểu diễn các kiểu
tệp
–  - : tệp thông thường
–  d : thư mục
–  b : tệp đặc biệt (block)
–  c : tệp đặc biệt (ký tự)
–  l : link
–  m : phần bộ nhớ trong dùng chung
–  p : đường ống
@Hà Quốc Trung 2009 13
Tên đặc biệt
•  « . » : thư mục hiện tại
•  « .. » : thư mục cha
•  « ~ » : thư mục cá nhân
•  « .xxx » : tệp ẩn (e.g., /home/tuananh/.bashrc)
@Hà Quốc Trung 2009 14
Ví dụ
$ cd ~
$ pwd
/home/tuananh
$ ls -la
-rw-r--r-- 1 tuananh user1 2451 Feb 7 07:30 .bashrc
-rw-r--r-- 1 tuananh user1 4025 Feb 10 19:12 linux.ppt
drwxr-xr-- 2 tuananh user1 512 Feb 10 19:12 linux
$ mkdir vanban
$ cd vanban
$ pwd
/home/tuananh/vanban
$ cd ..
$ pwd
$ rmdir vanban
@Hà Quốc Trung 2009 15
Các siêu kí tự
– * dùng để thay thế cho một chuỗi kí tự bất kì bao
gồm cả xâu rỗng
– ? thay thế cho một kí tự bất kì
– [ ] được thay thế bởi một kí tự trong một tập kí tự
cho trước
– [! ] được thay thế bởi một kí tự không có trong một
tập kí tự cho trước
@Hà Quốc Trung 2009 16
Ví dụ
$ ls -l *.[c,h]
-rw-r--r-- 1 tuananh user1 2451 Feb 7 07:30 myprog.c
-rw-r--r-- 1 tuananh user1 2451 Feb 7 07:30 myprog.h
$ ls -l *prog
drwxr-xr-- 2 tuananh user1 512 Feb 10 19:12 c_prog
drwxr-xr-- 2 tuananh user1 512 Feb 10 19:12 java_prog
$ ls -l .*
-rw-r--r-- 1 tuananh user1 451 Feb 7 07:30 .bashrc
-rw-r--r-- 1 tuananh user1 225 Feb 7 07:30 .bash_profile
-rw-r--r-- 1 tuananh user1 351 Feb 7 07:30 .bash_logout
@Hà Quốc Trung 2009 17
Quản lý tệp
•  $cp file1 […] dir
–  sao chép một hoặc nhiều tệp vào một thư mục
•  $mv file1 […] dir
–  di chuyển một hoặc nhiều tệp đến một thư mục
•  $rm file1 […]
–  xoá một hoặc nhiều tệp
•  tuỳ chọn -R (recursive)
–  cho phép sao chép/di chuyển/xoá toàn bộ thư mục bao gồm
cả các thư mục con
@Hà Quốc Trung 2009 18
Quản lý tệp
•  cat: xem nhanh một tệp
•  more: xem từng dòng
•  less: xem từng trang
•  tail: xem cuối tệp
•  head: xem đầu tệp
•  touch: tạo tệp mới, cập nhật tệp cũ
•  echo > [tên tệp]
@Hà Quốc Trung 2009 19
Ví dụ
$ ls -l
-rw-r--r-- 1 tuananh user1 16 Feb 10 19:12 test.txt
drwxr-xr-- 2 tuananh user1 512 Feb 10 19:14 vanban
$ cp test.txt vanban
$ ls -l vanban
-rw-r--r-- 1 tuananh user1 16 Feb 12 20:03 test.txt
$ rm –R vanban
$ ls -l
-rw-r--r-- 1 tuananh user1 16 Feb 10 19:12 test.txt
$ rm test.txt
$ ls -l
$
@Hà Quốc Trung 2009 20
Khái niệm inode
•  Một inode được tạo ra cho
mỗi điểm vào trên hệ thống
tệp
•  Nội dung của tệp được lưu
trong các khối dữ liệu
–  một tệp rỗng = một inode không
có khối dữ liệu
•  Một thư mục là một tệp với
nội dung là một bảng liên kết
–  một liên kết gắn một tên tệp với
một inode của hệ thống tệp
@Hà Quốc Trung 2009 21
Liên kết vật lý (1)
•  Một liên kết vật lý là một quan
hệ giữa tên tệp trong thư mục
với một inode
•  Có thể có nhiều liên kết vật lý
đến cùng một inode
•  Lệnh ln cho phép tạo một liên
kết vật lý đến một inode (tệp)
đã tồn tại
–  tệp mới chia sẻ cùng inode và
khối dữ liệu của tệp ban đầu
@Hà Quốc Trung 2009 22
$ln fbis lien
Liên kết vật lý (2)
•  Số liên kết vật lý đến một inode có thể được xem
bằng lệnh ls –l
$ ls -l
-rw-rw-r-- 1 tuananh user1 0 Nov 12 15:19 file
drwxr-xr-x 2 tuananh user1 4096 Dec 14 17:50 dir
•  Tại sao với một thư mục luôn có ít nhất 2 liên kết vật
lý?
•  Xoá một tệp (lệnh rm) đồng nghĩa với xoá một liên
kết
–  Nếu là liên kết vật lí cuối cùng trỏ đến inode được xoá thì
các khối liên quan đến inode cũng được xoá theo
@Hà Quốc Trung 2009 23
Liên kết biểu tượng
•  ln -s R2/nouveau R3/lien_symbolique
–  khi tạo liên kết biểu tượng (tuỳ chọn –s) một inode mới được tạo ra
–  inode này chứa tên (dạng tuyệt đối hay tương đối) của phần tử được trỏ
tới
@Hà Quốc Trung 2009 24
Liên kết biểu tượng vs. Liên kết vật lý
•  Liên kết biểu tượng cho phép tránh được các hạn chế
về mặt dung lượng của thiết bị lưu trữ
–  Một liên kết vật lý luôn luôn chiếm một số lượng inode
nhất định
•  Chúng ta có thể phân biệt rõ một file được tạo ra và
file gốc trong một liên kết biểu tượng
–  Điều gì sẽ xảy ra khi một người xóa đi file gốc ?
@Hà Quốc Trung 2009 25
Ví dụ
$ ls -l
-rw-r--r-- 1 tuananh user1 8 Feb 10 1:12 test.txt
$ ln test.txt link1
$ ln -s test.txt link2
$ ls -l link*
-rw-r--r-- 2 tuananh user1 16 Feb 10 1:12 link1
lrw-r--r-- 1 tuananh user1 16 Feb 10 1:13 link2->test.txt
@Hà Quốc Trung 2009 26
Cấu trúc của inode
@Hà Quốc Trung 2009 27
inode
File info
Direct blocks
Indirect blocks
Double
Indirect
Blocks
Phân bổ trên đĩa cứng
@Hà Quốc Trung 2009 29
Tìm kiếm file
$ find tên_thư_mục expressions
–  Cho phép tìm kiếm các file trong một thư mục (ngầm định là trong thư
mục hiện tại) với một số điều kiện hoặc các lệnh thực thi trên tập các
file tìm được.
•  Các điều kiện
–  Tên : -name tên
–  Quyền truy cập : -perm quyền_truy_cập
–  Kiểu : -type d/f/...
–  Kích thước : -size N
–  Thời gian : -atime N, -mtime N, -ctime N
•  Các lệnh thực thi trên tạp các file tìm được
–  -print
–  -exec câu_lệnh
@Hà Quốc Trung 2009 30
Ví dụ
•  $find /usr -name toto -print
–  Tìm kiếm file tên là toto trong thư mục /usr (bao gồm cả
các thư mục con của /usr)
•  $find /usr -name " *.c " -print
–  Đưa ra danh sách các file kết thúc bằng « .c »
•  $find / -mtime 3 -print
–  Tìm tất cả các file có thay đổi trong 3 ngày gần đây
•  $find / -size 2000 -print
–  Tìm tất cả các file có kích thước lớn hơn 1 GB (= 2000
block 512 KB)
•  $find / -type f -user olivier -perm 755 -print
–  Tìm tất cả các file thuộc về người sử dụng olivier, đồng
thời có quyền truy cập là 755
@Hà Quốc Trung 2009 31
Bài tập
•  Sử dụng các câu lệnh quản lý tệp
•  Sử dụng các câu lệnh quản lý thư mục
•  Sử dụng các câu lệnh tìm kiếm tệp find/locate
@Hà Quốc Trung 2009 32

Weitere ähnliche Inhalte

Was ist angesagt?

Báo cáo t hiết kế mạng doanh nghiệp
Báo cáo t hiết kế mạng doanh nghiệpBáo cáo t hiết kế mạng doanh nghiệp
Báo cáo t hiết kế mạng doanh nghiệp
Le Trung Hieu
 
Tài liệu tổng kểt môn mạng máy tính
Tài liệu tổng kểt môn mạng máy tínhTài liệu tổng kểt môn mạng máy tính
Tài liệu tổng kểt môn mạng máy tính
Jojo Kim
 
Các giao thức sử dụng trong các lớp của mô hình osi
Các giao thức sử dụng trong các lớp của mô hình osiCác giao thức sử dụng trong các lớp của mô hình osi
Các giao thức sử dụng trong các lớp của mô hình osi
UDCNTT
 
PHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNG
PHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNGPHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNG
PHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNG
Thùy Linh
 
Bai03 he thong tap tin fat
Bai03   he thong tap tin fatBai03   he thong tap tin fat
Bai03 he thong tap tin fat
Vũ Sang
 

Was ist angesagt? (20)

Do an xay_dung_website_thuong_mai_dien_tu
Do an xay_dung_website_thuong_mai_dien_tuDo an xay_dung_website_thuong_mai_dien_tu
Do an xay_dung_website_thuong_mai_dien_tu
 
Báo cáo thực tập công nghệ thông tin.
Báo cáo thực tập công nghệ thông tin.Báo cáo thực tập công nghệ thông tin.
Báo cáo thực tập công nghệ thông tin.
 
Luận văn: Nhận dạng và phân loại hoa quả trong ảnh màu, HAY
Luận văn: Nhận dạng và phân loại hoa quả trong ảnh màu, HAYLuận văn: Nhận dạng và phân loại hoa quả trong ảnh màu, HAY
Luận văn: Nhận dạng và phân loại hoa quả trong ảnh màu, HAY
 
Đề tài: Phần mềm quản lý thông tin sinh viên, HOT, 9đ
Đề tài: Phần mềm quản lý thông tin sinh viên, HOT, 9đĐề tài: Phần mềm quản lý thông tin sinh viên, HOT, 9đ
Đề tài: Phần mềm quản lý thông tin sinh viên, HOT, 9đ
 
NGHIEN CUU VA TRIEN KHAI VPN
NGHIEN CUU VA TRIEN KHAI VPN NGHIEN CUU VA TRIEN KHAI VPN
NGHIEN CUU VA TRIEN KHAI VPN
 
Kĩ thuật lọc ảnh và ứng dụng trong lọc nhiễu làm trơn
Kĩ thuật lọc ảnh và ứng dụng trong lọc nhiễu làm trơnKĩ thuật lọc ảnh và ứng dụng trong lọc nhiễu làm trơn
Kĩ thuật lọc ảnh và ứng dụng trong lọc nhiễu làm trơn
 
Báo cáo t hiết kế mạng doanh nghiệp
Báo cáo t hiết kế mạng doanh nghiệpBáo cáo t hiết kế mạng doanh nghiệp
Báo cáo t hiết kế mạng doanh nghiệp
 
Câu hỏi mạng máy tính
Câu hỏi mạng máy tínhCâu hỏi mạng máy tính
Câu hỏi mạng máy tính
 
Xây Dựng Mạng LAN
Xây Dựng Mạng LANXây Dựng Mạng LAN
Xây Dựng Mạng LAN
 
Tài liệu tổng kểt môn mạng máy tính
Tài liệu tổng kểt môn mạng máy tínhTài liệu tổng kểt môn mạng máy tính
Tài liệu tổng kểt môn mạng máy tính
 
Các giao thức sử dụng trong các lớp của mô hình osi
Các giao thức sử dụng trong các lớp của mô hình osiCác giao thức sử dụng trong các lớp của mô hình osi
Các giao thức sử dụng trong các lớp của mô hình osi
 
Thuc hanh 13
Thuc hanh  13Thuc hanh  13
Thuc hanh 13
 
PHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNG
PHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNGPHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNG
PHÂN TÍCH THIẾT KẾ HỆ THỐNG BÁN HÀNG QUA MẠNG
 
Ktmt chuong 5
Ktmt chuong 5Ktmt chuong 5
Ktmt chuong 5
 
Báo cáo đồ án đề tài xây dựng trợ lý ảo bằng python
Báo cáo đồ án đề tài xây dựng trợ lý ảo bằng pythonBáo cáo đồ án đề tài xây dựng trợ lý ảo bằng python
Báo cáo đồ án đề tài xây dựng trợ lý ảo bằng python
 
docx.vn - Xay dung website ban quan ao online
docx.vn - Xay dung website ban quan ao onlinedocx.vn - Xay dung website ban quan ao online
docx.vn - Xay dung website ban quan ao online
 
Bai03 he thong tap tin fat
Bai03   he thong tap tin fatBai03   he thong tap tin fat
Bai03 he thong tap tin fat
 
Bài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPT
Bài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPTBài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPT
Bài 1: Tổng quan về cơ sở dữ liệu - Giáo trình FPT
 
BÁO CÁO CÔNG NGHỆ PHẦN MỀM 8 điểm-QUẢN LÝ CỬA HÀNG BÁN MÁY ẢNH
BÁO CÁO CÔNG NGHỆ PHẦN MỀM 8 điểm-QUẢN LÝ CỬA HÀNG BÁN MÁY ẢNHBÁO CÁO CÔNG NGHỆ PHẦN MỀM 8 điểm-QUẢN LÝ CỬA HÀNG BÁN MÁY ẢNH
BÁO CÁO CÔNG NGHỆ PHẦN MỀM 8 điểm-QUẢN LÝ CỬA HÀNG BÁN MÁY ẢNH
 
Đề thi Kỹ thuật lập trình có lời giải
Đề thi Kỹ thuật lập trình có lời giảiĐề thi Kỹ thuật lập trình có lời giải
Đề thi Kỹ thuật lập trình có lời giải
 

Andere mochten auch

Bài 5 PHẦN MỀM HỆ THỐNG
Bài 5 PHẦN MỀM HỆ THỐNGBài 5 PHẦN MỀM HỆ THỐNG
Bài 5 PHẦN MỀM HỆ THỐNG
MasterCode.vn
 
Lesson 1 - Introduction to Open Source & Linux
Lesson 1 - Introduction to Open Source & LinuxLesson 1 - Introduction to Open Source & Linux
Lesson 1 - Introduction to Open Source & Linux
Thang Man
 
Lesson 2 - Install Linux & Command Line Environment
Lesson 2 - Install Linux & Command Line EnvironmentLesson 2 - Install Linux & Command Line Environment
Lesson 2 - Install Linux & Command Line Environment
Thang Man
 
Bài 3 CÁC PHẦN MỀM ỨNG DỤNG CƠ BẢN
Bài 3 CÁC PHẦN MỀM ỨNG DỤNG CƠ BẢNBài 3 CÁC PHẦN MỀM ỨNG DỤNG CƠ BẢN
Bài 3 CÁC PHẦN MỀM ỨNG DỤNG CƠ BẢN
MasterCode.vn
 

Andere mochten auch (11)

Bài 5 PHẦN MỀM HỆ THỐNG
Bài 5 PHẦN MỀM HỆ THỐNGBài 5 PHẦN MỀM HỆ THỐNG
Bài 5 PHẦN MỀM HỆ THỐNG
 
Hệ thống giấy phép của phần mềm tự do nguồn mở và tư liệu mở
 Hệ thống giấy phép của phần mềm tự do nguồn mở và tư liệu mở Hệ thống giấy phép của phần mềm tự do nguồn mở và tư liệu mở
Hệ thống giấy phép của phần mềm tự do nguồn mở và tư liệu mở
 
Lesson 1 - Introduction to Open Source & Linux
Lesson 1 - Introduction to Open Source & LinuxLesson 1 - Introduction to Open Source & Linux
Lesson 1 - Introduction to Open Source & Linux
 
Lesson 2 - Install Linux & Command Line Environment
Lesson 2 - Install Linux & Command Line EnvironmentLesson 2 - Install Linux & Command Line Environment
Lesson 2 - Install Linux & Command Line Environment
 
Tài liệu hướng dẫn sử dụng Ubuntu bằng tiếng Việt
Tài liệu hướng dẫn sử dụng Ubuntu bằng tiếng ViệtTài liệu hướng dẫn sử dụng Ubuntu bằng tiếng Việt
Tài liệu hướng dẫn sử dụng Ubuntu bằng tiếng Việt
 
BITS: Introduction to linux, distributions and installation
BITS: Introduction to linux, distributions and installationBITS: Introduction to linux, distributions and installation
BITS: Introduction to linux, distributions and installation
 
Bài 1: Tìm hiểu về phần mềm miễn phí và phần mềm tự do, nguồn mở
Bài 1: Tìm hiểu về phần mềm miễn phí và phần mềm tự do, nguồn mởBài 1: Tìm hiểu về phần mềm miễn phí và phần mềm tự do, nguồn mở
Bài 1: Tìm hiểu về phần mềm miễn phí và phần mềm tự do, nguồn mở
 
Bài 3 CÁC PHẦN MỀM ỨNG DỤNG CƠ BẢN
Bài 3 CÁC PHẦN MỀM ỨNG DỤNG CƠ BẢNBài 3 CÁC PHẦN MỀM ỨNG DỤNG CƠ BẢN
Bài 3 CÁC PHẦN MỀM ỨNG DỤNG CƠ BẢN
 
Unix - An Introduction
Unix - An IntroductionUnix - An Introduction
Unix - An Introduction
 
UNIX/Linux training
UNIX/Linux trainingUNIX/Linux training
UNIX/Linux training
 
X Window System
X Window SystemX Window System
X Window System
 

Ähnlich wie Linux và mã nguồn mở

Lesson 3 - Linux File System
Lesson 3 - Linux File SystemLesson 3 - Linux File System
Lesson 3 - Linux File System
Thang Man
 
Bảng tra cứu các lệnh cơ bản của unix và linux sưu tầm bởi www.vilinux.com
Bảng tra cứu các lệnh cơ bản của unix và linux sưu tầm bởi www.vilinux.comBảng tra cứu các lệnh cơ bản của unix và linux sưu tầm bởi www.vilinux.com
Bảng tra cứu các lệnh cơ bản của unix và linux sưu tầm bởi www.vilinux.com
Brand Xanh
 
Bai02 he thong quan ly tap tin
Bai02   he thong quan ly tap tinBai02   he thong quan ly tap tin
Bai02 he thong quan ly tap tin
Vũ Sang
 

Ähnlich wie Linux và mã nguồn mở (20)

Chuong 03 he_thong_file
Chuong 03 he_thong_fileChuong 03 he_thong_file
Chuong 03 he_thong_file
 
tài liệu Mã nguồn mở 03 he-thong-tep-linux-14
tài liệu Mã nguồn mở  03 he-thong-tep-linux-14tài liệu Mã nguồn mở  03 he-thong-tep-linux-14
tài liệu Mã nguồn mở 03 he-thong-tep-linux-14
 
Làm thế nào để học linux trong 24h?
Làm thế nào để học linux trong 24h?Làm thế nào để học linux trong 24h?
Làm thế nào để học linux trong 24h?
 
Lesson 3 - Linux File System
Lesson 3 - Linux File SystemLesson 3 - Linux File System
Lesson 3 - Linux File System
 
Bảng tra cứu các lệnh cơ bản của unix và linux sưu tầm bởi www.vilinux.com
Bảng tra cứu các lệnh cơ bản của unix và linux sưu tầm bởi www.vilinux.comBảng tra cứu các lệnh cơ bản của unix và linux sưu tầm bởi www.vilinux.com
Bảng tra cứu các lệnh cơ bản của unix và linux sưu tầm bởi www.vilinux.com
 
3 he thong-file
3 he thong-file3 he thong-file
3 he thong-file
 
3 he thong-file
3 he thong-file3 he thong-file
3 he thong-file
 
3 he thong-file
3 he thong-file3 he thong-file
3 he thong-file
 
Linux04 hethongtaptin
Linux04 hethongtaptinLinux04 hethongtaptin
Linux04 hethongtaptin
 
Project name
Project nameProject name
Project name
 
To ghi nho ubuntu
To ghi nho   ubuntuTo ghi nho   ubuntu
To ghi nho ubuntu
 
Carte ref-ubuntu-vi (1)
Carte ref-ubuntu-vi (1)Carte ref-ubuntu-vi (1)
Carte ref-ubuntu-vi (1)
 
Bai02 he thong quan ly tap tin
Bai02   he thong quan ly tap tinBai02   he thong quan ly tap tin
Bai02 he thong quan ly tap tin
 
Cac lenh linux_co_ban
Cac lenh linux_co_banCac lenh linux_co_ban
Cac lenh linux_co_ban
 
So tay nho lenh linux
So tay nho lenh linuxSo tay nho lenh linux
So tay nho lenh linux
 
Carte ref-ubuntu-vi
Carte ref-ubuntu-viCarte ref-ubuntu-vi
Carte ref-ubuntu-vi
 
Quản lý ổ đĩa
Quản lý ổ đĩaQuản lý ổ đĩa
Quản lý ổ đĩa
 
ShellProgramming
ShellProgrammingShellProgramming
ShellProgramming
 
Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)Linux Network Administration (LPI-1,LPI-2)
Linux Network Administration (LPI-1,LPI-2)
 
Tóm tắt lệnh Ubuntu
Tóm tắt lệnh UbuntuTóm tắt lệnh Ubuntu
Tóm tắt lệnh Ubuntu
 

Mehr von Nguyễn Anh

Báo cáo đồ họa máy tính - Computer graphics
Báo cáo đồ họa máy tính - Computer graphicsBáo cáo đồ họa máy tính - Computer graphics
Báo cáo đồ họa máy tính - Computer graphics
Nguyễn Anh
 

Mehr von Nguyễn Anh (20)

Báo cáo đồ họa máy tính - Computer graphics
Báo cáo đồ họa máy tính - Computer graphicsBáo cáo đồ họa máy tính - Computer graphics
Báo cáo đồ họa máy tính - Computer graphics
 
Game programming - Hexagon
Game programming - HexagonGame programming - Hexagon
Game programming - Hexagon
 
Dynamic programming
Dynamic programmingDynamic programming
Dynamic programming
 
Nghiên cứu chuẩn ISO/IEC 9126 trong đánh giá chất lượng phần mềm
Nghiên cứu chuẩn ISO/IEC 9126 trong đánh giá chất lượng phần mềmNghiên cứu chuẩn ISO/IEC 9126 trong đánh giá chất lượng phần mềm
Nghiên cứu chuẩn ISO/IEC 9126 trong đánh giá chất lượng phần mềm
 
Ứng dụng ngôn ngữ UML trong phân tích và thiết kế website cho giảng viên Việ...
Ứng dụng ngôn ngữ UML trong phân tích và thiết kế  website cho giảng viên Việ...Ứng dụng ngôn ngữ UML trong phân tích và thiết kế  website cho giảng viên Việ...
Ứng dụng ngôn ngữ UML trong phân tích và thiết kế website cho giảng viên Việ...
 
Tìm hiểu các kỹ thuật kiểm thử phần mềm ứng dụng trong lập trình Java.
Tìm hiểu các kỹ thuật kiểm thử phần mềm  ứng dụng trong lập trình Java.Tìm hiểu các kỹ thuật kiểm thử phần mềm  ứng dụng trong lập trình Java.
Tìm hiểu các kỹ thuật kiểm thử phần mềm ứng dụng trong lập trình Java.
 
Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀMSldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
Sldie TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
 
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀMTÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
 
Tìm Hiểu Các Kỹ Thuật Kiểm Thử Phần Mềm và Một Số Ứng Dụng Trong Thực Tế
Tìm Hiểu Các Kỹ Thuật Kiểm Thử Phần Mềm và Một Số Ứng Dụng Trong Thực Tế Tìm Hiểu Các Kỹ Thuật Kiểm Thử Phần Mềm và Một Số Ứng Dụng Trong Thực Tế
Tìm Hiểu Các Kỹ Thuật Kiểm Thử Phần Mềm và Một Số Ứng Dụng Trong Thực Tế
 
Tìm hiểu về kỹ thuật Kiểm thử phần mềm
Tìm hiểu về kỹ thuật Kiểm thử phần mềmTìm hiểu về kỹ thuật Kiểm thử phần mềm
Tìm hiểu về kỹ thuật Kiểm thử phần mềm
 
Bảo trì phần mềm
Bảo trì phần mềmBảo trì phần mềm
Bảo trì phần mềm
 
Embedded beta2 new
Embedded beta2 newEmbedded beta2 new
Embedded beta2 new
 
Embedded linux edited
Embedded linux editedEmbedded linux edited
Embedded linux edited
 
Slide Các kỹ thuật bảo trì phần mềm
Slide Các kỹ thuật bảo trì phần mềmSlide Các kỹ thuật bảo trì phần mềm
Slide Các kỹ thuật bảo trì phần mềm
 
Các kỹ thuật bảo trì phần mềm
Các kỹ thuật bảo trì phần mềmCác kỹ thuật bảo trì phần mềm
Các kỹ thuật bảo trì phần mềm
 
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀMTÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
TÌM HIỂU CÁC KỸ THUẬT KIỂM THỬ PHẦN MỀM
 
Đào tạo ĐH
Đào tạo ĐHĐào tạo ĐH
Đào tạo ĐH
 
Cài đặt windows mà không cần phải kích hoạt
Cài đặt  windows mà không cần phải kích hoạtCài đặt  windows mà không cần phải kích hoạt
Cài đặt windows mà không cần phải kích hoạt
 
System hacking
System hackingSystem hacking
System hacking
 
Hoc internet
Hoc internetHoc internet
Hoc internet
 

Linux và mã nguồn mở

  • 1. Hệ thống tệp Linux Môn học Linux và Phần mềm Mã nguồn mở TS. Hà Quốc Trung Bộ môn Truyền thông và Mạng Máy tính
  • 2. Nội dung •  Khái niệm về hệ thống tệp logic •  Các thao tác với thư mục •  Các thao tác với tệp •  inode @Hà Quốc Trung 2009 2
  • 3. Hệ thống tệp logic @Hà Quốc Trung 2009 3
  • 4. Cấu trúc hệ thống tệp •  Một/Nhiều cây phân cấp thư mục và các tệp – Tệp nhóm các bít – Một thư mục dùng để tạo nhóm các tệp dữ liệu và thư mục •  Thư mục gốc (/) là điểm vào đầu tiên cho cả cây thư mục •  Các tệp là các nút lá @Hà Quốc Trung 2009 4
  • 5. Các thư mục thông dụng trong Linux •  / (thư mục gốc) –  /bin : thư mục tệp chương trình cơ bản –  /boot : thư mục chứa hạt nhân của HĐH –  /etc : thư mục các tệp cấu hình –  /dev : thư mục các tệp thiết bị –  /home : thư mục chứa dữ liệu NSD –  /lib : thư viện hệ thống –  /usr : thư mục ứng dụng –  /var : thư mục dữ liệu cập nhật –  /proc @Hà Quốc Trung 2009 5
  • 6. Tệp Linux vs. tệp Windows •  Giống nhau –  độ dài tối đa cho tên tệp là 255 –  Chấp nhận tất cả các kí tự để đặt tên tệp (nhưng nên tránh sử dụng các kí tự đặc biệt như * ? [ ] & để tránh sự nhập nhằng trong câu lệnh sử dụng sau này) •  Tính đặc thù của Linux –  Quản lý dưới một khung nhìn của tệp cho cả thư mục và các loại tài nguyên hệ thống (ngoại vi, bảng phân chương đĩa) –  Không có khái niệm phần mở rộng của tên tệp (kí tự '.' trong tên tệp được đối xử như mọi kí tự khác –  Không dùng ổ đĩa logic trong cây thư mục –  '/' được dùng thay cho '' trong đường dẫn thư mục @Hà Quốc Trung 2009 6
  • 7. Đường dẫn và thư mục đặc biệt •  Truy cập tệp và thư mục cần dùng các đường dẫn •  Đường dẫn có thể có mốc từ các thư mục đặc biệt – / : thư mục gốc – ~/ : thư mục nhà – . : thư mục hiện tại – .. : thư mục cha @Hà Quốc Trung 2009 7
  • 8. Đường dẫn tương đối và tuyệt đối @Hà Quốc Trung 2009 8
  • 9. Lệnh cơ bản quản lý thư mục •  pwd •  cd •  ls –la [tên thư mục] •  mkdir [-p] [tên thư mục mới] •  rmdir [tên thư mục rỗng] @Hà Quốc Trung 2009 9
  • 10. Quản lý thư mục •  pwd: hiển thị đường dẫn tuyệt đối của thư mục hiện tại •  cd: thay đổi vị trí thư mục hiện tại –  $ cd /home/tuananh ↵ –  $ cd tuananh ↵ •  ls: liệt kê các tệp trong một thư mục –  $ ls ↵ –  $ ls /home/tuananh –  $ ls –la tuananh •  tuỳ chọn -a cho phép hiển thị cả các tệp ẩn •  tuỳ chọn -l cho phép hiển thị thuộc tính cho mỗi tệp (kiểu, quyền, liên kết, chủ sở hữu, nhóm sở hữu, kích thước, ngày sửa đổi) •  mkdir: tạo một thư mục rỗng •  rmdir: xoá một thư mục rỗng @Hà Quốc Trung 2009 10
  • 11. Câu lệnh ls @Hà Quốc Trung 2009 11
  • 12. Kiểu của tệp •  Tệp thư mục là một thư mục trong đường dẫn phân loại (vd., / usr, /home,…) •  Tệp thông thường là một tệp chứa dữ liệu hoặc tệp chương trình (vd., /bin/passwd, /etc/passwd, …) •  Tệp đặc biệt là một tệp thiết bị tương ứng với thiết bị ngoại vi hoặc các tệp tự sinh bởi HĐH. Có thể có tệp ký tự hoặc tệp block •  Liên kết •  Các tệp biểu diễn các kênh vào ra @Hà Quốc Trung 2009 12
  • 13. Các kiểu tệp •  Các ký hiệu dưới đây được sử dụng để biểu diễn các kiểu tệp –  - : tệp thông thường –  d : thư mục –  b : tệp đặc biệt (block) –  c : tệp đặc biệt (ký tự) –  l : link –  m : phần bộ nhớ trong dùng chung –  p : đường ống @Hà Quốc Trung 2009 13
  • 14. Tên đặc biệt •  « . » : thư mục hiện tại •  « .. » : thư mục cha •  « ~ » : thư mục cá nhân •  « .xxx » : tệp ẩn (e.g., /home/tuananh/.bashrc) @Hà Quốc Trung 2009 14
  • 15. Ví dụ $ cd ~ $ pwd /home/tuananh $ ls -la -rw-r--r-- 1 tuananh user1 2451 Feb 7 07:30 .bashrc -rw-r--r-- 1 tuananh user1 4025 Feb 10 19:12 linux.ppt drwxr-xr-- 2 tuananh user1 512 Feb 10 19:12 linux $ mkdir vanban $ cd vanban $ pwd /home/tuananh/vanban $ cd .. $ pwd $ rmdir vanban @Hà Quốc Trung 2009 15
  • 16. Các siêu kí tự – * dùng để thay thế cho một chuỗi kí tự bất kì bao gồm cả xâu rỗng – ? thay thế cho một kí tự bất kì – [ ] được thay thế bởi một kí tự trong một tập kí tự cho trước – [! ] được thay thế bởi một kí tự không có trong một tập kí tự cho trước @Hà Quốc Trung 2009 16
  • 17. Ví dụ $ ls -l *.[c,h] -rw-r--r-- 1 tuananh user1 2451 Feb 7 07:30 myprog.c -rw-r--r-- 1 tuananh user1 2451 Feb 7 07:30 myprog.h $ ls -l *prog drwxr-xr-- 2 tuananh user1 512 Feb 10 19:12 c_prog drwxr-xr-- 2 tuananh user1 512 Feb 10 19:12 java_prog $ ls -l .* -rw-r--r-- 1 tuananh user1 451 Feb 7 07:30 .bashrc -rw-r--r-- 1 tuananh user1 225 Feb 7 07:30 .bash_profile -rw-r--r-- 1 tuananh user1 351 Feb 7 07:30 .bash_logout @Hà Quốc Trung 2009 17
  • 18. Quản lý tệp •  $cp file1 […] dir –  sao chép một hoặc nhiều tệp vào một thư mục •  $mv file1 […] dir –  di chuyển một hoặc nhiều tệp đến một thư mục •  $rm file1 […] –  xoá một hoặc nhiều tệp •  tuỳ chọn -R (recursive) –  cho phép sao chép/di chuyển/xoá toàn bộ thư mục bao gồm cả các thư mục con @Hà Quốc Trung 2009 18
  • 19. Quản lý tệp •  cat: xem nhanh một tệp •  more: xem từng dòng •  less: xem từng trang •  tail: xem cuối tệp •  head: xem đầu tệp •  touch: tạo tệp mới, cập nhật tệp cũ •  echo > [tên tệp] @Hà Quốc Trung 2009 19
  • 20. Ví dụ $ ls -l -rw-r--r-- 1 tuananh user1 16 Feb 10 19:12 test.txt drwxr-xr-- 2 tuananh user1 512 Feb 10 19:14 vanban $ cp test.txt vanban $ ls -l vanban -rw-r--r-- 1 tuananh user1 16 Feb 12 20:03 test.txt $ rm –R vanban $ ls -l -rw-r--r-- 1 tuananh user1 16 Feb 10 19:12 test.txt $ rm test.txt $ ls -l $ @Hà Quốc Trung 2009 20
  • 21. Khái niệm inode •  Một inode được tạo ra cho mỗi điểm vào trên hệ thống tệp •  Nội dung của tệp được lưu trong các khối dữ liệu –  một tệp rỗng = một inode không có khối dữ liệu •  Một thư mục là một tệp với nội dung là một bảng liên kết –  một liên kết gắn một tên tệp với một inode của hệ thống tệp @Hà Quốc Trung 2009 21
  • 22. Liên kết vật lý (1) •  Một liên kết vật lý là một quan hệ giữa tên tệp trong thư mục với một inode •  Có thể có nhiều liên kết vật lý đến cùng một inode •  Lệnh ln cho phép tạo một liên kết vật lý đến một inode (tệp) đã tồn tại –  tệp mới chia sẻ cùng inode và khối dữ liệu của tệp ban đầu @Hà Quốc Trung 2009 22 $ln fbis lien
  • 23. Liên kết vật lý (2) •  Số liên kết vật lý đến một inode có thể được xem bằng lệnh ls –l $ ls -l -rw-rw-r-- 1 tuananh user1 0 Nov 12 15:19 file drwxr-xr-x 2 tuananh user1 4096 Dec 14 17:50 dir •  Tại sao với một thư mục luôn có ít nhất 2 liên kết vật lý? •  Xoá một tệp (lệnh rm) đồng nghĩa với xoá một liên kết –  Nếu là liên kết vật lí cuối cùng trỏ đến inode được xoá thì các khối liên quan đến inode cũng được xoá theo @Hà Quốc Trung 2009 23
  • 24. Liên kết biểu tượng •  ln -s R2/nouveau R3/lien_symbolique –  khi tạo liên kết biểu tượng (tuỳ chọn –s) một inode mới được tạo ra –  inode này chứa tên (dạng tuyệt đối hay tương đối) của phần tử được trỏ tới @Hà Quốc Trung 2009 24
  • 25. Liên kết biểu tượng vs. Liên kết vật lý •  Liên kết biểu tượng cho phép tránh được các hạn chế về mặt dung lượng của thiết bị lưu trữ –  Một liên kết vật lý luôn luôn chiếm một số lượng inode nhất định •  Chúng ta có thể phân biệt rõ một file được tạo ra và file gốc trong một liên kết biểu tượng –  Điều gì sẽ xảy ra khi một người xóa đi file gốc ? @Hà Quốc Trung 2009 25
  • 26. Ví dụ $ ls -l -rw-r--r-- 1 tuananh user1 8 Feb 10 1:12 test.txt $ ln test.txt link1 $ ln -s test.txt link2 $ ls -l link* -rw-r--r-- 2 tuananh user1 16 Feb 10 1:12 link1 lrw-r--r-- 1 tuananh user1 16 Feb 10 1:13 link2->test.txt @Hà Quốc Trung 2009 26
  • 27. Cấu trúc của inode @Hà Quốc Trung 2009 27
  • 28. inode File info Direct blocks Indirect blocks Double Indirect Blocks
  • 29. Phân bổ trên đĩa cứng @Hà Quốc Trung 2009 29
  • 30. Tìm kiếm file $ find tên_thư_mục expressions –  Cho phép tìm kiếm các file trong một thư mục (ngầm định là trong thư mục hiện tại) với một số điều kiện hoặc các lệnh thực thi trên tập các file tìm được. •  Các điều kiện –  Tên : -name tên –  Quyền truy cập : -perm quyền_truy_cập –  Kiểu : -type d/f/... –  Kích thước : -size N –  Thời gian : -atime N, -mtime N, -ctime N •  Các lệnh thực thi trên tạp các file tìm được –  -print –  -exec câu_lệnh @Hà Quốc Trung 2009 30
  • 31. Ví dụ •  $find /usr -name toto -print –  Tìm kiếm file tên là toto trong thư mục /usr (bao gồm cả các thư mục con của /usr) •  $find /usr -name " *.c " -print –  Đưa ra danh sách các file kết thúc bằng « .c » •  $find / -mtime 3 -print –  Tìm tất cả các file có thay đổi trong 3 ngày gần đây •  $find / -size 2000 -print –  Tìm tất cả các file có kích thước lớn hơn 1 GB (= 2000 block 512 KB) •  $find / -type f -user olivier -perm 755 -print –  Tìm tất cả các file thuộc về người sử dụng olivier, đồng thời có quyền truy cập là 755 @Hà Quốc Trung 2009 31
  • 32. Bài tập •  Sử dụng các câu lệnh quản lý tệp •  Sử dụng các câu lệnh quản lý thư mục •  Sử dụng các câu lệnh tìm kiếm tệp find/locate @Hà Quốc Trung 2009 32