10 lệnh Linux hữu ích ít được biết đến - Phần V

# lsb_release -a
LSB Version:    :base-4.0-ia32:base-4.0-noarch:core-4.0-ia32:core-4.0-noarch:graphics-4.0-ia32:
Distributor ID: CentOS
Description:    CentOS release 6.3 (Final)
Release:        6.3
Codename:       Final

Lưu ý: Tùy chọn '-a' sẽ hiển thị tất cả thông tin có sẵn về phiên bản, id, mô tả, phiên bản và mã tên.

nc -zv localhost 80

Kiểm tra xem cổng 80 có mở hay không. Chúng ta có thể thay '80' bằng bất kỳ số cổng nào khác để kiểm tra xem nó có mở hay đóng. 

$ nc -zv localhost 80
Connection to localhost 80 port [tcp/http] succeeded!

Kiểm tra xem cổng 8080 có mở hay không

$ nc -zv localhost 8080
nc: connect to localhost port 8080 (tcp) failed: Connection refused

curl ipinfo.io

Lệnh dưới đây sẽ hiển thị 'Geographical Location' của địa chỉ IP đã cung cấp.

$ curl ipinfo.io 
"ip": "xx.xx.xx.xx",
"hostname": "triband-del-aa.bbb.cc.ddd.bol.net.in",
"city": null,
"region": null,
"country": "IN",
"loc": "20,77",
"org": "AS17813 Mahanagar Telephone Nigam Ltd."

find . -user root

Lệnh dưới đây sẽ hiển thị các tệp tin thuộc sở hữu của người dùng (root). Tất cả các tệp tin thuộc sở hữu của người dùng 'root' trong thư mục hiện tại. 

# find . -user root

./.recently-used.xbel
./.mysql_history
./.aptitude
./.aptitude/config
./.aptitude/cache
./.bluefish
./.bluefish/session-2.0
./.bluefish/autosave
./.bash_history

Tất cả các tệp tin thuộc sở hữu của người dùng 'avi' trong thư mục hiện tại.

# find . -user avi

./.cache/chromium/Cache/f_002b66
./.cache/chromium/Cache/f_001719
./.cache/chromium/Cache/f_001262
./.cache/chromium/Cache/f_000544
./.cache/chromium/Cache/f_002e40
./.cache/chromium/Cache/f_00119a
./.cache/chromium/Cache/f_0014fc
./.cache/chromium/Cache/f_001b52
./.cache/chromium/Cache/f_00198d
./.cache/chromium/Cache/f_003680

sudo apt-get build-dep ffmpeg

Lệnh dưới đây sẽ xây dựng các phụ thuộc tự động trong quá trình cài đặt gói tương ứng. Do đó, quá trình cài đặt gói trở nên trơn tru và dễ dàng hơn.

# apt-get build-dep ffmpeg
libxinerama-dev libxml-namespacesupport-perl libxml-sax-expat-perl
libxml-sax-perl libxml-simple-perl libxrandr-dev libxrender-dev
x11proto-render-dev x11proto-xinerama-dev xulrunner-dev
The following packages will be upgraded:
libpixman-1-0
1 upgraded, 143 newly installed, 0 to remove and 6 not upgraded.
Need to get 205 MB of archives.
After this operation, 448 MB of additional disk space will be used.
Do you want to continue [Y/n]?

lsof -iTCP:80 -sTCP:LISTEN

Lệnh dưới đây sẽ hiển thị tên tiến trình/dịch vụ đang sử dụng cổng 80 cụ thể. Để hiểu rõ hơn, chạy lệnh sau trên cổng 80, nó sẽ liệt kê tất cả các dịch vụ/tiến trình đang chạy trên cổng đó. 

root@localhost:/home/avi# lsof -iTCP:80 -sTCP:LISTEN
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
apache2 1566 root 5u IPv6 5805 0t0 TCP *:www (LISTEN)
apache2 1664 www-data 5u IPv6 5805 0t0 TCP *:www (LISTEN)
apache2 1665 www-data 5u IPv6 5805 0t0 TCP *:www (LISTEN)
apache2 1666 www-data 5u IPv6 5805 0t0 TCP *:www (LISTEN)
apache2 1667 www-data 5u IPv6 5805 0t0 TCP *:www (LISTEN)
apache2 1668 www-data 5u IPv6 5805 0t0 TCP *:www (LISTEN)

Tương tự, bạn cũng có thể kiểm tra các dịch vụ/tiến trình đang chạy trên cổng 22.

