Các lệnh SSH command cơ bản

Tháng Mười Hai 5, 2018 6:38 sáng

SSH command

SSH Command Explanation
ls Show directory contents (list the names of files).
cd Change Directory.
mkdir Create a new folder (directory).
touch Create a new file.
rm Remove a file.
cat Show contents of a file.
pwd Show current directory (full path to where you are right now).
cp Copy file/folder.
mv Move file/folder.
grep Search for a specific phrase in file/lines.
find Search files and directories.
vi/nano Text editors.
history Show last 50 used commands.
clear Clear the terminal screen.

Bạn cần gì?

Trước khi bắt đầu bạn cần:

  • Có thể truy cập vào Terminal.

Bước 1 — Truy cập server từ xa

Chúng tôi khuyên sử dụng server ảo mới với template mới để lỡ bạn xóa file nào chúng ta cũng có thể cài lại template mới từ đầu.

SSH viết tắt của Secure Shell. Đó là giao thức để kết nối an toàn tới server/hệ thống.

Lệnh cơ bản bạn cần dùng là:

ssh user@serverip

Lệnh này giúp bạn kết nới tới user user của server có địa chỉ IP serverip. Một cách đơn giản hơn có thể dùng SSH command serverip, cách này shell sẽ hiểu rằng bạn đang kết nối tới cùng server mà bạn đăng dùng bây giờ.

Khi enter, bạn sẽ bị yêu cầu nhập password (nếu kết nối lần đầu, bạn cũng sẽ thấy cảnh bảo server đang kết nối không được xác định, chỉ cần nhấn yes trên dòng lệnh).

Vậy đó, bạn đã kết nối được và có thể bắt đầu đọc tiếp hướng dẫn sau để quản lý file qua Terminal! Nếu bạn đang thoát khỏi remote server và muốn quay lại máy tính, chỉ cần gõ exit trên command line.

Hướng dẫn chi tiết hơn kết nối tới VPS qua Putty SSH có thể tìm thấy tại đây here.

Bước 2 — Học SSH command

Trong bước này, chúng ta sẽ đi qua những command (lệnh) quan trọng nhất và phổ biến nhất bạn nên biết!

QUAN TRỌNG! Áp dụng cho commands trong shell. Khi viết đối tượng cho một lệnh, ví dụ, cd ‘Folder One’ (khi tên thư mục chứa 2 chữ), bạn phải điền tên thư mục giữa 2 dấu nháy. Lệnh cd Folder One (không có dấu nháy) sẽ không hoạt động vì shell hiểu là có tới 2 đối tượng (“Folder” và “One”).

  1. ls – Lệnh này được dùng để liệt kê tất cả các files và thư mục. Chúng tôi khuyên dùng lệnh này với option -l, có nghĩa là ls -l, như vậy, tất cả files sẽ được liệt kê ra với nhiều thông tin hơn và thuận mắt hơn. Một option hữu ích hơn là -a, chúng cũng sẽ hiện tất cả file, nhưng bao gồm cả files/directories ẩn (dot files với dấu . đằng trước, ví dụ: thư mục .ssh ).
  2. cd – SSH command này được dùng để  “đi” tới thư mục (cd có nghĩa là “change directory”). Sau khi liệt kê danh sách bằng ls, bạn có thể chọn một thư mục để “đi” tới. Ví dụ bạn muốn tới home. Gõ lệnh sau cd home và ngay lập tức bạn sẽ được chuyển từ thư mục hiện tại sang “home”. Bạn có thể thử dùng ls lại để xem kết quả thay đổi như thế nào. Bạn cũng có thể điền đầy đủ đường dẫn nếu bạn muốn tới sâu trong một thư mục mà phải qua nhiều lớp. Ví dụ: cd home/TestDirectory/AnotherDirectory. Lệnh này sẽ chuyển bạn tới thư mục “AnotherDirectory”. Sử dụng lệnh cd .. (khoảng trắng và 2 chấm sau cd) để di chuyển lên một cấp (trong ví dụ trước, nếu muốn tới “TestDirectory” từ “AnotherDirectory”).
  3. mkdir – SSH commandnày được dùng để tạo một thư mục (viết tắt từ “make directory”). Đơn giản nó dùng để tạo một thư mục có tên cụ thể, ví dụ mkdir NewFolder sẽ tạo một thư mục có tên “NewFolder” trong đường dẫn hiện hành (tại nơi bạn đang đứng).
  4. touch – SSH command này được dùng để tạo file với đuôi được chỉ định, touch NewFile.txt sẽ tạo một file “txt” mới có tên “NewFile” trong đường dẫn hiện tại (đuôi file có thể là bất kỳ tên gì, hoặc không cần có đuôi, ví dụ touch NewFile.)
  5. rm – SSH command này dùng để xóa thư mục hoặc file. Ví dụ, rm NewFile sẽ xóa file được tạo từ trước có tên “NewFile”. Nếu bạn muốn xóa thư mục và tất thư mục bên trong nó, sử dụng rm -r NewFolder, nó sẽ xóa thư mục “NewFolder” và tất cả thư mục bên trong.
  6. cat – SSH command này để hiển thị nội dung của file. Ví dụ, cat info.txt sẽ mang nội dung của file lên màn hình. Ví dụ khác: cat info.txt info2.txt > mergedinfo.txt sẽ nối nội dung 2 file lại thành nội dung bên trong file mergedinfo.txt (“info.txt” và “info2.txt”) .
  7. pwd – SSH command này sẽ hiện đường dẫn hiện tại. Ví dụ khi gõ pwd, kết quả có thể là: “home/user/public_html”.
  8. cp – Lệnh này dùng để copy file hoặc thư mục. Cú pháp là:
