11 lệnh Linux ít được biết đến nhưng rất hữu ích - Phần 1

Linux command line thu hút hầu hết các Linux Enthusiastic. Một người dùng thông thường của Linux thường có khoảng từ 50-60 lệnh để thực hiện các tác vụ hàng ngày của họ. Các lệnh và các tùy chọn của nó vẫn là kho báu có giá trị nhất đối với một người dùng Linux, người lập trình Shell-scriptQuản trị viên. Đây sẽ là tập hợp các lệnh Linux ít được biết đến nhưng rất hữu ích và tiện lợi bất kể bạn là một người mới hay một người dùng nâng cao.

Lesser Known Linux Commands

Bài viết này nhằm mục đích giới thiệu một số lệnh Linux ít được biết đến mà chắc chắn sẽ giúp bạn xử lý Desktop/Server của mình hiệu quả hơn.

1. sudo !! lệnh

Chạy lệnh mà không chỉ định sudo sẽ cho bạn lỗi từ chối quyền. Vì vậy, bạn không cần viết lại toàn bộ lệnh, chỉ cần đặt '!!' sẽ lấy lệnh cuối cùng.

$ apt-get update

E: Could not open lock file /var/lib/apt/lists/lock - open (13: Permission denied) 
E: Unable to lock directory /var/lib/apt/lists/ 
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied) 
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
$ sudo !!

sudo apt-get update 
[sudo] password for server: 
…
..
Fetched 474 kB in 16s (28.0 kB/s) 
Reading package lists... Done 
server@localhost:~$

2. python command

Lệnh dưới đây tạo ra một trang web đơn giản qua HTTP cho cây thư mục và có thể truy cập vào cổng 8000 trong trình duyệt cho tới khi gửi tín hiệu ngắt kết nối.

# python -m SimpleHTTPServer
python -m SimpleHTTPServer

3. Lệnh mtr

Hầu hết chúng ta quen thuộc với lệnh ping và traceroute. Có lệnh nào kết hợp chức năng của cả hai lệnh thành một với lệnh mtr không. Trường hợp mtr không được cài đặt vào máy của bạn, apt hoặc yum gói cần thiết.

$ sudo apt-get install mtr (On Debian based Systems)
# yum install mtr (On Red Hat based Systems)

Bây giờ chạy lệnh mtr để bắt đầu điều tra kết nối mạng giữa máy chủ mtr đang chạy trên và google.com.

# mtr google.com
mtr command

4. Lệnh Ctrl + x + e

Lệnh này rất hữu ích cho quản trị viên và nhà phát triển. Để Tự động hóa các tác vụ hàng ngày, một quản trị viên cần mở trình soạn thảo bằng cách gõ vi, vim, nano, v.v. Làm thế nào về việc khởi chạy trình soạn thảo tức thì (từ dấu nhắc dòng lệnh).

Chỉ cần nhấn "& Esc; Ctrl-x-e & rdquo;" từ dấu nhắc lệnh và bắt đầu làm việc trong trình soạn thảo.

Tải về Linux Command Line Cheat Sheet

 

Download Linux Command Line Book

 

5. Lệnh nl

Lệnh "nl" đánh số các dòng trong một tệp. Đánh số các dòng của tệp say 'one.txt' với các dòng (Fedora, Debian, Arch, Slack và Suse). Đầu tiên liệt kê nội dung của một tệp 'one.txt' bằng lệnh cat.

# cat one.txt 

fedora 
debian 
arch 
slack 
suse

Bây giờ chạy lệnh "nl" để liệt kê chúng theo cách được đánh số.

# nl one.txt 

1 fedora 
2 debian 
3 arch 
4 slack 
5 suse

6. Lệnh shuf

Lệnh "shuf" ngẫu nhiên chọn dòng/tệp/thư mục từ một tệp/thư mục. Đầu tiên liệt kê nội dung của một thư mục bằng lệnh ls.

# ls 

Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos
#  ls | shuf (shuffle Input)

Music 
Documents 
Templates 
Pictures 
Public 
Desktop 
Downloads 
Videos
#  ls | shuf -n1 (pick on random selection)

Public
# ls | shuf -n1 

Videos
# ls | shuf -n1 

Templates
# ls | shuf -n1 

Downloads

Lưu ý: Bạn luôn có thể thay thế 'n1' bằng 'n2' để chọn hai lựa chọn ngẫu nhiên hoặc bất kỳ số lựa chọn ngẫu nhiên khác nào bằng cách sử dụng 'n3', 'n4' v.v.

7. Lệnh ss

"Lệnh ss" viết tắt của socket statistics. Lệnh này điều tra socket và hiển thị thông tin tương tự như lệnh netstat. Nó có thể hiển thị thông tin về TCP và trạng thái nhiều hơn các công cụ khác.

# ss 

