Tải bản đầy đủ (.doc) (23 trang)

Báo cáo chuyên đề Quản lí file hệ thống, thư mục và cài đặt phần mềm trên Linux

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (271.89 KB, 23 trang )

MỤC LỤC
MỤC LỤC.............................................................................................................1
I. File hệ thống, thư mục.......................................................................................3
1.1. Cấu trúc hệ thống tập tin (File System)......................................................3
1.1.1. Giới thiệu hệ thống tập tin...................................................................3
1.1.2. Loại tập tin...........................................................................................4
1.1.3. Tập tin liên kết ....................................................................................4
1.2. Cấu trúc cây thư mục..................................................................................4
1.3. Các quyền truy cập file và thư mục (bảo mật hệ thống tập tin)................5
1.3.1. Quyền hạn............................................................................................5
1.3.2. Thay đổi quyền sở hữu file, thư mục sử dụng lệnh chown.................8
1.3.2. Thay đổi nhóm sử dụng file/thư mục với lệnh chgrp..........................8
1.3.4. Thay đổi quyền truy cập file thư mục sử dụng lệnh chmod................9
1.4. Các thao tác trên hệ thống tập tin và đĩa....................................................9
1.4.1. Mount và umount một hệ thống tập tin...............................................9
1.4.2. Định dạng filesystem.........................................................................10
1.4.3. Quản lý dung lượng đĩa ....................................................................10
1.5. Các lệnh thao tác trên hệ thống tập tin và thư mục.................................10
1.5.1. Xem thư mục làm việc hiện hành .....................................................10
1.5.2. Xem thông tin về tập tin và thu mục ................................................11
1.5.3. Thay dổi thư mục hiện hành .............................................................12
1.5.4. Tạo mới thu mục ...............................................................................12
1.5.5. Tạo một tập tin trống.........................................................................12
1.5.6. Di chuyển một hay nhiều tập tin ......................................................12
1.5.7. Sao chép tập tin ...............................................................................13
1.5.8. Đổi tên file.........................................................................................13
1.5.9. Đếm số dòng, số kí tự .. trong tập tin................................................13
1.5.10. Xoá thư mục rỗng ...........................................................................13
1.5.11. Xóa các tập tin hoặc thư mục ........................................................13
1.5.12. Hiển thị nội dung của các tập tin ...................................................13
1.5.13. Tạo liên kết với tập tin.....................................................................14




1.5.14. Tìm kiếm một tập tin ......................................................................14
1.5.15. Tìm một chuỗi nào đó trong tập tin.................................................15
1.5.16. Nén và giải nén tập tin ....................................................................15
1.5.18. Xem huớng dẫn sử dụng lệnh .........................................................15
1.5.20. Xuất nội dung thông báo ................................................................16
1.5.21. Xem thống kê các quyền của file hay thư mục................................16
1.5.22. Gọi hướng dẫn.................................................................................16
1.6. Các lệnh hệ thống.....................................................................................16
1.6.1. Mount và Umount một hệ thống tập tin............................................16
1.6.2. Định dạng Filesystem........................................................................17
1.6.3. Logical Volume Manager (LVM).....................................................17
II. Cài đặt phần mềm...........................................................................................19
2.1. RPM và DEB là gì?..................................................................................20
2.2. Cài đặt với RPM.......................................................................................20
2.4. Cài gói rpm ở dạng source code .src.rpm.................................................21
2.5. Cài đặt với Yum.......................................................................................22


I. File hệ thống, thư mục
1.1. Cấu trúc hệ thống tập tin (File System)
1.1.1. Giới thiệu hệ thống tập tin
Mỗi hệ điều hành có cách tổ chức lưu trữ dữ liệu riêng. Ở mức vật lý, đĩa
được định dạng từ các thành phần sector, track, cylinder. Ở mức logic, mỗi hệ
thống sử dụng cấu trúc riêng, có thể dùng chỉ mục hay phân cấp để có thể xác
định được dữ liệu từ mức logic tới mức vật lý. Cách tổ chức như vậy gọi là hệ
thống tập tin (file system).
Hệ thống tập tin là một phần cơ bản của hệ điều hành Linux. Một hệ
thống tập tin là thiết bị mà nó đã được định dạng để lưu trữ tập tin và thư mục.

Hệ thống tập tin Linux bao gồm: Đĩa mềm, CD-ROM, những partition
của đĩa cứng. Những hệ thống tập tin thường được tạo trong quá trình cài đặt hệ
điều hành.
Hệ thống tập tin được hỗ trợ trên Linux: Ext2, Ext3, vfat, iso9660, NFS,

- Ext2 hỗ trợ UNIX/ Linux tập tin và thư mục và cho phép đối với tên file
dài (lên đến 255 ký tự).
- Ext3 là hệ thống tập tin mặc định hiện hành đối với Red Hat, Fedora và
nhiều bản phân phối Linux khác.
- ISO9660 là hệ thống được sử dụng trên đĩa CD-ROM.
- Vfat là hệ thống Linux tương thích với hệ điều hành DOS và Windows
Các thành phần của FileSystem (Ext2/3)
- HĐH Linux xem file như là một inode, thư mục là một file chứa những
entry.
- Khi tạo một filesystem, những loại khác được tạo trong filesystem, gồm
3 phần:
+ Superblock: là cấu trúc được tạo tại vị trí bắt đầu filesystem. Lưu trữ
các thông tin:
• Kích thước và cấu trúc filesystem.
• Thời gian cập nhật filesystem cuối cùng.
• Thông tin trạng thái.
+ Inode: lưu thông tin về tập tin và thư mục được tạo trong filesystem:
• Loại tập tin và quyền hạn truy cập.
• Người sở hữu tập tin.
• Kích thước và số hard link đến tập tin.
• Ngày và giờ chỉnh sửa tập tin lần cuối cùng.


