Một số lệnh hữu ích trên terminal
This post hasn't been updated for 3 years
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