root@localhost:/home/avi# lsof -iTCP:22 -sTCP:LISTEN
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 2261 root 3u IPv4 8366 0t0 TCP *:ssh (LISTEN)
sshd 2261 root 4u IPv6 8369 0t0 TCP *:ssh (LISTEN)

find -size +100M

Lệnh 'find' liệt kê tất cả các tệp tin trong thư mục hiện tại có kích thước lớn hơn kích thước chỉ định (ở đây là 100 MB), đệ quy. 

# find -size +100M
./.local/share/Trash/files/linuxmint-15-cinnamon-dvd-32bit.iso
./Downloads/Fedora-Live-Desktop-i686-19-1.iso
./Downloads/Ant Videos/shakira 2.avi
./Downloads/Deewar.avi
./Desktop/101MSDCF/MOV02224.AVI
./Desktop/101MSDCF/MOV02020.AVI
./Desktop/101MSDCF/MOV00406.MP4
./Desktop/squeeze.iso

Liệt kê tất cả các tệp tin có kích thước lớn hơn 1000 MB, trong thư mục hiện tại, đệ quy.

root@localhost:/home/avi# find -size +1000M
./Downloads/The Dark Knight 2008 hindi BRRip 720p/The Dark Knight.mkv.part
./Downloads/Saudagar - (1991) - DVDRiP - x264 - AAC 5.1 - Chapters - Esubs - [DDR]/Saudagar 
- (1991) - DVDRiP - x264 - AAC 5.1 - Chapters - Esubs - [DDR].mkv
./Downloads/Deewar.avi
./Desktop/squeeze.iso

pdftk

Lệnh 'pdftk' được sử dụng để kết hợp nhiều tệp PDF thành một tệp duy nhất. Bạn cần cài đặt chương trình 'pdftk'. Nếu chưa cài đặt, bạn có thể sử dụng 'apt' hoặc 'yum' để cài đặt gói cần thiết.

$ pdftk 1.pdf 2.pdf 3.pdf …. 10.pdf cat output merged.pdf

ps -LF -u user_name

Lệnh dưới đây sẽ hiển thị các tiến trình và luồng của một người dùng. Tùy chọn "L" (liệt kê luồng) và "-F" (định dạng đầy đủ) được sử dụng.

$ ps -LF -u avi

avi 21645 3717 21766 0 5 66168 117164 1 18:58 ? 00:00:00 /usr/
avi 21645 3717 21768 0 5 66168 117164 1 18:58 ? 00:00:00 /usr/
avi 22314 3717 22314 0 2 42797 50332 0 19:00 ? 00:00:40 /usr/
avi 22314 3717 22316 0 2 42797 50332 1 19:00 ? 00:00:00 /usr/
avi 22678 24621 22678 0 1 969 1060 1 21:05 pts/1 00:00:00 ps -L
avi 23051 3717 23051 0 2 37583 45444 1 19:03 ? 00:00:52 /usr/
avi 23051 3717 23053 0 2 37583 45444 0 19:03 ? 00:00:03 /usr/
avi 23652 1 23652 0 2 22092 12520 0 19:06 ? 00:00:22 gnome
avi 23652 1 23655 0 2 22092 12520 0 19:06 ? 00:00:00 gnome

Startx — :1

Chia sẻ phiên X, có nghĩa là thường xuyên đăng nhập và đăng xuất, đây là nơi lệnh Startx ra đời. Lệnh này tạo ra một phiên mới nên không cần đăng nhập và đăng xuất thường xuyên từ một phiên. Để chuyển đổi giữa hai phiên X, chúng ta cần chuyển đổi giữa 'ctrl+Alt+F7' và 'ctrl+Alt+F8'.

Lưu ý: Phím "ctrl+Alt+F1", "ctrl+Alt+F6" dành cho phiên console và "ctrl+Alt+F7", "ctrl+Alt+F12" dành cho phiên X. Vì vậy, có 6 phiên console và 6 phiên X, mà không cần đăng nhập và đăng xuất thường xuyên. Trình tự trên hoạt động trên hầu hết các phiên bản phân phối, tuy nhiên, các phiên bản khác nhau có thể triển khai nó theo cách khác nhau.

Bên trên chính là tập hợp 10 lệnh Linux hữu ích mà bạn nên biết, chúng không khá phổ biến nhưng lại có tính ứng dụng cao. Bạn có thể tham khảo các ví dụ để thực hàng trong hệ điều hành một cách trơn tru nhất có thể.

Mọi người cùng tìm kiếm: lsof -i tcp