• Vị trí lưu nội dung tập tin trong filesystem
+Storageblock: là vùng lưu dữ liệu thực sự của tập tin và thư mục. Nó

chia thành những datablock. Mỗi block chứa 1024 ký tự.
• Datablock của tập tin thường lưu inode của tập tin và nội
dung của tập tin.
• Datablock của thư mục lưu danh sách những entry gồm inode
number, tên tập tin và những thư mục con
1.1.2. Loại tập tin
Dữ liệu: là dữ liệu lưu trữ trên các thiết bị như đĩa cứng, cdrom.
Thư mục: chứa các thông tin của những tập tin và thư mục con.
Thiết bị: Hệ thống Linux xem các thiết bị như là các tập tin. Ra vào dữ
liệu trên các tập tin này chính là ra vào dữ liệu cho thiết bị. Có 2 loại thiết bị:
+ Block device: Được gọi là Random Access Device như đĩa cứng.
+ Character device: Keyboard, audio device.
1.1.3. Tập tin liên kết
Liên kết cứng (Hard link): liên kết trong cùng hệ thống tập tin với hai
inode entry tương ứng trỏ đến cùng một nội dung vật lý (cùng inode number vì
chúng trỏ đến cùng dữ liệu).
Cú pháp: # ln <source_file> <destination_file>
Liên kết mềm (Symbolic link): là một liên kết khác mà không sử dụng
inode entry cho việc liên kết.
Cú pháp: # ln –s <source_file> <destination_file>
1.2. Cấu trúc cây thư mục
Mỗi hệ thống file có cấu trúc giống như một cái cây dựng ngược. Gốc của
cây được đặt trên cùng và bên dưới là lá của nó.
Như đã đề cập ở trên, mỗi phân vùng khi được tạo ra đều có thể có một
mount point. Công việc này thường được thi hành trong quá trình cài đặt. Để
hiểu kỹ hơn về vấn đề này, hãy quan sát kiến trúc phân cấp của một hệ thống file
trong Linux dưới đây:


Trong hình trên, gốc của kiến trúc phân cấp này là thư mục gốc “/”.

Các thư mục cơ bản trên linux:

1.3. Các quyền truy cập file và thư mục (bảo mật hệ thống tập tin)
1.3.1. Quyền hạn
Do Linux là một hệ điều hành đa nhiệm (multitasking) và đa người dùng
(multiuser), nhiều người có thế cùng sử dụng một máy Linux và một người có
thể cho chạy nhiều chương trình khác nhau.


Có hai vấn đề lớn đặt ra: Quyền sở hữu các dữ liệu trên đĩa và phân chia
tài nguyên hệ thống như CPU, RAM giữa các tiến trình.

Mỗi đối tượng file được gắn với ba loại quyền: read (đọc), write (sửa đổi)
và execute (thực thi). Và mỗi quyền này lại được chỉ định cho ba loại user:
- Owner : Chủ sở hữu của đối tượng – mặc định ban đầu là user tạo ra đối
tượng đó.
- Group : Nhóm các user chia sẻ chung quyền hạn truy cập - mặc định ban
đầu là group mà owner ở trên thuộc về.
- Others : Tất cả các user không thuộc hai nhóm trên.
User root (siêu người dùng) có đủ tất cả các quyền đối với mọi đối tượng
trên hệ thống. Ngoài ra, root có thể thay đổi quyền hạn truy cập đối tượng cho
bất kỳ user nào và còn có thể chuyển quyền sở hữu đối tượng qua lại giữa các
user.
Ý nghĩa của ba loại quyền này là:
- Read: cho phép đọc.
- Write: cho phép chỉnh sửa nội dung, xóa file; cho phép tạo và xóa các
đối tượng trong thư mục.
- Excute: cho phép thực thi hoặc truy cập nếu đó là thư mục.
Các quyền cho mỗi đối tượng được biểu diễn theo hai cách
Ký tự


r

w

x

r

w

x

r

w

x


Cách 1: biểu diễn bằng một chuỗi gồm 10 ký tự:
- Ký tự đầu thể hiện loại file:
- : Tệp tin thông thường
d : Thư mục
l : Liên kết
c : Special file
s : Socket
p : Named pipe
b : Thiết bị
- Ba ký tự tiếp là các quyền cho owner.

- Kế đến là ba ký tự biểu diễn các quyền cho group.
- Còn lại ba ký tự cuối dành cho other.
Quyền được phép read sẽ là r, write là w,e là excute. Các quyền bị cấm
được biểu diễn bằng dấu Ví dụ: -rw-r—r—1 fido users 163 Dec 7 14 :31 myfile
Giải thích: +kí tự đầu tiên “-“: đây là một tập tin bình thường
+ người sở hữu có quyền rw tức là đọc và viết . nhóm sở hữu
và những người còn lại chỉ có quyền đọc tập tin (read-only).
Cách 2: biểu diễn dưới dạng 3 số
Quyền hạn cho từng loại người sử dụng một số có 3 bít tương ứng cho 3
quyền read, write và excute. Theo đó nếu cấp quyền thì bít đó là 1, ngược lại là
0.
Bit 2

Bit 1

Bit 0

read

write

excute

Ví dụ:
Chỉ có quyền đọc: 100 có giá trị là 4
Có quyền đọc và thực thi: 101 có giá trị là 5
Theo cách tính số thập phân, ta cũng có thể xác định số quyền hạn bằng
cách tính tổng giá trị của các quyền. Theo quy định trên ta có giá trị tương ứng
như sau:



Quyền

Giá trị

Read permission

4

Write permission

2

Execute permission

1

