Tất nhiên khi giới thiệu, có thể chỉ cần nói tên lệnh là đủ, nhưng mọi người nên giải thích và cho ví dụ càng nhiều càng tốt. Còn các tùy chọn đi kèm khác có thể đọc man
1. 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
$ w
22:19:16 up 1:32, 3 users, load average: 0.68, 0.55, 0.42
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
quanta tty7 :0 20:50 0.00s 6:54 1.95s gnome-session
quanta pts/3 :0.0 21:21 0.00s 0.03s 0.00s w
quanta pts/4 :0.0 21:25 20:43 0.03s 0.03s bash
2. last
Hiể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". Ví dụ:
$ last -15
quanta pts/1 :0.0 Fri Feb 29 22:27 still logged in
quanta pts/1 :0.0 Fri Feb 29 22:27 - 22:27 (00:00)
quanta pts/1 :0.0 Fri Feb 29 22:23 - 22:23 (00:00)
quanta pts/5 :0.0 Fri Feb 29 21:34 - 21:58 (00:23)
quanta pts/4 :0.0 Fri Feb 29 21:25 still logged in
quanta pts/3 :0.0 Fri Feb 29 21:21 still logged in
quanta pts/2 :0.0 Fri Feb 29 21:17 - 22:19 (01:01)
quanta pts/1 :0.0 Fri Feb 29 21:11 - 22:19 (01:07)
quanta pts/0 :0.0 Fri Feb 29 20:51 - 20:59 (00:08)
quanta tty7 :0 Fri Feb 29 20:50 still logged in
reboot system boot 2.6.23.14-115.fc Fri Feb 29 20:47 (01:45)
quanta pts/0 :0.0 Fri Feb 29 20:44 - down (00:02)
quanta tty7 :0 Fri Feb 29 20:03 - down (00:43)
reboot system boot 2.6.23.14-115.fc Fri Feb 29 20:02 (00:44)
quanta pts/3 :0.0 Fri Feb 29 14:22 - 18:22 (03:59)
wtmp begins Fri Feb 1 14:10:09 2008
Tại dòng cuối cùng các bạn sẽ nhìn thấy file wtmp được tạo từ lúc nào.
3. 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 bạn.
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
Thường thì bạn sẽ dùng free -m để xem lượng RAM và swap đang được sử dụng:
$ free -m
total used free shared buffers cached
Mem: 1001 865 135 0 37 333
-/+ buffers/cache: 494 506
Swap: 1105 0 1105
4. 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 bạn với đơn vị là Gygabytes bạn có thể dùng lệnh:
$ 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
/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
Nhìn vào cột Mounted on ở kết quả trên bạn thấy có một "tên" /dev/shm khá lạ. Bạn có thể đọc thêm về nó tại http://www.cyberciti.biz/tips/what-is-devshm-and-its-practical-usage.html.
4. 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. vd:
~$du
8 ./.xemacs
680 ./1/2/3/03
792 ./1/2/3/04/02
1208 ./1/2/3/04/01
5472 ./1/2/3/04/03
7476 ./1/2/3/04
852 ./1/2/3/01/02
924 ./1/2/3/01/01
1820 ./1/2/3/01/03
4300 ./1/2/3/01
2516 ./1/2/3/02
1048 ./1/2/3/05/05/01
5312 ./1/2/3/05/05.gif
816 ./1/2/3/05/05/02
2924 ./1/2/3/05/05/03
252 ./1/2/3/05/05/04
10356 ./1/2/3/05
25552 ./1/2/3
2516 ./1/2/3
852 ./1/2/2/02
924 ./1/2/2/01
1820 ./1/2/2/03
3600 ./1/2/2
792 ./1/2/1/02
1208 ./1/2/1/01
5472 ./1/2/1/03
7476 ./1/2/1
680 ./1/2/4
1300 ./1/2/4/5/03
1944 ./1/2/4/5/02
172 ./1/2/4/5/04
3420 ./1/2/4
43416 ./1/2
82808 ./1
81932 ./123
165176
Nếu bạn muốn output dễ đọc hơn thì có thể truyền thêm -sh cho nó. vd:
~$du -sh
161M .
Lệnh này linh hoạt hơn df ở chỗ nó có thể thống kê mức sử dụng đĩa của bất kỳ thư mục nào. Chi tiết các bạn có thể xem trang man.
6. 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ì bạn 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à bạn muốn stop nó --> bạn chạy ps lấy PID để kill
+ Bạn khởi động 1 process nhưng nó làm máy bạn 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 đó
Một vài ví dụ:
Hiển thị tất cả các tiến trình theo cú pháp BSD:
$ ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 4780 0.0 0.1 5848 1348 ? S 21:26 0:00 /usr/sbin/userh
root 4783 0.3 3.7 104324 38408 ? S 21:26 0:11 wireshark
quanta 4900 0.2 1.8 79772 18572 ? Sl 21:38 0:05 gnome-terminal
quanta 4904 0.0 0.0 2616 596 ? S 21:38 0:00 gnome-pty-helpe
quanta 4905 0.0 0.1 4892 1628 pts/1 Ss 21:38 0:00 bash
quanta 5122 0.0 0.1 4892 1636 pts/2 Ss 21:54 0:00 bash
quanta 5271 0.0 0.0 4080 892 pts/1 S+ 22:12 0:00 man ps
quanta 5274 0.0 0.1 4704 1120 pts/1 S+ 22:12 0:00 sh -c (cd /usr/
quanta 5275 0.0 0.0 4704 580 pts/1 S+ 22:12 0:00 sh -c (cd /usr/
quanta 5279 0.0 0.0 4420 832 pts/1 S+ 22:12 0:00 /usr/bin/less -
quanta 5326 0.0 0.0 4584 980 pts/2 R+ 22:22 0:00 ps aux
Hiển thị các tiến trình user "quanta" đang chạy:
$ ps -u quanta
PID TTY TIME CMD
4347 ? 00:00:00 kded
4656 ? 00:00:00 kio_file
4779 ? 00:00:00 consolehelper-g
4900 ? 00:00:06 gnome-terminal
4904 ? 00:00:00 gnome-pty-helpe
4905 pts/1 00:00:00 bash
5122 pts/2 00:00:00 bash
5271 pts/1 00:00:00 man
5274 pts/1 00:00:00 sh
5275 pts/1 00:00:00 sh
5279 pts/1 00:00:00 less
5333 ? 00:00:03 pidgin
5364 pts/2 00:00:00 ps
7. kill
Lệnh này sẽ làm chấm dứt một process.
kill [ -s signal | -p ] [ -a ] [ -- ] pid ...
kill -l [ signal ]
Các signal thông dụng:
SIGHUP (-1): Đây là một tín hiệu treo, nó chỉ thị cho chương trình re-load file cấu hình hoặc re-open giao diện, chứ không chấm dứt process
SIGTERM (-15): đây là một tín hiệu chấm dứt "tao nhã". Nó chỉ thị cho chương trình dừng những gì đang chạy lại, hỏi xem có processes (hoặc users) nào đang kiểm soát nó không, sau đó mới thoát.
SIGKILL (-9): tín hiệu bắt buộc chấm dứt luôn một process.
Lệnh killall: được dùng khi bạn muốn kill tất cả các process với tên chắc chắn. Lúc này bạn không cần dùng ps để tìm PID. Ví dụ: # killall httpd
Với output này:
$ ps -u quanta
PID TTY TIME CMD
4347 ? 00:00:00 kded
4656 ? 00:00:00 kio_file
4779 ? 00:00:00 consolehelper-g
4900 ? 00:00:06 gnome-terminal
4904 ? 00:00:00 gnome-pty-helpe
4905 pts/1 00:00:00 bash
5122 pts/2 00:00:00 bash
5271 pts/1 00:00:00 man
5274 pts/1 00:00:00 sh
5275 pts/1 00:00:00 sh
5279 pts/1 00:00:00 less
5333 ? 00:00:03 pidgin
5364 pts/2 00:00:00 ps
Giả sử muốn "kill" pidgin bạn có thể gõ:
$ kill -9 5333
8. grep PATTERN [FILE]...
Tìm kiếm PATTERN trong FILE.
[FaL@FaL ~]$ grep www /etc/passwd
www:*:80:80:World Wide Web Owner:/nonexistent:/usr/sbin/nologin
Trong man của grep có một tùy chọn khá hay, đó là -v (--invert-match). Tùy chọn này có ý nghĩa là bạn sẽ lọc ra những dòng text không match với PATTERN. Ví dụ bạn có một file cấu hình của ssh (/etc/ssh/sshd_config). Bạn muốn lọc ra tất cả những dòng mang giá trị cấu hình "thật sự", loại bỏ đi những dòng comment (bắt đầu bằng dấu #), bạn có thể sử dụng tùy chọn -v của grep:
$ sudo grep -v "^#" /etc/ssh/sshd_config
Password:
Port 2256
Protocol 2
SyslogFacility AUTHPRIV
MaxAuthTries 3
PasswordAuthentication yes
ChallengeResponseAuthentication no
GSSAPIAuthentication yes
GSSAPICleanupCredentials yes
UsePAM yes
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL
X11Forwarding yes
Subsystem sftp /usr/libexec/openssh/sftp-server
Để viết được lệnh trên bạn cần một chút kiến thức về regex (Regular Expression). Tôi có thể diễn giải nó như sau: "Lọc tất cả những dòng trong file sshd_config không bắt đầu bằng dấu #". Trong regex, ký tự ^được hiểu là bắt đầu của một dòng.
Trong output của lệnh trên do bạn chỉ bỏ đi những dòng comment nên vẫn còn xuất hiện những dòng trắng (blank lines). Để có thể bỏ đi những dòng này và làm cho output đẹp hơn bạn có thể dùng lệnh sed. Chi tiết về lệnh này chúng ta có thể tìm hiểu vào một dịp khác. Ở đây tôi chỉ muốn giới thiệu một chức năng cơ bản của sed.
Để xoá những dòng blank từ output trên tôi chạy:
$ sudo grep -v "^#" /etc/ssh/sshd_config | sed '/^$/d'
Port 2256
Protocol 2
SyslogFacility AUTHPRIV
MaxAuthTries 3
PasswordAuthentication yes
ChallengeResponseAuthentication no
GSSAPIAuthentication yes
GSSAPICleanupCredentials yes
UsePAM yes
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL
X11Forwarding yes
Subsystem sftp /usr/libexec/openssh/sftp-server
Diễn giải: $ được hiểu là kết thúc của một dòng. Như vậy lệnh trên sẽ tìm tất cả những dòng mà giữa "bắt đầu" (^) và kết thúc ($) không có ký tự nào (blank line), sau đó xoá nó đi (d).
9. Dấu | Chuyển data stream giữa các lệnh:
Với dấu | output của lệnh trước sẽ trở thành input stream data của lệnh sau.
[FaL@FaL ~]$ ls / | grep root
root
còn đây là output của ls /:
[FaL@FaL ~]$ ls /
COPYRIGHT compat etc media rescue tmp
bin dev home mnt root usr
boot dist lib net sbin var
cdrom entropy libexec proc sys
10. man
Hiển thị manual page cho các lệnh, file config,... Có thể nói đọc man là bước đầu tiên khi muốn tìm hiểu một lệnh hoặc config một file nào đó.
$man man
$man passwd
Xin cho đóng góp:
11. 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.
12. Dấu &
.:: Tiến trình hậu cảnh ::.
Khi một trương trình chạy với thởi gian lâu, ta có thể cho chúng chạy nền [chế độ hậu cảnh] ví dụ như tìm kiếm chẳng hạn - điều này giúp ta tiếp tục thực hiện việc khác. Để đưa tiến trình chạy ở hậu cảnh ta thêm dấu & vào sau lệnh thực hiện chương trình.
Như trong ví dụ dưới đây thì [1] là thứ tự tiến trình chạy ở hậu cảnh, 13766 là mã số tiến trình [PID].
blueocean@bl-dektop:~$ gnome-system-log &
[1] 13766
blueocean@bl-dektop:~$
Như trong ví dụ thì dấu nhắc đã được trả lại cho ta làm việc khác.
3. Lệnh jobs
Giúp xem các tiến trình chạy trong hậu cảnh.
blueocean@bl-dektop:~$ jobs
[1]- Running gnome-system-log &
[2]+ Running opera &
blueocean@bl-dektop:~$
Không có nhận xét nào:
Đăng nhận xét