cp [options] source dest

Cơ bản, đổi source thành file bạn muốn copy, và đổi dest,thành đường dẫn bạn muốn copy tới (path/folder/file). Nếu bạn viết đường dẫn không tồn tại, ví dụ bạn có file gốc là là oldfile.txt và đổi dest thành newfile.txt, kết quả sẽ là bạn copy file cũ và dán nó vào thư mục hiện tại với tên mới.

Ngoài ra, có một số tùy chọn bạn có thể dùng cho cp:

  • cp -f source dest – Buộc copy thành công bằng cách xóa file nếu cần.
  • cp -i source dest – Sẽ cho bạn thấy cảnh bảo nếu đang lưu đè lên file khác.
  • cp -u source dest – Tùy chọn cập nhật. Sẽ chỉ copy nếu file mới là mới so với thư mục đích.
  • cp -n source dest – Không copy nếu file đích đã tồn tại (Không ghi đè).
  • cp -a source dest – Tùy chọn này sẽ lưu lại file.
  1.  mv – Lệnh này tương tự như cp, nhưng nó sẽ di chuyển file thay vì copy nó. Lệnh này có thể dùng để đổi tên file. Dùng ví dụ giống với lệnh cp (trong thư mục hiện tại chúng ta có file oldfile.txt) và gõ lệnh: mv oldfile.txt newfile.txt lệnh sẽ được thư thi bằng cách đổi tên file oldfile.txt thành newfile.txt.
  2. grep – Lệnh này tìm chuỗi trong file/folder. Ví dụ: grep ‘word’ file sẽ tìm từ ‘word’ trong file có tên “file”grep sẽ trả về toàn bộ dòng chứa chữ ‘word’, ví dụ có một dòng trong file là ‘All in all it’s just another word in a sentence’ thì kết quả từ lệnh grep ‘word’ file, cũng là dòng đó, nơi từ word được tìm thấy.
  3. find – Lệnh này dùng để tìm thư mục hoặc file có điều kiện (tên, kích thước, loại file). Ví dụ: find . -name “*.html” Lệnh này sẽ hiển thị toàn bộ file có đuôi là “.html” (hãy chú ý cách dùng dấu ” * “ của chúng tôi tôi, dấu này giúp bash hiểu là bất kỳ ký tự nào đằng trước đuôi “.html” nó cũng sẽ được tìm thấy, miễn có kết thúc là “.html”.
  4. vi/nano – Lệnh này được dùng để sửa nội dung file. Ví dụ nano newfile sẽ hoặc là tạo một file “newfile” và khởi động trình soạn thảo nano để chỉnh sửa hoặc chỉnh sửa file đã tồn tại có tên “newfile” . Giống như vậy, với lệnh vi, khởi động một trình soạn thảo khác tên là “vi”.
  5. history – Lệnh này sẽ hiển thị lịch sử các lệnh trước đây. Ví dụ: history 20 sẽ hiện 20 lệnh vừa mới thực hiện trong Terminal.

Tổng hợp các lệnh cơ bản SSH và hướng dẫn sử dụng

Các lệnh căn bản thường dùng nhất:

Để kiểm tra thông số VPS cũng như server cài hệ điều hành Linux, các bạn có thể dùng một số lệnh sau:
# cat /proc/cpuinfo : hiển thị thông tin CPU
# cat /proc/meminfo : hiển thị thông tin về RAM đang sử dụng
# cat/ proc/version : hiển thị phiên bản của kernel
# free -m : hiển thị lượng RAM còn trống
# df -h : hiển thị thông tin những file hệ thống nơi mỗi file thường trú hoặc tất cả những file mặc dịnh và lệnh này có thể xem được dung lượng ổ cứng đã sử dụng và còn trống bao nhiêu.
# du -sh : xem dung lượng của thư mục
# du : xem chi tiết dung lượng của các thư mục bên trong nó.
# du -sh * : xem dung lượng chi tiết của tất cả các file trong thư mục hiện hành.

Một số lệnh nâng cao hơn:

1. Hiển thị tiến trình trong hệ thống Linux

# ps aux | less

Ngoài ra lệnh này có thể sử dụng kết hợp với một số tham số khác như:
# ps –A: Kiểm tra mọi tiến trình trong hệ thống.
# ps -U root -u root –N: Kiểm tra mọi tiến trình ngoại trừ những tiến trình hệ thống.
# ps -u username: Kiểm tra những tiến trình được thực hiện bởi một người dùng nhất định.
Hoặc bạn có thể sử dụng lệnh # top để xem những tiến trình đang chạy trên hệ thống trong thời gian thực.

2. Kiểm tra thông tin Socket và thông tin mạng TCP/UDP

# ss –s: Hiển thị tổng số Socket.
# ss -1: Hiển thị mọi cổng mở.
# ss –pl: Kiểm tra tên tiến trình sử dụng Socket mở sử dụng lệnh sau:
# ss -lp | grep: Kiểm tra người dùng đang làm việc với Socket mở.
# ss -t –a: Hiển thị mọi Socket TCP.
# ss -u –a: Hiển thị mọi Socket UDP.

3. Theo dõi Average CPU Load và Disk Activity

Nếu là một quản trị viên hệ thống Linux, bạn cần phải biết phương pháp duy trì một sự cân bằng hợp lý trong quá trình tải đầu vào và đầu ra giữa các ổ đĩa vật lý. Bạn có thể thay đổi cấu hình hệ thống để thực hiện tác vụ này. Tuy nhiên có một phương pháp đơn giản hơn rất nhiều đó là sử dụng lệnh isostat để quản lý hệ thống thiết bị tải đầu vào và đầu ra trong Linux bằng cách theo dõi thời gian hoạt động và tốc độ truyền trung bình của những thiết bị này. Lệnh này sẽ thông báo thông tin của CPU (Central Processing Unit), thông tin đầu vào và đầu ra cho những thiết bị, phân vùng và hệ thống file mạng (NFS).
Khi chạy lệnh isostat thông tin kết xuất có dạng:

Để lấy thông tin thư mục NFS bạn hãy sử dụng lệnh sau:
# iostat –n

4. Kiểm tra Memory Map của các tiến trình trong Linux

Khi làm việc trong hệ thống Linux có thể bạn cần kiểm tra dung lượng bộ nhớ sử dụng trong hệ thống. Linux tích hợp nhiều lệnh cho phép kiểm tra dung lượng bộ nhớ chiếm dụng. Trong đó có một lệnh đơn giản giúp hiển thị thông tin tổng dung lượng đã chiếm dụng và chưa chiếm dụng của bộ nhớ vật lý và tổng dung lượng bộ nhớ đó là lệnh free.

Sau khi chạy lệnh này bạn sẽ thấy tổng dung lượng đã chiếm dụng và chưa chiếm dụng của bộ nhớ vật lý và tổng dung lượng bộ nhớ trong hệ thống. Ngoài ra nó còn hiển thị thông tin bộ nhớ đệm mà các nhân sử dụng.
5. Kiểm tra thời gian vận hành của hệ thống

# uptime
Lệnh đơn giản này không chỉ cho bạn biết thời gian hệ thống vận hành mà còn cho biết lượng người dùng đã đăng nhập vào hệ thống trong một khoảng thời gian trước đó.

6. Kiểm tra người dùng đăng nhập

Để kiểm tra ai đã đăng nhập vào hệ thống và những tác vụ họ đã thực hiện bạn chỉ cần chạy lệnh sau:
# w username

7. Kiểm soát hành vi hệ thống, phần cứng và thông tin hệ thống trong Linux

Với nhiều người dùng Linux, kiểm soát hệ thống là một tác vụ phức tạp. Hầu hết các bản phân phối Linux tích hợp khá nhiều công cụ kiểm soát. Những công cụ kiểm soát này cung cấp các phương pháp có thể được áp dụng để kiểm tra thông tin hành vi hệ thống. Việc kiểm soát hệ thống cho phép người dùng theo dõi nguyên nhân khả năng thực thi của hệ thống bị cản trở. Một trong những tác vụ cần thiết của quá trình kiểm soát hệ thống là tra cứu thông tin về hành vi hệ thống, phần cứng và thông tin bộ nhớ. Có một lệnh đơn giản giúp hiển thị thông tin về tiến trình, bộ nhớ, trang ghi, nhóm IO, lỗi và hành vi CPU đó là lệnh vmstat.

Bạn chỉ cần nhập lệnh sau vào cửa sổ terminal:
# vmstat 3

Ngoài ra bạn có thể sử dụng lệnh # vmstat –m để kiểm tra thông tin bộ nhớ, và lệnh # vmstat –a để hiển thị thông tin trang nhớ đang hoạt động và không hoạt động.

8. Kiểm tra thông tin phần cứng của hệ thống Linux

Bạn chỉ cần đăng nhập dưới quyền root user và sử dụng lệnh sau:
# hdparm -I /dev/sda
Hoặc dùng lệnh:
$ sudo hdparm -I /dev/sda
Khi đó thông tin về đĩa cứng của hệ thống sẽ lập tức hiển thị.

 

Các lệnh khác:

 

Lệnh liên quan đến hệ thống

exit: thoát khỏi cửa sổ dòng lệnh.
logout: tương tự exit.
reboot: khởi động lại hệ thống.
halt: tắt máy.
startx: khởi động chế độ xwindows từ cửa sổ terminal.
mount: gắn hệ thống tập tin từ một thiết bị lưu trữ vào cây thư mục chính.
unmount: ngược với lệnh mount.

* Lệnh xem thông tin

cat /proc/cpuinfo: Tìm chi tiết kỹ thuật của CPU
uname -r: Xem hạt nhân phiên bản
gcc -v: Compiler phiên bản nào tôi đã cài đặt.
cat /proc/meminfo: Bộ nhớ và trang đổi thông tin
/sbin/ifconfig: Xem các địa chỉ IP của bạn.
netstat: xem tất cả các kết nối.
lsmod: Những gì được nạp module hạt nhân
last: xem những ai đã login vào hệ thống
df: Xem dung lượng ổ đĩa cứng
free -m: xem dung lượng sử dụng bộ nhớ
netstat -an |grep :80 |wc -l: xem có bao nhiêu kết nối đến cổng 80

* Lệnh thao tác trên tập tin

ls: lấy danh sách tất cả các file và thư mục trong thư mục hiện hành.
pwd: xuất đường dẫn của thư mục làm việc.
cd: thay đổi thư mục làm việc đến một thư mục mới.
mkdir: tạo thư mục mới.
rmdir: xoá thư mục rỗng.
cp: copy một hay nhiều tập tin đến thư mục mới.
mv: đổi tên hay di chuyển tập tin, thư mục.
rm: xóa tập tin.
wc: đếm số dòng, số kí tự… trong tập tin.
touch: tạo một tập tin.
cat: xem nội dung tập tin.
vi: khởi động trình soạn thảo văn bản vi.
df: kiểm tra dung lượng đĩa.
du: xem dung lượng đĩa đã dùng cho một số tập tin nhất định
tar -cvzpf archive.tgz /home/example/public_html/folder: nén một thư mục
tar -tzf backup.tar.gz: liệt kê file nén gz
tar -xvf archive.tar: giải nén một file tar
unzip file.zip: giải nén file .zip

* Lệnh khi làm việc trên terminal

clear: xoá trắng cửa sổ dòng lệnh.
date: xem ngày, giờ hệ thống.
find /usr/share/zoneinfo/ | grep -i pst: xem các múi giờ.
ln -f -s /usr/share/zoneinfo/Asia/Ho_Chi_Minh /etc/localtime: Đổi múi giờ máy chủ về múi giờ Việt Nam
cal: xem lịch hệ thống.

* Lệnh quản lí hệ thống

rpm: kiểm tra gói đã cài đặt hay chưa, hoặc cài đặt một gói, hoặc sử dụng để gỡ bỏ một gói.
ps: kiểm tra hệ thống tiến trình đang chạy.
kill: dừng tiến trình khi tiến trình bị treo. Chỉ có người dùng super-user mới có thể dừng tất cả các tiến trình còn người dùng bình thường chỉ có thể dừng tiến trình mà mình tạo ra.
top: hiển thị sự hoạt động của các tiến trình, đặc biệt là thông tin về tài nguyên hệ thống và việc sử dụng các tài nguyên đó của từng tiến trình.
pstree: hiển thị tất cả các tiến trình dưới dạng cây.
sleep: cho hệ thống ngừng hoạt động trong một khoảng thời gian.
useradd: tạo một người dùng mới.
groupadd: tạo một nhóm người dùng mới.
passwd: thay đổi password cho người dùng.
userdel: xoá người dùng đã tạo.
groupdel: xoá nhóm người dùng đã tạo.
gpasswd: thay đổi password của một nhóm người dùng.
su: cho phép đăng nhập với tư cách người dùng khác.
groups: hiển thị nhóm của user hiện tại.
who: cho biết ai đang đăng nhập hệ thống.
w: tương tự như lệnh who.
man: xem hướng dẫn về dòng lệnh như cú pháp, các tham số…

Từ khóa: , ,

Chuyên mục: ,