Ví dụ:Nếu có quyền read và excute thì có số quyền là :4+1=5
Read ,write và excute :4+2+1 =7
Như vậy, khi cấp quyền trên một tập tin/thư mục , ta có thể dùng số thập
phân gồm 3 con số. số đầu tiên miêu tả quyền của sở hữu, số thư hai cho nhóm
và số thứ ba cho những người còn lại.
Ví dụ:một tập tin với quyền 751 có nghĩa là sở hữu có quyền read, write,
và execute bằng 4+2+1=7 .Nhóm có quyền read và execute bằng 4+1=5 và
những người còn lại có quyền execute bằng 1.
1.3.2. Thay đổi quyền sở hữu file, thư mục sử dụng lệnh chown
Người sử dụng superuser có thể thay đổi quyền sở hữu file, thư mục cho
một người sử dụng khác. Để thay đổi quyền sở hữu sử dụng câu lệnh sau:
Cú pháp: $ chown [ten-user:tên-nhóm] [tên-tập-tin/thư –muc]
Ví dụ1: Chown myle bai1.txt

Câu lệnh này làm cho người sử dụng myle có quyền sở hữu file bai1.txt
Ví dụ: Nếu superuser muốn thay đổi nhóm cho một file hoặc thư mục, người đó
có thể sử dụng như sau:
Chown myle.admin bai1.txt
Câu lệnh trên không chỉ thay đổi quyền sở hữu file cho myle mà còn đặt
lại nhóm sử dụng file là admin. Nếu superuser muốn thay đổi người sở hữu và
nhóm sử dụng cho tất cả các file trong một thư mục, người đó có thể sử dụng
câu lệnh chown với tùy chọn –r . ví dụ:
Chown –r myle.admin /home/myle
1.3.2. Thay đổi nhóm sử dụng file/thư mục với lệnh chgrp
Câu lệnh chgrp cho phép bạn thay đổi quyền sử dụng file hay thư mục của
một nhóm, chỉ nếu bạn thuộc về cả hai nhóm(nhóm cũ và nhóm mới)
Cú pháp: chgrp [nhóm-sở-hữu] [tên-tập-tin/thư-mục]
ví dụ:Chgrp httpd*.html
Lệnh trên sẽ thay đổi nhóm sử dụng cho tất cả các file có phần mở rộng
html. Bạn chỉ có thể thay đổi được nếu bạn thuộc nhóm httpd. Giống như lệnh


chown, lệnh chgrp cũng có tùy chon –r để thay đổi quyền với nhiều file hay thư
mục.
1.3.4. Thay đổi quyền truy cập file thư mục sử dụng lệnh chmod
Tiện ích chmod cho phép bạn thay đổi các quyền.Chỉ có chủ sở hữu và
superuser mới có quyền thực hiện lệnh này. Bạn có thể sử dụng các chữ số hay
các ký tự với tiện ích này để thay đổi quyền.
Cú pháp: $chmod [nhóm-người-dùng] [thao-tác] [quyền-hạn] [tên –tập –
tin]
Nhóm người dùng

Thao tác


Quyền

u- user

+:thêm quyền

r-read

g -group

-:xóa quyền

w-write

o-others

=:gán ngang
quyền

x-excute

a-all
Ví dụ:
+Gán thêm quyền write cho group: $ chmod g+w myfile
+xóa quyền read trên group và others :$chmod go-w myfile
+cấp quyền x cho mọi người:
$ chmod ugo+x myfile hoặc chmod a+x myfile hoặc chmod +x myfile
1.4. Các thao tác trên hệ thống tập tin và đĩa
1.4.1. Mount và umount một hệ thống tập tin
Muốn mount một hệ thống tập tin vào cây thư mục, ta phải có một

partition vật lý như CD-ROM, đĩa mềm… và thư mục cần mount(mount point)
vào phải là một thư mục có thật.Nó phải có trước khi mount một hệ thống tập
tin.
Lưu ý: Muốn biết thư mục hiện hành đang ở hệ thống tập tin nào, ta dùng
lệnh df. Lệnh này sẽ hiển thị hệ thống tập tin và khoảng trống còn lại trên đĩa
- Mount hệ thống tập tin có tính tương tác:Để mount một hệ thống tập tin,
ta dùng lệnh mount theo cú pháp sau:
#mount <tên thiêt bị> <điểm –mount>
Trong đó:
+ Tên thiêt bị là thiết bị vật lý như /dev/cdrom/ (CD-ROM), /dev/fd0 (đĩa
mềm)..


+ Điểm –mount là vị trí thư mục, trong cây thư mục, mà ta muốn mount
vào.
Ví dụ:
Mount cdrom: # mount /dev/cdrom
Mount một hệ thống tập tin: # mount/dev/hda6/usr
Remount filesystem :# mount –o remount /home
- Umount một hệ thống tập tin: Sauk hi làm quen với việc gắn những hệ
thống tập tin vào cây thư mục Linux.Ta có thể tháo một hệ thống tập tin bằng
lệnh umount.Ta cần umont một hệ thống tập tin vì nhiều lý do như kiểm tra hay
sữa chữa hệ thống tập tin với lệnh fsck.Có 3 dạng:
#umount thiết bị <điểm-mount>
#umount –a
#umount –t loại –fs
Lưu ý lệnh mount không umount những hệ thống tập tin đang sử dụng
1.4.2. Định dạng filesystem
Dùng lệnh mkfs để định dạng cho mọi hệ thống tập tin (ext2, ext3..)
Cú pháp: # mkfs có the<fstype><filesystem>

Ví dụ: mkfs –t ext2 /dev/hdal
1.4.3. Quản lý dung lượng đĩa
Để quản lý và theo dõi dung lượng đĩa ta có thể sử dụng nhiều cách khác
thông thường ta dùng hai lệnh df và fdisk. Cú pháp lệnh:
+ Liệt kê file system trong hệ thống :# df <option>
+ Liệt kê partition trong hệ thống : #fdisk <option>
1.5. Các lệnh thao tác trên hệ thống tập tin và thư mục
Các tham số luôn bắt dầu bởi dấu “-“, và trong hầu hết các truờng hợp
nhiều tham số một chữ cái có thể kết dùng một dấu “-“.
Ví dụ: Thay vì dùng lệnh ls -l -F, ta có thể dùng lệnh tuong duong ls -lF.
1.5.1. Xem thư mục làm việc hiện hành
Cú pháp : pwd
Xác định vị trí thư mục hiện hành
Vd:
[user12@linux uer12]$ pwd
/home/user12
[user12@linux user12]$


1.5.2. Xem thông tin về tập tin và thu mục
Cú pháp: ls <file1> <file2> ... <fileN> <Tham số>
Trong đó:
<file1> . . . <fileN> là danh sách tên tập tin hay thu mục.
<Tham số>:
ls -F: Dùng dể hiển thị một vài thông tin về kiểu của tập tin
ls -l: (long) liệt kê kích thuớc tập tin, nguời tạo ra, các quyền nguời sử
dụng.
ls –R: Hiển thị tất cả các file và các thư mục con bên trong thư mục mong
muốn
ls –a: Liệt kê tất cả tập tin, kể cả các tập tin có thuộc tính ẩn

ls | less: Hiển thị thông tin, nếu dài có thể dùng PgUp, PgDown duyệt
trang. Thoát bằng phim q.
ls *a*. Hiển thị tất cả tập tin hay thu mục con có kí tự a
ls F*E: Hiển thị danh sách bắt dầu bằng F và kết thúc bằng E
Ví dụ chúng ta chạy lệnh ls –l firstdoc.txt thấy kết quả như sau:
-rwxrw-r-- 1 User1 Testers 512 Oct 24 19:42 firstdoc.txt
Ý nghĩa của các field là:
+ File Access Permission: -rwxrw-r-+ Số liên kết: 1
+ File Owner(người sở hữu): User1
+ Group(nhóm sở hữu): Testers
+ File Size (bytes)(kích thước): 512
+ Ngày sửa chửa cuối cùng: Oct 24
+ Giờ sửa chữa cuối cùng:19:42
+ File name: firstdoc.txt
Ngoài ra, qua lệnh ls –l chúng ta sẽ biết được firstdoc.txt là tập tin hay thư
mục dựa theo:
+ Nếu kí tự đầu tiên là (-), thì đây là tập tin.
+ Nếu kí tự đầu tiên là d, thì đối tượng là thư mục.
+ Nếu kí tự đầu tiên là l, thì đầy là một liên kết (symbolic link) trỏ đến
một file khác (gần giống với shortcut trên Windows OS).
+ Nếu kí tự đầu tiên là b, đối tượng là block device ví dụ như disk drive.
+ Nếu kí tự đầu tiên là c, đối tượng là character device như serial port.


1.5.3. Thay dổi thư mục hiện hành
Cú pháp: cd <directory>
<directory> là thu mục muốn chuyển dến.
Cd . : Yêu cầu chuyển dến thu mục hiện hành.
Cd .. : Chuyển dến thu mục cha.
cd path: Chuyển đến thư mục được chỉ định bởi path

cd ~ : Chuyển về thư mục nhà
cd – : Chuyển về thư mục trước của bạn
[user01@linux user01]$ cd baitap
[user01@linux user01]$ cd /home
1.5.4. Tạo mới thu mục
Cú pháp : mkdir <dir1> <dir2> ... <dirN>
<dir1> . . . <dirN> là tên các thu mục cần tạo.
[user01@linux user01]$ mkdir baitap
[user01@linux user01]$ mkdir document
[user01@linux user01]$ mkdir baitap\ltc
[user01@linux user01]$ ls
[user01@linux user01]$ mkdir baitap/ltc
[user01@linux user01]$ mkdir baitap/perl
1.5.5. Tạo một tập tin trống
Cú pháp: touch <tên tập tin>
1.5.6. Di chuyển một hay nhiều tập tin
Cú pháp: mv <file1> <file2> ... <fileN> <destination>
<file1> . . . <fileN> là danh sách tên tập tin cần di chuyển
<destination> là tập tin hay thư mục dích.
Lệnh mv có thể dùng dể dổi tên tập tin.
- Chuyển nhiều tập tin
$ mv * directory
- Di chuyển thu mục
[user01@linux user01]$ mkdir ctrinh
[user01@linux user01]$ ls –lF
[user01@linux user01]$ mv ctrinh baitap


Di chuyển thư mục
/home/user01/baitap


/home/user01/ctrinh

vào

thư

mục

1.5.7. Sao chép tập tin
Sử dụng câu lệnh cp để sao chép từ một vị trí xác định đến vị trí khác:
Cú pháp: cp <source> <destination>
Vd:
Cp baigiai.doc root/document/anhvan
[user01@linux user01]$ cd baitap
[user01@linux baitap]$ vi tho.txt
[user01@linux baitap]$ mv tho.txt baitho.doc
[user01@linux baitap]$ ls baitho.doc ctrinh
[user01@linux baitap]$ cp baitho.doc ~/document

hello.c

ltc

perl

Bạn cũng có thể xác định một tên mới cho file sao chép. Thông thuờng
lệnh cp được sử dụng với tùy chọn –f để sao chép file từ nguồn đến đích mà
không quan tâm đến việc có một file cùng tên tồn tại ở đích. File mới sẽ ñuợc
sao chép đè lên file cũ. Để sao chép một thu mục đến một thu mục khác bạn

