lập trình linux - Chương 3

58 341 0
lập trình linux - Chương 3

Đ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

lập trình linux

Nội dung Nội dung 3.1. Tổng quan về hệ thống file 3.1.1. Một số khái niệm 3.1.2. Sơ bộ kiến trúc nội tại của hệ thống file 3.1.3. Một số thuật toán làm việc với inode 3.1.4. Hỗ trợ nhiều hệ thống file 3.1.5. Liên kết tượng trưng 3.2. Quyền truy nhập thư mục và file 3.2.1. Các quyền truy nhập 3.2.2. Các lệnh cơ bản chmod, chown, chgrp 04/01/14 2 3.3. Thao tác với thư mục 3.3.1. Một số thư mục đặc biệt 3.3.2. Các lệnh cơ bản về thư mục 3.4. Các lệnh làm việc với file 3.4.1. Các kiểu file có trong Linux 3.4.2. Các lệnh tạo file 3.4.3. Các lệnh thao tác trên file 3.4.4. Các lệnh thao tác theo nội dung file 3.4.5. Các lệnh tìm file 3.5. Sao lưu và nén dữ liệu 3.5.1. Sao lưu các file 3.5.2. Nén dữ liệu Tệp và thư mục Tệp và thư mục  Tệp (file) là đơn vị lưu trữ nhỏ nhất trong hệ điều hành Unix/Linux  Tệp là một chuỗi byte  Thư mục trong Unix là một loại tệp đặc biệt, dùng để quản lý thông tin về các file khác Tên tệp/Tên thư mục Tên tệp/Tên thư mục  Tệp và thư mục được phân biệt qua tên  Tên tệp/thư mục có thể dài 256 ký tự, bao gồm chữ, số, gạch chân, dấu chấm, dấu cách  Các ký tự không được sử dụng trong tên tệp/thư mục: !, *, $, &, #  Tập các tệp có trong máy do Unix/Linux quản lý được gọi là “hệ thống tệp” Ký hiệu chỉ nhóm tệp Ký hiệu chỉ nhóm tệp  Có thể sử dụng các ký hiệu đặc biệt * và ? để chỉ định nhóm các tệp  Ví dụ:  ab*: Tất cả các tệp có tên bắt đầu bằng ab  ab*.c: Tất cả các tệp có tên bắt đầu bằng ab và kết thúc bằng .c  a?cd: Tất cả các tệp có tên bắt đầu bằng chữ a, sau đó là một ký tự bất kỳ rồi kết thúc là cd Cấu trúc hệ thống tệp Cấu trúc hệ thống tệp  Một số tên thư mục đặc biệt:  “/”: Thư mục gốc  “.”: Thư mục hiện hành  “ ”: Thư mục cha  Ví dụ:  “/”: Thư mục gốc  “usr” là thư mục con của “/” và là thư mục cha của “lib”, “local”… Đường dẫn (path) Đường dẫn (path)  Để định vị một tệp hoặc một thư mục trong hệ thống tệp, ta cần một đường dẫn  Ví dụ:  Đường dẫn đến thư mục: /usr/bin  Đường dẫn đến tệp: /usr/bin/vi (vi là tên một hệ soạn thảo văn bản trên Unix)  Đường dẫn có nhiều thành phần, các thành phần là tên thư mục hoặc tên tệp (thường ở vị trí cuối cùng) cách nhau bởi dấu “/” Đường dẫn tuyệt đối và tương đối Đường dẫn tuyệt đối và tương đối  Đường dẫn tuyệt đối bắt đầu bởi dấu “/”  Đường dẫn tương đối dùng để chỉ cách định vị tệp/thư mục từ thư mục hiện hành Kiến trúc bên trong hệ thống tệp Kiến trúc bên trong hệ thống tệp  Không bắt buộc học phần này  Xem trong giáo trình, mục 3.1.2, 3.1.3 trang 40 đến trang 49 Liên kết Liên kết  Unix có 2 kiểu liên kết  Liên kết cứng  Liên kết tượng trưng (liên kết mềm)  Liên kết cứng cho phép chúng ta tạo thêm file một cách định vị trong hệ thống tệp (không có liên kết cứng đến thư mục)  Liên kết mềm là một kiểu tệp đặc biệt tham chiếu đến tên một tệp hoặc thư mục khác [...]... drwxrwxr-x 2 dev1 54pm1 4096 201 2-1 0-2 6 14 :32 dev1 drwxr-xr-x 2 dev2 54pm1 4096 201 2-1 0-2 6 14:28 dev2 root@ubuntu:/home# User dev1 dev1@ubuntu:~$ cat > dev1diary Nhat ky cua dev1 dev1@ubuntu:~$ ls -l dev1diary -rw-rw-r 1 dev1 dev1 17 201 2-1 0-2 6 14 :32 dev1diary dev1@ubuntu:~$ chmod og-rx dev1diary dev1@ubuntu:~$ ls -l dev1diary -rw - 1 dev1 dev1 17 201 2-1 0-2 6 14 :32 dev1diary dev1@ubuntu:~$ ls -l total... file -> dev2 vẫn xóa được User ngochan -> root root@ubuntu:/home# tail -4 /etc/group admin:x:110:ngochan ftp:x:111:ftp dev1:x:1001: dev2:x:1004: root@ubuntu:/home# groupadd 54pm1 root@ubuntu:/home# usermod -g 54pm1 dev1 root@ubuntu:/home# usermod -g 54pm1 dev2 root@ubuntu:/home# ls -l dev1 drwxr-xr-x 2 dev1 54pm1 4096 201 2-1 0-2 6 14 :32 dev1 root@ubuntu:/home# chmod g+w dev1 root@ubuntu:/home# ls -l dev*... được biểu diễn trong lệnh  Ví dụ:  chmod g+w test  chmod o-rx test Xác lập tuyệt đối   Ta có thể thay đổi quyền truy nhập theo giá trị tuyệt đối ở bảng sau: Nếu tập tin apple cần thiết lập quyền {r-x r -w-} ứng với những mã số tính theo cách sau:  r-x owner {r = 4; w = 0; x = 1} 4+0+1=5  r-group {r = 4; w = 0; x = 0} 4+0+0=4  -wother {r = 0; w = 2; x = 0} 0+2+0=2  Vậy giá trị cần đặt cho... thi (chạy chương trình) Được chuyển vào trong thư mục bằng lệnh cd - None Không có quyền Không có quyền  Trình bày nội dung các tập tin và thư mục được thiết lập quyền (set permission) trong thư mục cá nhân (Home Directory) của người dùng tên là ngochan Chú ý đến các thuộc tính sau:  Cờ đầu tiên (cờ đặc tính) chỉ loại file: - File thông thường d Thư mục p Kiểu đường ống pipe s Socket  Có 3 đối tượng... Tác dụng ls -l Thưmục liệt kê danh mục tập tin trong Thưmục một cách chi tiết ls -a liệt kê tất cả các tập tin, kể cả các tập tin ẩn (thường có tên bắt đầu bằng một dấu chấm) ls -d liệt kê tên các thư mục nằm trong thư mục hiện hành ls -t xếp lại các tập tin theo ngày được tạo ra, bắt đầu bằng những tập tin mới nhất ls -S xếp lại các tập tin theo kích thước, từ to nhất đến nhỏ nhất ls -l | more liệt... mỗi đối tượng có 3 quyền cụ thể read, write, execute với file  Thiết lập (thay đổi) thuộc tính truy nhập cho tập tin và thư mục bằng lệnh chmod  Phải thực hiện bằng quyền của ROOT hoặc chủ sở hữu Ví dụ:  Khi người dùng tạo ra một tập tin (hoặc thư mục)  người dùng là chủ sở hữu (Owner) Owner  Mặc định quyền được thiết lập với file là read - write ~ rw  Mặc định quyền được thiết lập với thư mục... với info cho other là x (chỉ execute)  nhưng với thư mục VIDU ta lại thiết lập cho other là - (không có tính năng execute)  Thì tập tin info đối với người dùng không phải owner và group thì KHÔNG được quyền thực thi  Lệnh chmod có thể thực hiện theo cách xác lập tương đối hoặc tuyệt đối Cách xác lập tương đối  Cách xác lập tương đối là dễ nhớ theo ý nghĩa của nội dung các mod và chỉ những thay...  Cú pháp lệnh: wc [tùy-chọn] [file]  Lệnh hiển thị ra số lượng dòng, số lượng từ, số lượng ký tự trong mỗi file  Nếu nhiều hơn 1 file được chỉ ra thì có thêm một dòng tính tổng  Nếu không có tên file thì lệnh sẽ đọc và đếm trên thiết bị vào chuẩn wc: Các tùy chọn -c đưa ra số ký tự trong file -l đưa ra số dòng trong file -L đưa ra chiều dài của dòng dài nhất trong file -w đưa ra số từ trong file... rồi đưa ra output  Các tùy chọn: -c, count : đếm và hiển thị số lần xuất hiện của các dòng trong file -d : hiển thị lên màn hình dòng bị trùng lặp -u : hiển thị nội dung file sau khi xóa bỏ toàn bộ các dòng bị trùng lặp không giữ lại một dòng nào -i : hiển thị nội dung file sau khi xóa bỏ các dòng trùng lặp và chỉ giữ lại duy nhất một dòng có nội dung bị trùng lặp -D : hiển thị tất cả các dòng trùng... file  Ví dụ: ngochan@ubuntu:~$ wc /etc/passwd 28 34 1204 /etc/passwd Kết hợp wc với các lệnh khác  wc kết hợp với ls để xác định số file có trong một thư mục: $ ls | wc -l 8  wc kết hợp với lệnh cat để biết số tài khoản: $ cat /etc/passwd | wc -l Lệnh uniq  Lệnh uniq giúp loại bỏ những dòng thông tin bị trùng lặp trong một file  Cú pháp: uniq [tùy-chọn] [input] [output]  Lệnh uniq sẽ loại bỏ các

Ngày đăng: 04/01/2014, 08:17

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan