- Trong đường dẫn của Linux, các thư mục được phân cách nhan bằng ký hiệu / trong khi với DOS/Windows là ký hiệu \; - Các tham số của lệnh trong Linux được bắt đầu bằng dấu trừ - VD: ls
Trang 1HƯỚNG DẪN THỰC HÀNH LINUX (Basic) Biên soạn: Vũ Đình Thu
1.Cơ bản về Linux
- Cấu trúc file của Linux:
- Cấu trúc và cách tổ chức file của Linux cũng không khác DOS/Windows và các Hệ điều hành khác là mấy Chỉ có một điểm khác biệt lớn là cấu trúc thư mục của Linux KHÔNG phân chia thành các ổ đĩa Cho dù có bao nhiêu ổ đĩa thì tất cả đều bắt đầu từ một thư mục gốc có tên là / Sau đó là đi vào các thư mục con, mỗi ổ đĩa của sẽ được "map" (ánh xạ) vào một thư mục con riêng biệt (thư mục nào thì còn tuỳ vào phiên bản của Linux qui định)
- Trong đường dẫn của Linux, các thư mục được phân cách nhan bằng ký hiệu / (trong khi với DOS/Windows là ký hiệu \);
- Các tham số của lệnh trong Linux được bắt đầu bằng dấu trừ (-) (VD: ls -l) trong khi với DOS/Windows là ký hiệu / (VD: dir /a); các tham số của Linux có thể được dùng kết hợp với nhau (VD: ls -al, ls -ls )
- Linux khác với Windows ở chỗ Linux phân biệt chữ hoa và chữ thường, trong Linux abc và Abc là khác nhau
- Một số phím/tổ hợp phím cần biết
Ctrl-C: hãy nhớ kỹ tổ hợp phím này Trong trường hợp chương trình chạy không chịu dừng thì nhấn tổ hợp phím này Phần lớn các chương trình của Linux chạy trên chế độ text đều có thể được/bị kết thúc bằng tổ hợp phím này
Ctrl-Alt-Del: tương tự như trong DOS Tổ hợp phím này sẽ khởi động lại máy tính Ctrl-D: khi một chương trình yêu cầu nhập dữ liệu từ bàn phím, có thể nhấn tổ hợp phín này để báo cho chương trình biết là quá trình nhập dữ liệu đã kết thúc Tổ hợp phím này sẽ gởi tín hiệu EOF (End Of File) đến chương trình
ESC: đây là phím Esc ở góc trái, phía trên của bàn phìm, trước khi nhấn Ctrl-C để kết thúc chương trình, dùng để ngắt hoặc đóng một số chương trình
Trang 22 Cài đặt Linux (Fedora)
[1] Đưa đĩa cài đặt vào và chạy khởi động từ ổ DVD
[2] Nên chọn Skip
[3] Nhấn nút Next
Trang 3[4] Chọn ngôn ngữ cài đặt
Trang 4[5] Chọn bàn phím
[6] Nên chuẩn bị phân vùng để cài đặt từ trước bước này chỉ nhấn Yes để đồng ý
Trang 5[7] Nhấn Next
[8] Nhấn Yes
Trang 6Thiết lập phân vùng cài đặt và phân vùng Swap
Trang 7(1) Ví dụ minh họa về việc thiết lập
Trang 8(2) Tự cấu hình theo ý
Trang 9[10] Thiết lập boot loader nếu cần thiết
[11] Thiết lập mạng
[12] Thiết lập địa chỉ IP nếu cần thiết
Trang 10[13] Nhập tên server
Trang 11[14] Thiết lập múi giờ
[15] Thiết lập mật khẩu của root (người có quyền cao nhất)
[16] Lựa chọn các gói phần mềm cần cài đặt
Trang 12[18] Next
Trang 13[19] Next
Trang 14[20] Đang cài đặt
[21] Cài đặt hoàn thành nhấn Reboot để khởi động lại máy
Trang 153 Một số lệnh cơ bản
- Lệnh man Đây lệnh cần phải nhớ Lệnh này tương tự như lệnh Help trong DOS
man sẽ hiển thị các thông tin chi tiết về cộng dụng, cách dùng và cú pháp của một lệnh khác;
Cú pháp: man <tên_lệnh_khác> (hoặc chính là lệnh man)
Ví dụ: man ls
Lưu ý: để thoát (kết thúc) lệnh man, gõ vào ký tự hai chấm ( sau đó gõ tiếp ký tự q Nếu không được nhấn phím ESC và thử lại lần nữa, có thể nhấn Ctrl-C để thoát khỏi man
- Lệnh ls: Lệnh này tương tự như lệnh dir trong DOS ls sẽ liệt kê danh sách tất cả
các file và thư mục nằm trong một thư mục chỉ định
Cú pháp chung: ls [tham_số] [thư_mục]
Ví dụ:
ls
ls -a
ls -al /usr
Một số tham số của ls như sau:
-a: liệt kê tất cả các file, kể cả file ẩn, là những file mà tên bắt đầu bằng dấu chấm (.) -A: liệt kê tất cả các file, kể cả file ẩn, nhưng không liệt kê và , đây tên của thư mục hiện tại và thư mục cha trong Linux
-l: liệt kê chi tiết về file (bao gồm các thông tin như thời gian tạo, kích thước, thuộc tính )
- Lệnh cd: Lệnh này tương tự như lệnh cd trong DOS Dùng để chuyển tới một thư
mục khác
Cú pháp: cd [tên_thư_mục]
Ví dụ: cd /home
Nếu không cung cấp tên_thư_mục thì cd sẽ đưa về thư mục home directory của người dùng Trong Linux, mỗi người sử dụng đều có một home directory root sẽ có home directory là /root
- Lệnh pwd: lệnh này tương tự như lênh cd (không có tham số) trong DOS Lệnh này
sẽ hiển thị lên màn hình cho biết là hiện đang ở thư mục nào
Cú pháp: pwd
- Lệnh mkdir: Lệnh này tương tự như lệnh md của DOS Lệnh này dùng để tạo một
thư mục mới
Cú pháp: mkdir <tên_thư_mục_muốn_tạo>
Ví dụ:
Trang 16mkdir mydir
mkdir /tmp/mydir2
- Lệnh rmdir: Lệnh này tương tự như lệnh rm trong DOS, dùng để xoá một thư mục.
Cú pháp: rmdir <thư_mục_muốn_xoá>
Ví dụ:
rmdir mydir
rmdir /tmp/mydir2
rmdir /tmp/*
Lưu ý: Chỉ có thể xoá được thư mục nếu như nó rỗng, nghĩa là nó không chứa một file hoặc thư mục con nào nữa (ngoài và )
- Lệnh cp: Lệnh này tương tự như lệnh copy của DOS, dùng để chép file hoặc thư mục
từ nơi này đến nơi khác
Cú pháp: cp [tham_số] <file_hoặc_thư_mục_nguồn> <file_hoặc_thư_mục_đích>
Ví dụ:
cp /tmp/myfile.txt myfile.text
cp /home/*.cgi /
Mặc định thì cp chỉ chép các file, nếu thêm tham số -r thì cp sẽ chép luôn các thư mục
- Lệnh rm: Lệnh này tương tự như lệnh del trong DOS, lệnh này dùng để xoá file.
Cú pháp: rm <tên_file_muốn_xoá>
Ví dụ:
rm myfile.txt
rm /usr/user1/nbtfile.txt
rm /tmp/*
- Lệnh mv: Lệnh này tương tự như lênh move (ngoại trú) của DOS Lệnh này sẽ di
chuyển/đổi tên file từ nơi này đến nơi khác
Cú pháp: mv <file_hoặc_thư_mục_nguồn> <file_hoặc_thư_mục_đích>
Ví dụ về di chuyển:
mv /tmp/myfile.txt /usr/user1
mv myfolder /tmp
mv /usr/* /tmp
Ví dụ về đổi tên, vừa di chuyển vừa đổi tên:
mv myfile1.txt myfile2.txt
mv /usr/oldfoler /newfolder
- Lệnh cat: Tương tự như lệnh type của DOS Lệnh này dùng để hiển thị nội dung của
1 file lên màn hình
Cú pháp: cat <tên_file_cần_hiển_thị>
Ví dụ:
Trang 17cat myfile.txt
cat /tmp/temp.text
- Lệnh chown: Lệnh này dùng để thay đổi "chủ sở hữu" của 1 tập tin hay thư mục, tức
là gán cho tập tin hoặc thư mục chỉ điịnh thuộc về quyền sở hữu của một user nào đó
Cú pháp:
chown username[.groupname] <tên_file_hoặc_thư_mục>
chown groupname <tên_file_hoặc_thư_mục>
cung cấp username thì file/thư mục sẽ được đặt là thuộc quyền sở hữu của username
đó Nếu cung cấp groupname thì file/thư mục sẽ thuộc về nhóm groupname đó Hai phần này độc lập với nhau, thay đổi quyền sở hữu user sẽ không làm thay đổi quyền
sở hữu group và ngược lại
Ví dụ: có file guestfile.txt thuộc về user abc thuộc về group guests, có một user user1 thuộc về nhóm moderators, file myfile.txt thuộc về quyền sở hữu của user1 và thuộc
về nhóm moderator
- Lệnh w: Lệnh này hiển thị những ai đang logged on và họ đang làm gì Phần tiêu đề
hiển thị theo thứ tự: thời gian hiện tại, hệ thống đã chạy bao lâu, bao nhiêu users đang logged on, tải trung bình của hệ thống 1, 5, 15 phút trước
Các entries hiển thị cho mỗi user theo cấu trúc: login name, tty name, remote host, login time, idle time, JCPU, PCPU, command line của process hiện tại
- Lệnh last: iển thị danh sách những người logged in cuối cùng Lệnh này tìm kiếm
trong file /var/log/wtmp và hiển thị tất cả các user đã logged in từ lúc file này được tạo Mỗi lần hệ thống reboot, cột user sẽ hiển thị với tên "reboot"
- Lệnh free: Lệnh này hiển thị tổng lượng bộ nhớ còn trống, đang dùng, cũng như bộ
nhớ swap trên hệ thống của
Cú pháp:
free [-b | -k | -m] [-o] [-s delay ] [-t] [-V]
-với:
-b: tính theo bytes
-k: tính theo kilobytes
-m: tính theo megabytes
- Lệnh: df
Cú pháp:
df [OPTION] [FILE]
- Hiển thị dung lượng đĩa cứng còn trống của một hệ thống file Nếu tên file không được đưa vào thì toàn bộ không gian trống trên các hệ thống file đã mounted được hiển thị Mặc định lệnh này sẽ hiển thị với blocks 1K
Ví dụ để xem lượng đĩa cứng còn trống trên toàn bộ hệ thống của với đơn vị là
Gygabytes có thể dùng lệnh:
Code:
$ df block-size=1GB
Filesystem 1GB-blocks Used Available Use% Mounted on
/dev/sda2 3 2 1 58% /
/dev/sda6 8 2 6 26% /var
Trang 18/dev/sda5 11 5 6 46% /usr
/dev/sda7 1 1 1 33% /tmp
/dev/sda1 1 1 1 19% /boot
tmpfs 1 0 1 0% /dev/shm
/dev/sda8 75 61 11 86% /mnt/data
- Lệnh du: Lệnh này dùng để thống kê mức sử dụng đĩa Mặc định nó sẽ hiển thị tại thư
mục hiện hành và chỉ hiển thị số block trên file system
Lệnh ps:Hiển thị thông tin về các tiến trình hiện thời Thông tin hiển thị được chia thành
nhiều cột, nhưng thường thì chú ý nhiều nhất đến cột có tên là PID (Process ID) Giá trị của tiến trình trong cột PID này sẽ được sử dụng trong lệnh kill Lệnh ps thường được dùng trong vài trường hợp sau:
+ Có một process đang bị treo và muốn stop nó > chạy ps lấy PID để kill
+ khởi động 1 process nhưng nó làm máy chạy ngày càng chậm đi > chạy ps xem nó đang chiếm bao nhiêu % CPU, sau đó có thể lấy PID để kill
+ Xem các processes thuộc về một user nào đó
Hiển thị tất cả các tiến trình :
$ ps aux
- Lệnh kill
Lệnh này sẽ làm chấm dứt một process
Cú pháp:
Code:
kill [ -s signal | -p ] [ -a ] [ ] pid
kill -l [ signal ]
history
.::history - GNU History Library::
Liệt kê các dòng lệnh hay những gì đã được gõ trên Terminal theo số thứ tự Ta có thể gọi lại những lệnh ấy nhanh chóng bằng cách gõ !n với n là số thứ tự lệnh đã đã gõ và liệt
kê bằng lệnh history
Xin gõ man history để biết thêm chi tiết
- Lệnh Useradd: Thêm một người dùng mới
Cú pháp:
useradd <username>
- Lệnh passwd: Đặt mật khẩu cho người dùng vừa tạo
passwd <username>
4 Cài đặt Apache và cấu hình SSL.
- Khuyến khích cài riêng và cấu hình từng phần (apache, php, mysql, openssl vv…)
- Ai chưa biết nhiều về linux thì có thể dùng gói XAMMP download tại
http://www.apachefriends.org/en/xampp-linux.html#377 về để cài (Xem hướng dẫn cài đặt luôn ở trang này)
Trang 19- Cài thử một website hoặc một forum (joomla, drupal, hoặc phpbb vvv)
- Cấu hình SSL (cái trước gói openssl để sinh chứng chỉ)
[root@www ~]# cd /etc/pki/tls/certs
[root@www certs]# make server.key
umask 77 ; \
/usr/bin/openssl genrsa -des3 1024 > server.key
Generating RSA private key, 1024 bit long modulus
++++++
++++++
e is 65537 (0x10001)
Enter pass phrase:
// input pass phrase
Verifying - Enter pass phrase:
// verify
[root@www certs]#
// it's troublesome to input pass phrase always, so remove it from private key
[root@www certs]# openssl rsa -in server.key -out server.key
Enter pass phrase for server.key:
writing RSA key
[root@www certs]#
[root@www certs]# make server.csr
umask 77 ; \
/usr/bin/openssl req -utf8 -new -key server.key -out server.csr
You are about to be asked to enter information that will be incorporated
into your certificate request
What you are about to enter is what is called a Distinguished Name or a DN
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank
Country Name (2 letter code) [GB]:VN
State or Province Name (full name) [Berkshire]:Hanoi
Locality Name (eg, city) [Newbury]:HN
Organization Name (eg, company) [My Company Ltd]:Server Linux
Organizational Unit Name (eg, section) []:IT Solution
Common Name (eg, your server's hostname) []:www.kma.edu.vn
Email Address []:root@kma.edu.vn
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
[root@www certs]#
[root@www certs]# openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 3650
// make CertificateFile
Signature ok
subject=/C=JP/ST=Hanoi/L=Hanoi/O=Server Linux/OU=IT
Trang 20Solution/CN=www.kma.edu.vn/emailAddress=root@kma.edu.vn Getting Private key [root@www certs]# chmod 400 server.*
[root@www certs]#
[root@www certs]# vi /etc/httpd/conf.d/ssl.conf
DocumentRoot "/var/www/html"
// line 84: make valid
ServerName
www.kma.edu.vn:443
// line 85: make valid and change
SSLCertificateFile
/etc/pki/tls/certs/server.crt
// line 112: change
SSLCertificateKeyFile
/etc/pki/tls/certs/server.key
// line 119: change
[root@www certs]# /etc/rc.d/init.d/httpd restart
Stopping httpd:
[ OK ]
Starting httpd:
[ OK ]
Tài liệu tham khảo
1 http://www.server-world.info
2 http://www.hvaonline.net
3 http://www.apachefriends.org/en/xampp-linux.html#377