thực hiện lệnh cp với tùy chọn –r.
Ví dụ:
cp –r /tmp/foo /zoo/foo
Sao chép tất cả các tập tin vào một danh mục
$ cp * directory
1.5.8. Đổi tên file
Cú pháp: mv <tencu> <tenmoi>
1.5.9. Đếm số dòng, số kí tự .. trong tập tin
Cú pháp: wc <tên tập tin>
1.5.10. Xoá thư mục rỗng
Cú pháp: rmdir <dir1> <dir2> ... <dirN>
<dir1> ... <dirN> là tên những thu mục cần xóa.
rmdir /home/baitap: Xóa thu mục /home/baitap
1.5.11. Xóa các tập tin hoặc thư mục
Cú pháp: rm <file1> <file2> ... <fileN>
1.5.12. Hiển thị nội dung của các tập tin
Cú pháp: more <file1> <file2> ... <fileN>
<file1> <file2> ... <fileN> là những tập tin cần hiển thị.


[user12@linux user12]$more baitho.txt // hiển thị tập tin baitho.txt
[user12@linux user12]$more mbox

// Xem tất cả thu luu trong hộp thu

1.5.13. Tạo liên kết với tập tin
Tạo liên kết với tập tin là tạo thêm cho tập tin tên mới và duờng dẫn
tuong ứng.
Cú pháp: ln <source> <destination>
ls -l : xem số liên kết của tập tin.

Muốn xóa một tập tin ta phải xoá tất cả các liên kết của nó.
[user01@linux user01]$ pwd
[user01@linux user01]$ ls -l
[user01@linux user01]$ ls -l baitap
[user01@linux user01]$ ln baitap/file1 file.link
[user01@linux user01]$ ls -l baitap
[user01@linux user01]$ ls -l file.link
1.5.14. Tìm kiếm một tập tin
Lệnh find cho phép tìm kiếm một hay nhiều tập tin trong một cây danh
mục.
- Tìm theo tên:

find

-name <filename>

- Tìm theo số i-node của tập tin: find -inum <number>
- Tìm theo kích thước của tập tin: find -size <bck>
- Tìm theo tên nguời sở hữu :

find -user <username>

Ðể tránh các thông báo lỗi dua ra màn hình, ta có thể dổi huớng dầu ra lỗi
chuẩn (standard error) tới một tập tin rỗng (/dev/null ):
$ find / -name filename - print 2>/dev/null
Ví dụ:
$ pwd
/home/user01
$ find / -name ttyc2d1 - print 2>
/dev/null /dev/ttyc2d1

$ ls -i /unix
2810 - r- xr- - r- - 2 bin bin 508516
$find / -inum 2810 - print 2>/devnull

Mar

10 1989 /unix


1.5.15. Tìm một chuỗi nào đó trong tập tin
Cú pháp: grep [biểu thức tìm kiếm] [tên tập tin]
Tìm trong tập tin có tên [tên-tập tin] những dữ liệu thảo mãn biểu thức tìm
kiếm.
Ví dụ:
Grep “coccoc” /le/nhom1 .Tìm kiếm trong tập tin le/nhom1 và hiển thị
các dòng có xuất hiện chuỗi “coccoc”.
1.5.16. Nén và giải nén tập tin
Cú pháp: gzip <filename>
Nén một tập tin. Tên tập tin nén giống nhu tên ban dầu, kèm theo duôi .gz
[user12@linux user12]$ gzip vanban.txt -> vanban.txt.gz
Cú pháp: gunzip <filename>
gzip -d <filename> Lệnh dùng dể giải nén tập tin.
[user12@linux user12]$gunzip vanban.txt.gz
1.5.17. Xác định kiểu file
Không giống như hệ điều hành Windows , Linux không dựa vào phần mở
rộng của file để xác định kiểu file. Bạn có thể sử dụng tiện ích file để xác định
kiểu file trong hệ thồng
Cú pháp: file <filename>
Ví dụ:
File todo.txt

Kết quả hiển thị như sau:
Todo.txt: ASCII text
1.5.18. Xem huớng dẫn sử dụng lệnh
Cú pháp: man <command>
ho?c <command> --help
<command> /?
Trong dó <command> là tên của một cần xem hướng dẫn.
[user12@linux user12]$ man ls
[user12@linux user12]$ cp --help
[user12@linux user12]$ cp --help >cp.txt
1.5.19. Nối các tập tin
Cú pháp: cat <file1> <file2> ... <fileN> [>filename]
Lệnh dùng dể hiển thị toàn bộ nội dung của nhiều tập tin cùng một lúc.


<file1> <file2> ... <fileN> là những tập tin cần hiển thị nội dung.
Ví dụ:
Hiển thị nội dung hai tập tin baitho.txt và vanban.doc $cat baitho.txt
vanban.doc
Kết nối nội dung hai tập tin baitho.txt và vanban.doc vào tập tin thop.doc
$cat baitho.txt vanban.doc >thop.doc
1.5.20. Xuất nội dung thông báo
Cú pháp: echo <arg1> <arg2> ... <argN>
Trong đó <arg1> <arg2> ... <argN> là các dối số dòng lệnh.
[user12@linux user12]$ echo “Chao cac ban”
Chao cac ban sinh vien”
[user12@linux user12]$echo * → Hiển thị nội dung thu mục
1.5.21. Xem thống kê các quyền của file hay thư mục
Bạn có thể sử dụng lệnh stat để lấy thống kê về các file và các thư mục
Cú pháp: stat <filename>

Ví dụ:
stat ./exam K
Kết quả hiển thị trên màn hình
File: "./exam" Size: 4096 Blocks: 8 IO
Block:4611692478058196992 Directory
Device: 812h/2066d

Inode: 157762

Links: 2