State      Recv-Q Send-Q      Local Address:Port          Peer Address:Port   
ESTAB      0      0           192.168.1.198:41250        *.*.*.*:http    
CLOSE-WAIT 1      0               127.0.0.1:8000             127.0.0.1:41393   
ESTAB      0      0           192.168.1.198:36239        *.*.*.*:http    
ESTAB      310    0               127.0.0.1:8000             127.0.0.1:41384   
ESTAB      0      0           192.168.1.198:41002       *.*.*.*:http    
ESTAB      0      0               127.0.0.1:41384            127.0.0.1:8000

8. Lệnh last

Lệnh "last" hiển thị lịch sử của người dùng đã đăng nhập gần nhất. Lệnh này tìm kiếm qua tệp '/var/log/wtmp' và hiển thị danh sách người dùng đăng nhập và đăng xuất cùng với tty.

#  last 
server   pts/0        :0               Tue Oct 22 12:03   still logged in   
server   tty8         :0               Tue Oct 22 12:02   still logged in   
…
...
(unknown tty8         :0               Tue Oct 22 12:02 - 12:02  (00:00)    
server   pts/0        :0               Tue Oct 22 10:33 - 12:02  (01:29)    
server   tty7         :0               Tue Oct 22 10:05 - 12:02  (01:56)    
(unknown tty7         :0               Tue Oct 22 10:04 - 10:05  (00:00)    
reboot   system boot  3.2.0-4-686-pae  Tue Oct 22 10:04 - 12:44  (02:39)    

wtmp begins Fri Oct  4 14:43:17 2007

9. curl ifconfig.me

Vậy làm thế nào để bạn nhận được địa chỉ IP bên ngoài của mình? Sử dụng google?. Vâng, lệnh này sẽ xuất ra địa chỉ IP bên ngoài của bạn trực tiếp vào dòng lệnh của bạn.

# curl ifconfig.me

Lưu ý: Bạn có thể không cài đặt gói curl, bạn phải apt / yum để cài đặt gói.

10. Lệnh tree

Lấy cấu trúc thư mục hiện tại theo định dạng cây.

# tree
. 
|-- Desktop 
|-- Documents 
|   `-- 37.odt 
|-- Downloads 
|   |-- attachments.zip 

|   |-- ttf-indic-fonts_0.5.11_all.deb 
|   |-- ttf-indic-fonts_1.1_all.deb 
|   `-- wheezy-nv-install.sh 
|-- Music 
|-- Pictures 
|   |-- Screenshot from 2013-10-22 12:03:49.png 
|   `-- Screenshot from 2013-10-22 12:12:38.png 
|-- Public 
|-- Templates 
`-- Videos 

10 directories, 23 files

11. pstree

Lệnh này hiển thị tất cả các tiến trình đang chạy hiện tại cùng với quy trình con liên quan, theo định dạng cây giống như đầu ra của lệnh 'tree'.

# pstree 
init─┬─NetworkManager───{NetworkManager} 
     ├─accounts-daemon───{accounts-daemon} 
     ├─acpi_fakekeyd 
     ├─acpid 
     ├─apache2───10*[apache2] 
     ├─at-spi-bus-laun───2*[{at-spi-bus-laun}] 
     ├─atd 
     ├─avahi-daemon───avahi-daemon 
     ├─bluetoothd 
     ├─colord───{colord} 
     ├─colord-sane───2*[{colord-sane}] 
     ├─console-kit-dae───64*[{console-kit-dae}] 
     ├─cron 
     ├─cupsd 
     ├─2*[dbus-daemon] 
     ├─dbus-launch 
     ├─dconf-service───2*[{dconf-service}] 
     ├─dovecot─┬─anvil 
     │         ├─config 
     │         └─log 
     ├─exim4 
     ├─gconfd-2 
     ├─gdm3─┬─gdm-simple-slav─┬─Xorg 
     │      │                 ├─gdm-session-wor─┬─x-session-manag─┬─evolution-a+ 
     │      │                 │                 │                 ├─gdu-notific+ 
     │      │                 │                 │                 ├─gnome-scree+ 
     │      │                 │                 │                 ├─gnome-setti+ 
     │      │                 │                 │                 ├─gnome-shell+++ 
     │      │                 │                 │                 ├─nm-applet──+++ 
     │      │                 │                 │                 ├─ssh-agent 
     │      │                 │                 │                 ├─tracker-min+ 
     │      │                 │                 │                 ├─tracker-sto+ 
     │      │                 │                 │                 └─3*[{x-sessi+ 
     │      │                 │                 └─2*[{gdm-session-wor}] 
     │      │                 └─{gdm-simple-slav} 
     │      └─{gdm3} 
     ├─6*[getty] 
     ├─gnome-keyring-d───9*[{gnome-keyring-d}] 
     ├─gnome-shell-cal───2*[{gnome-shell-cal}] 
     ├─goa-daemon───{goa-daemon} 
     ├─gsd-printer───{gsd-printer} 
     ├─gvfs-afc-volume───{gvfs-afc-volume}

Đó là tất cả cho bây giờ. Trong bài viết tiếp theo, bạn sẽ được giới thiệu lệnh Linux ít được biết đến khác mà sẽ rất thú vị.