Showing posts with label centos. Show all posts
Showing posts with label centos. Show all posts

Thursday, July 25, 2013

Các lệnh cơ bản linux

1. Lệnh liên quan đến hệ thống 
exit: thoát khỏi cửa sổ dòng lệnh.
logout: tương tự exit.
reboot: khởi động lại hệ thống.
halt: tắt máy.
startx: khởi động chế độ xwindows từ cửa sổ terminal.
mount: gắn hệ thống tập tin từ một thiết bị lưu trữ vào cây thư mục chính.
unmount: ngược với lệnh mount.
/usr/bin/system-config-securitylevel-tui: Cấu hình tường lửa và SELinux
2. Lệnh xem thông tin
cat /proc/cpuinfo: Tìm chi tiết kỹ thuật của CPU
cat /proc/meminfo: Bộ nhớ và trang đổi thông tin
lspci: Xem thông tin mainboard
uname -r: Xem hạt nhân phiên bản
gcc -v: Compiler phiên bản nào tôi đã cài đặt.
/sbin/ifconfig: Xem các địa chỉ IP của bạn.
netstat: xem tất cả các kết nối.
lsmod: Những gì được nạp module hạt nhân
last: xem những ai đã login vào hệ thống
df: Xem dung lượng ổ đĩa cứng
free -m: xem dung lượng sử dụng bộ nhớ
netstat -an |grep :80 |wc -l: xem có bao nhiêu kết nối đến cổng 80
3. Lệnh thao tác trên tập tin
ls: lấy danh sách tất cả các file và thư mục trong thư mục hiện hành.
pwd: xuất đường dẫn của thư mục làm việc.
cd: thay đổi thư mục làm việc đến một thư mục mới.
mkdir: tạo thư mục mới.
rmdir: xoá thư mục rỗng.
cp: copy một hay nhiều tập tin đến thư mục mới.
mv: đổi tên hay di chuyển tập tin, thư mục.
rm: xóa tập tin.
wc: đếm số dòng, số kí tự... trong tập tin.
touch: tạo một tập tin.
cat: xem nội dung tập tin.
vi: khởi động trình soạn thảo văn bản vi.
df: kiểm tra dung lượng đĩa.
du: xem dung lượng đĩa đã dùng cho một số tập tin nhất định
tar -cvzpf archive.tgz /home/example/public_html/folder: nén một thư mục
tar -tzf backup.tar.gz: liệt kê file nén gz
tar -xvf archive.tar: giải nén một file tar
unzip file.zip: giải nén file .zip
wget: download một file.
chown user:user folder/ -R: Đổi owner cho toàn bộ thư mục vào file.
tail 100 log.log: Xem 100 dòng cuối cùng của file log.log.
4. Lệnh khi làm việc trên terminal
clear: xoá trắng cửa sổ dòng lệnh.
date: xem ngày, giờ hệ thống.
find /usr/share/zoneinfo/ | grep -i pst: xem các múi giờ.
ln -f -s /usr/share/zoneinfo/Asia/Ho_Chi_Minh /etc/localtime: Đổi múi giờ máy chủ về múi giờ Việt Nam
date -s "1 Oct 2009 18:00:00": Chỉnh giờ
cal: xem lịch hệ thống.
5. Lệnh quản lí hệ thống
rpm: kiểm tra gói đã cài đặt hay chưa, hoặc cài đặt một gói, hoặc sử dụng để gỡ bỏ một gói.
ps: kiểm tra hệ thống tiến trình đang chạy.
kill: dừng tiến trình khi tiến trình bị treo. Chỉ có người dùng super-user mới có thể dừng tất cả các tiến trình còn người dùng bình thường chỉ có thể dừng tiến trình mà mình tạo ra.
top: hiển thị sự hoạt động của các tiến trình, đặc biệt là thông tin về tài nguyên hệ thống và việc sử dụng các tài nguyên đó của từng tiến trình.
pstree: hiển thị tất cả các tiến trình dưới dạng cây.
sleep: cho hệ thống ngừng hoạt động trong một khoảng thời gian.
useradd: tạo một người dùng mới.
groupadd: tạo một nhóm người dùng mới.
passwd: thay đổi password cho người dùng.
userdel: xoá người dùng đã tạo.
groupdel: xoá nhóm người dùng đã tạo.
gpasswd: thay đổi password của một nhóm người dùng.
su: cho phép đăng nhập với tư cách người dùng khác.
groups: hiển thị nhóm của user hiện tại.
who: cho biết ai đang đăng nhập hệ thống.
w: tương tự như lệnh who.
man: xem hướng dẫn về dòng lệnh như cú pháp, các tham số.

Kiểm tra I/O của VPS/Server Linux

 (tốc độ đọc, ghi) của một máy chủ rất quan trọng. Với một máy chủ ảo VPS, bạn cần đạt tầm 60MB/s trở lên. Còn với dedicated bạn cần đạt tầm 120-130MB/s
Chạy lần lượt các lệnh sau để xem tốc độ I/O của mình. Chúng ta nên test với nhiều dung lượng khác nhau để có tổng quan về tốc độ
#dd if=/dev/zero of=128m.tmp bs=128 count=1M conv=fdatasync
#dd if=/dev/zero of=256m.tmp bs=256 count=1M conv=fdatasync
#dd if=/dev/zero of=1GB.tmp bs=1024 count=1M conv=fdatasync
#dd if=/dev/zero of=1GB.tmp bs=1024 count=1M
#dd if=/dev/zero of=1GB.tmp bs=1024 count=1M conv=fdatasync