Access: (0755/drwxr-xr-x) Uid: (0/root) Gid: (0/root)
Access: Wed Jun 18 14:56:48 2003
Modify: Wed Jun 18 11:18:42 2003 Change: Wed Jun 18 11:18:42 2003
1.5.22. Gọi hướng dẫn
Cú pháp: man <command name>
Lệnh này hiển thị tài liệu Linux hoặc các trang giúp đỡ (man pages) về
lệnh <command name>.
1.6. Các lệnh hệ thống
1.6.1. Mount và Umount một hệ thống tập tin
- Umount phần vùng /boot ra khỏi hệ thống: [root@testsrv /]# umount /boot
- Kiểm tra danh sách mounted point: [root@testsrv /]# df –l
- Mount lại phân vùng /boot: [root@testsrv /]# mount /dev/sdal /boot
- Kiểm tra danh sách mounted point: [root@testsrv /]# df –l


 Mount và Umount CDRom:
- Tạo thư mục cdrom trong thư mục /mnt: [root@testsrv /]# mkdir
/mnt/cdrom
- Thực hiện lẹnh mount: mount /dev/cdrom /mnt/cdrom(hay mount

/mnt/cdrom)
[root@testsrv /]# mount /dev/cdrom /mnt/cdrom
Mount: block device /dev/cdrom is write-protected, mounting read-only
- Kiểm tra thư mục vừa mount: [root@testsrv /]# ls –l /mnt/cdrom
[root@testsrv /]# df –l
- Thực hiện umount cdrom: umount /mnt/cdrom
[root@testsrv /]# umount /mnt/cdrom
- Kiểm tra lại: df –l
[root@testsrv /]# df –l
 Mount và Umount USB: Thực hiện tương tự.
1.6.2. Định dạng Filesystem
- Kiểm tra các file system đang được mounted trên hệ thống: df –Lt
[root@testsrv /]# df –lT
- Định dạng kiểu file system /dev/sda4 sang ext3:
+ Umount file system /dev/sda4: umount /dev/sda4
+ Thực hiện lệnh: mkfs –t ext3 /dev/sda4
+ Kiểm tra: df-lT: [root@testsrv /]# df –lT
1.6.3. Logical Volume Manager (LVM)
Với kỹ thuật Logical Volume Manager (LVM) có thể thay đổi kích thước
mà không cần phải sửa lại partition table của OS. Điều này thực sự hữu ích với
những trường hợp đã sử dụng hết phần bộ nhớ còn trống của partition và muốn
mở rộng dung lượng của nó.
Tìm hiểu một số khái niệm cơ bản sau:
Physical Volume: Là những đĩa vật lý hoặc phân vùng đĩa của bạn chẳng
hạn như /dev/hda hoặc /dev/hdb1. Khi bạn muốn sử dụng chỉ cần mount vào
thôi. Đối với việc sử dụng LVM chúng ta có thể kết hợp nhiều physical volumes
thành volume groups.
Là một cách gọi khác của partition trong kỹ thuật LVM, nó là
những thành phần cơ bản được sử dụng bởi LVM. Một Physical Volume không
thể mở rộng ra ngoài phạm vi một ổ đĩa.



Volume Group: là một nhóm bao gồm các physycal volumes thực và
dung lượng này được sử dụng để tạo ra các logical volumes, trong đó bạn có thể
làm được những điều như sau : tạo, thay đổi kích thước, gỡ bỏ và sử dụng. Bạn
có thể xem volume group như 1 “phân vùng ảo”.
Logical Volumes: là những volumes cuối cùng sau khi mount vào hệ

thống của mình, bạn có thể thêm vào, gỡ bỏ và thay đổi kích thước một
cách nhanh chóng. Kể từ khi chúng chứa trong các volume group bạn có
thể làm cho nó lơn hơn bất kỳ physical volume đơn lẻ mà bạn muốn. (ví dụ
bạn có 4 ổ đĩa mỗi ổ 5GB khi bạn kết hợp nó lại thành 1 volume group
20GB, và bạn có thể tạo ra 2 logical volumes mỗi disk 10GB).
Logical Volume Group được chia nhỏ thành nhiều Logical Volume, mỗi
Logical Volume có ý nghĩa tương tự như partition. Nó được dùng cho các mount
point và được format với những định dạng khác nhau như ext2, ext3 …
Khi dung lượng của Logical Volume được sử dụng hết ta có thể đưa thêm ổ đĩa
mới bổ sung cho Logical Volume Group và do đó tăng được dung lượng của
Logical Volume.
Trong ngôn ngữ LVM không còn partition nữa, tất cả là volume:
physical/group/logical volume.
Minh họa cấu hình LVM:
Giả sử có 4 SCSI HDD là /dev/sdb, /dev/sdc/, /dev/sdd; dung lượng mỗi
HDD là 4GB như vậy có 12GB sức chứa. Cần tạo ra 2 partition: nhom1 có 6GB
và còn lại dùng cho raid -1. Các công cụ quản lý disk thông thường không làm
được điều này vì mỗi partition cần tạo lớn hơn từng HDD nhưng LVM thì có
thể. Kỹ thuật LVM sẽ ghép 3 HDD thành 1 partition lớn “VolumeA” rồi lại chia
thành các partition nhỏ hơn là nhom1 và lopd3b.
Trong bài này chúng ta sẽ sẽ gắn thêm 3 ổ cứng vật lý nữa, mỗi ổ cừng có
dung lượng 4GB. Sau đó bạn tiến hành phân chia tạo thành 2 thư mục /nhom1

và /lopd3b là hai ổ đĩa logical volume.
Thực hiện theo các bước sau:
Bước 1: Gắn thêm đĩa cứng vào, dùng lệnh fdisk -l để xem các ổ đĩa đã
gắn vào.
Bước 2: Tiến hành phân hoạch ổ đĩa. Mỗi đĩa chúng ta chia thành 1
extended, trong mỗi extended ta chia 2 logical, mỗi logical 2 GB. Bạn dùng
lệnh fdisk /dev/sdb, trong đó thì /dev/sdb là ổ đĩa mà chúng ta vừa gắn vào.
- Bạn gõ lệnh fdisk /dev/sdb, sau đó bấm phím m để xem qua menu
của chương trình


