+5

Một số lệnh hữu ích trên terminal

1. Xem log realtime

Thông thường ta hay dùng lệnh tail -f /var/log/nginx/access.log để xem realtime log. Nhưng ta có thể không cần dùng option -f mà dùng trực tiếp lệnh tailf /var/log/nginx/access.log cũng có chức năng tương tự. Đỡ mỏi tay hơn 1 chút 😄

2. Xem cấu trúc cây thư mục bằng lệnh tree

Lệnh tree cho phép ta xem cấu trúc và cấp thư mục của một thư mục, kiểu như thế này

~$ tree t
t
├── a
│   ├── x
│   ├── y
│   └── z
├── b
│   ├── x
│   ├── y
│   └── z
└── c
    ├── x
    ├── y
    └── z

3. Tạo nhiều thư mục cùng lúc

Như ở trên ta thấy có thư mục cha là t, trong đó có 3 thư mục con tương ứng là a, b và c trong mỗi thư mục con lại có x, y và z. Để có thể tạo liền một lúc cấu trúc thư mục trên ta có thể dùng lệnh

~$ mkdir -pv t/{a,b,c}/{x,y,z}
mkdir: created directory 't'
mkdir: created directory 't/a'
mkdir: created directory 't/a/x'
mkdir: created directory 't/a/y'
mkdir: created directory 't/a/z'
mkdir: created directory 't/b'
mkdir: created directory 't/b/x'
mkdir: created directory 't/b/y'
mkdir: created directory 't/b/z'
mkdir: created directory 't/c'
mkdir: created directory 't/c/x'
mkdir: created directory 't/c/y'
mkdir: created directory 't/c/z

4. Copy public-key lên server tự động

Ta cần ssh lên server bằng key. Cách thủ công thường làm là

~$ mkdir ~/.ssh
~$ touch ~/.ssh/authorized_keys
~$ # copy public-key to authorized_keys
~$ chmod 700 ~/.ssh
~$ chmod 600  ~/.ssh/authorized_keys

Rất phiền phức nên ta có thể sử dụng lệnh ssh-copy-id user@ip_address, sau đó nhập password của user thì public-key sẽ tự được copy lên server. Thư mục .ssh và tập tin authorized_keys cũng sẽ được tạo đúng quyền chúng ta cần.

5. Thực thi định kì một lệnh và xuất ra màn hình

Ví dụ mình chuyển 1 file 10GB qua một server khác, mình có thói quen kiểm tra xem kích thước của file đó bên server kia tới đâu rồi nên hay phải ls -lh 10GB.txt lặp đi lặp lại. Có một cách khác để tự động thực thi lệnh trên mỗi 2s (mặc định) bằng lệnh watch như sau

~$ watch 'ls -lh 10GB.txt'

6. Sử dụng vim tới một dòng xác định

Khi cấu hình nginx, ta có option nginx -t để check config có đúng syntax hay không. Ví dụ nginx báo lỗi syntax ở dòng 19. Ta có thể mở file config tới trực tiếp dòng 19 như sau ~$ vim /etc/nginx/nginx.conf +19

7. Thao tác với các tập tin nén

Trên server thường có một dịch vụ logrotate để nén log định kì. Nếu ta muốn điều tra log của những ngày trước thì ta sẽ cần giải nén các tập tin log này trước khi dùng grep, awk ...

Ta cũng có thể sử dụng các lệnh như zcat, zgrep, zless để đọc hay lọc các tập tin này mà không cần giải nén.

8. Dùng httpie thay curl

httpie cho phép hiển thị kết quả đẹp và màu sắc hơn, bớt nhàm chán hơn

9. chown/chgrp

Ví dụ ta muốn chown các file thuộc về user và group nginx. Bình thường ta sẽ làm vầy

~$ chown -R nginx:nginx /var/log/nginx

Ta cũng có thể không cần chỉ định group, mà sẽ lấy group mặc định của user đó bằng lệnh

~$ chown -R nginx: /var/log/nginx
hoặc
~$ chown -R nginx. /var/log/nginx

Sử dụng dấu hai chấm : và dấu chấm . ngay sau user

10. Memory, Disk

Kiểm tra dung lượng memory đang được sử dụng

~$ free -m
~$ less /proc/meminfo

Swap size ~$ swapon -s

Xem dung lượng sử dụng của disk hiện tại ~$ df -Th


All Rights Reserved

Viblo
Let's register a Viblo Account to get more interesting posts.