Quản lý tiến trình trong linux

Phân loại tiến trình: 3 loại
Interactive process (tiến trình đối thoại)
Là tiến trình khởi động và quản lý bởi shell, kể cả các tiến trình foreground hoặc background.
Batch process
Tiến trình không gắn liền với terminal (tty) và được nằm trong hàng đợi để lần lượt thực hiện.
Daemon process (Disk And Execution MONitor)
Là tiến trình chạy ở chế độ ngầm và được khởi động từ đầu. Các daemon thường được hệ thống phát sinh tự động và có thể hoạt động liên tục hay phát sinh định kỳ.
Hầu hết các dịch vụ mạng là các tiến trình daemon, tên tiến trình kết thúc bằng ký tự “d” như: inetd, named, httpd…

Hiển thị thông tin tiến trình – lệnh ps
Để biết thông tin các tiến trình hiện hành ta sử dụng:
ps [option]

1. -e: hiển thị thông tin về mỗi tiến trình.
-l: hiển thị thông tin đầy đủ tiến trình.
-f: hiển thị thông tin về tiến trình cha.
-a: hiển thị tất cả các tiến trình.


Lưu ý: dòng lệnh ps –aux: liệt kê danh sách các tiến trình đang chạy cùng các thông tin của nó như:
Chủ nhân của tiến trình (owner), mã số nhận diện tiến trình (PID), thời gian hiện sử dụng CPU (%CPU), mức chiếm dụng bộ nhớ của tiến trình (%MEM), trạng thái tiến trình (STAT) và các thông tin khác.
Một số trạng thái của tiến trình thường gặp: R-đang thi hành, S-đang bị đóng, Z-ngừng thi hành, W-không đủ bộ nhớ…

Hiển thị thông tin sử dụng tài nguyên – lệnh top
Hiển thị một danh sách các tiến trình hệ thống theo thời gian thực. Nó thống kê số lượng các tiến trình cùng trạng thái của chúng, tình trạng sử dụng CPU, bộ nhớ …
top [option]

1. -d time: chỉ ra khoảng thời gian trễ time giữa 2 lần cập nhật thông tin trạng thái (mặc định là 5 giây)
-p [pid]: chỉ theo dõi các tiến trình có mã pid
-c: hiển thị đầy đủ dòng lệnh thay vì hiển thị tên lệnh tạo tiến trình.
-a: hiển thị tất cả các tiến trình.


Một điểm khác biệt giữa top và ps là nó cho phép ta thi hành các lệnh của bản thân nó trong quá trình nó đang hiển thị thông tin.

Dừng một tiến trình – lệnh kill
Lệnh kill thường được sử dụng để ngừng thi hành một tiến trình.
kill [signal] <PID>

1. signal: là một số hay tên của tín hiệu được gởi tới tiến trình.
PID: mã số nhận diện tiến trình muốn dừng.


Lệnh kill có thể gởi bất kỳ tín hiệu signal nào tới một tiến trình, nhưng theo mặc định nó gởi tín hiệu 15, TERM (là tín hiệu kết thúc chương trình).
Lệnh kill -9 PID: ngừng thi hành tiến trình mà không bị các tiến trình khác can thiệp (tín hiệu 9, KILL).
Super-user mới có quyền dừng tất cả các tiến trình, còn người sử dụng chỉ được dừng các tiến trình của mình.
Các signal thường dùng lệnh kill bao gồm:
Tên Giá trị Tác động
SIGHUP 1 - Hangup (gọi lại tiến trình)
SIGINT 2 - Ngắt từ bàn phím (Ctrl+C)
SIGKILL 9 - Hủy tiến trình
SIGTERM 15 - Kết thúc tiến trình
SIGSTOP 17,19,23: - Dừng tiến trình.
Khi kết thúc một tiến trình hay một chuỗi các tiến trình, thông thường nên tiến hành thử với tín hiệu ít gây nguy hiểm nhất, SIGTERM, nếu không được mới sử dụng các tín hiệu INT hay KILL.

Hiển thị các tiến trình ngầm, thay đổi chế độ cho các tiến trình
Lệnh jobs: Hiển thị các tiến trình ngầm (background)
Ký hiệu + chỉ ra tác vụ đang được xử lý
Ký hiệu – chỉ ra tác vụ sẽ được xử lý kế tiếp
fg: chuyển các tiến trình background -> foreground
$ fg %3 (mã số tác vụ của tiến trình ngầm)
bg: chuyển các tiến trình foreground -> background.
Lưu ý: phải tạm dừng bằng cách nhấn tổ hợp phím (ctrl+z), và sau đó mới chuyển nó sang chế độ ngầm bằng lệnh bg
$ cat vd.txt > abcdef
ctrl + z
$ bg
(lệnh cat sẽ nạp chuỗi abcdef vào file vd.txt, có nhiều cách kết thúc quá trình nạp chuỗi này, nhưng muốn dùng lệnh bg thì phải kết thúc bằng tổ hợp phím ctrl+z)

Một số lệnh xem về hệ thống : free, ps, w, vmstat, iostat, ifstat, netstat v.v