- Nhấn phím n để tạo mới, chọn tiếp phím e để tạo extended. Có thăng
thông báo hỏi tiếp theo bạn cứ Enter.
- Bấm tiếp phím n để tạo mới nữa. Lần này sẽ thấy extended được thay
bằng logical, bấm l để chọn logical.
- Làm tương tự cho phần còn lại của đĩa.
- Bấm phím p để xem lại kết quả của mình, có đúng như hình này không.
Nếu đúng rồi thì bấm phím w để tiến hành lưu thay đổi.
Bước 3: Để tạo được đĩa LVM bạn cần thay đổi kiểu đĩa thành LVM.
CHúng ta sẽ cần thực hiện đều này cho phân vùng sdb5. Dùng lại lệnh
fdisk /dev/sdb
Bấm phím t để thay đổi thông tin. Nhập tiếp chỉ số phân khu cần thay đổi,
ở đây là số 5. Nhập tiếp 8e để chỉ định kiểu là Linux LVM
Bước 4: Bây giờ chúng ta sẽ biến các partition thành các physical
volume, bằng lệnh pvcreate
Bước 5: Tạo Volume Group (VG), có tên là VolumeA, từ 3 PV đã tạo ở
trên. Bạn dùng lệnh vgcreate
Bước 6: Tạo logical volume (LV) từ VG ở trên. Bằng cách dùng lệnh
lvcreate như hình bên dưới.
Bước 7: Định dạng đĩa là ext3 trước khi sử dụng.

Bước 8: Đến đây chúng ta đã có LV sẵn sàng để sử dụng. Chỉ còn đợi
chúng ta mount lên thôi.
II. Cài đặt phần mềm

Trên Windows, phần mềm thường được phân phối ra dưới dạng file cài
đặt .msi hoặc .exe thì trên Linux cũng gần tương tự như vậy, có điều trên
Linux có nhiều hình thức hơn so với Windows. Phần mềm cho Linux thường
có ở dưới những dạng sau:
- Trong bộ đĩa cài đặt (thường với những bản phân phối lớn như
Redhat, openSuse, Mandriva…)
- Trên trang web của nhà sản xuất (thường có sẵn hướng dẫn cài đặt
cho từng hệ thống)
- Trên các repository (gọi tắt: repo) là các nơi chứa phần mềm tập trung
trên mạng dành riêng cho một hệ thống nào đó. Trong đó, Ubuntu và Debian
sử dụng repo nhiều nhất, kế đến là Fedora và openSuse. Mọi phần mềm đều
được chứa tại repo và khi nào người dùng cần thì phần mềm sẽ được tải về từ
repo, sau đó cài lên máy. Rất tiện lợi cho việc cập nhật và nâng cấp phần
mềm.


Các gói cài đặt phần mềm có thể được lưu ở dạng file chạy trực tiếp
(như .exe thường thấy trên Windows…) hoặc ở các định dạng phân phối dành
riêng mà phổ biến nhất là .RPM và .DEB (các gói phần mềm này có thể cài
đặt dễ dàng và gần như đã thành chuẩn chung cho việc phân phối phần mềm).
Phần mềm cũng có thể được phân phối dưới dạng mã nguồn (nhất là phần
mềm nguồn mở), người dùng phải tự biên dịch trên máy rồi cài đặt.
2.1. RPM và DEB là gì?
RPM (Redhat package manager) và DEB (Debian software package) là
hai định dạng phân phối phần mềm rất phổ biến dành riêng cho Linux. Chúng
giống như định dạng file nén mà trong đó chứa tất cả nhưng file chạy và cấu

hình của phần mềm, thông tin về phần mềm, nhà sản xuất, những yêu cầu về
hệ thống…Hệ điều hành Linux sẽ có một phần mềm chuyên dùng để cài đặt
các gói phần mềm dạng này, nói chung thì phần mềm kiểu này rất dễ dàng để
cài đặt.
RPM thường được dùng trong các hệ thống của Redhat như Fedora,
openSuse,…còn DEB lại được dùng trên các hệ thống của Debian gồm
Debian, Ubuntu…
Mỗi file RPM hoặc DEB chỉ chứa một phần mềm hoặc một phần nào
đó của phần mềm. Vì vậy thường khi cài một phần mềm phải cài đặt kèm
theo 1, 2 hay thậm chí cả chục gói khác, nên đôi khi xảy ra tình trạng không
thể cài đặt do thiếu một gói nào đó. Khi cài đặt bao giờ cũng có một quá trình
kiểm tra xem toàn bộ gói cần thiết đã có đầy đủ chưa, nếu thiếu một gói nào
đó, quá trình cài đặt sẽ dừng lại. Công việc này được gọi là "check
dependency".
Chính vì sự ràng buộc đó nên chúng ta mới cần đến những phần mềm
hỗ trợ cài đặt. Những phần mềm này sẽ tự động tải về hoặc tìm tất cả những
gói có liên quan rồi lần lượt cài đặt chúng theo đúng thứ tự. Nhờ đó mà việc
cài đặt sẽ trở nên suôn sẻ và dễ dàng hơn.
2.2. Cài đặt với RPM
Các file RPM có cấu trúc như sau:
<tên gói>--<bản phân phối>.<kiến trúc>.rpm
Với:
<bản phân phối – release>: Số hiệu bản vá lỗi của phần mềm
<kiến trúc>: nền tảng phần cứng mà gói được thiết kế để chạy trên đó.
Nếu là <kiến trúc> là “noarch” nghĩa là nó không phụ vào nền tảng phần
cứng, còn "src" nghĩa là đây là mã nguốn cho người sử dụng có thể chỉnh sửa.
Gõ rpm : lệnh cài đặt gói rpm, một số thông số hay dùng như sau:
-i <gói>
cài đặt,
-e <tên phần mềm>

gỡ bỏ (erase),


-U <gói>
cập nhật gói (gỡ gói cũ và cài gói mới),
-q <tên phần mềm>
in ra tên, phiên bản, release, nếu đã được cài,
-p <tên gói>
in ra thông tin của cả những gói chưa được
cài, nhưng phải chỉ rõ đường dẫn <tên gói>
-i <tên phần mềm>
in ra thông tin, nếu đã được cài,
-V <tên gói>
kiểm tra tính toàn vẹn
--nodeps
không kiểm tra các gói phụ thuộc khi cài đặt
và cập nhật cũng như gỡ bỏ,
--force
cài đặt, cập nhật và bỏ cũ
--import <PUBKEY>
Nhập GPG Key (/etc/pki/rpm-gpg/RPMGPG-KEY-CENTOS-<version>)
--replacefiles
giải quyết khi có đụng độ trong việc ghi files cho
gói cài đặt
2.3. Cài đặt từ DVD/CD của CentOS và rpm
Bước 1: Mount DVD, CD.
Bước 2: cd vào thư mục đã mount, (/media), tìm gói tương ứng muốn cài
và gõ
rpm -i <tên gói>
Việc cài đặt một package sẽ thất bại khi xảy ra một trong ba điều sau:

- Package xxx is already installed: Package cần cài đã được cài đặt rồi.
Giải quyết bằng cách: không cài nữa hoặc cài đè lên thì thêm tham số -replacepkgs hoặc –force.
- Conflicting file: Package đang cài cần ghi một file vào một nơi đã có file
khác trùng tên rồi. Giải quyết bằng cách không cài nữa hoặc ghi đè lên file đã có
sẵn đó bằng cách thêm tham số --replacefiles.
- Failed dependency: Package cần cài phụ thuộc vào một package khác
chưa được cài trước đó. Cách giải quyết là cài package phụ thuộc trước rồi quay
lại cài package ban đầu. Có thể xảy ra trường hợp các gói phụ thuộc vòng: gói A
phụ thuộc B, B phụ thuộc C, C phụ thuộc A. Để cài được gói A chỉ việc cài
đồng thời cài cả 3 gói A, B, C tức là rpm –ivh A B C. Có thể dùng kí tự đại diện
*, ? để cài đồng thời nhiều gói cùng lúc.
2.4. Cài gói rpm ở dạng source code .src.rpm
Có nhiều khi gói phần mềm rpm được cung cấp ở dạng source code, tên
những gói này có phần đuôi là .src.rpm. Trước hết cần build nó thành một gói
binary rpm bằng lệnh:
rpm –rebuild filename.src.rpm
Sau lệnh rebuilt, gói binary vừa tạo ra được đặt trong
/usr/src/redhat/RPM/
chỉ cần vào thư mục này và cài đặt gói vừa tạo ra như bình thường.


2.5. Cài đặt với Yum
YUM (Yellowdog Updater Modified) là phương pháp cài đặt phần mềm
có xu hướng tự động hóa và tập trung hóa. Người dùng chỉ việc đánh lệnh, và
yum sẽ kết nối với server cập nhật, cài đặt hay gỡ bỏ phần mềm dựa trên những
thông tin về các gói cài đặt sẵn có trên Interner.
Các thông số:
- Cài đặt / Cập nhật / Gỡ bỏ cơ bản
yum install <tên gói/tên phần mềm> <tên gói 2 nếu có>...
Cài đặt,

yum –y install <tên gói/tên phần mềm>
Cài đặt không cần hỏi,
yum update <tên gói/tên phần mềm>
Cập nhật,
yum remove <tên gói>
Dỡ bỏ
- Tìm kiếm / Thông tin
yum search <từ khóa>
Tìm kiếm tên gói của 1 phần mềm mà bạn
muốn cài,
yum info <tên gói>
Thêm thông tin về gói
yum list all
List danh sách các gói khả dĩ
yum list installed
List ra danh sách các gói đã cài
yum provides <file>
Khi bạn có 1 <file> nhưng không biết nó
thuộc về gói nào, hãy dùng lệnh này,
yum deplist <tên gói>
Hiển thị các gói có liên quan đến gói> đã cho
- Group – Nhóm phần mềm
yum grouplist
List danh sách đã cài theo từng nhóm,
trong CentOS có những gói liên quan tới nhau được nhóm lại và có tên nhóm
nhất định,
yum groupinstall <”tên nhóm”> Cài theo group
yum groupupdate <”tên nhóm”> Cập nhật theo group
yum groupremove <”tên nhóm”> Cài theo group

yum còn có thể cho phép đọc 1 file rồi chạy từng lệnh 1 bằng yum shell.
2.6. Cài gói TAR.GZ hoặc TAR.BZ2
Được đóng gói sử dụng kiểu GNU Zip (.gz) hoặc BZip2 (bz2).
<filename>.tar.gz hoặc <filename>.tar.bz2
- Giải nén bằng lệnh:
tar xvzf <filename>.tar.gz
tar xvjf <filename>.tar.bz2
- Đọc file INSTALL hoặc README để có những chỉ dẫn riêng biệt của
gói cài đặt.
Sau khi giải nén, chuyển đến thư mục của gói source
cd<extracted_dir_name>


Chạy script configure, cần đọc file README, INSTALL để có những
option cần thiết:
./configure
Cài đặt gói Soure
./INSTALL



×