April 21, 2015 hotro@hostingviet.vn 02466.567.555       Giới thiệuTuyển dụng    Liên hệ   Đăng nhập   Đăng ký

#40 lệnh cơ bản trong Linux bạn cần biết (Vi, Kill, Rmdir, Sudo...)

Khi sử dụng bất cứ hệ điều hành nào, người dùng cần phải tìm hiểu về những lệnh cơ bản của chúng và Linux cũng không ngoại lệ. Bài tổng hợp sau đây là sẽ là chia sẻ về các lệnh cơ bản trong Linux.

Bạn đã biết cách sử dụng các lệnh cơ bản trong Linux chưa? Nếu bạn vẫn đang loay hoay với hàng loạt lệnh của hệ điều hành này thì hãy tham khảo chia sẻ sau của Hosting Việt nhé. Bởi khi đã thành thạo các lệnh thông dụng, chắc chắn bạn sẽ làm chủ nó nhanh chóng và nhận thấy nhiều ưu điểm của Linux. 

Lệnh Vi trong Linux

Lệnh Vi có chức năng soạn thảo, chỉnh sửa text dưới dạng Terminal và là một công cụ cần thiết cho người sử dụng hệ điều hành Linux.

  • Mở lệnh Vi 

Vì là một ứng dụng có dạng Terminal nên bạn cần phải khởi động lệnh Vi bằng của sổ Terminal tương ứng.

Cú pháp câu lệnh: vi/path/to/file

Nếu file không có sẵn thì Vi sẽ tự tạo một file mới và đặt tên theo tên của tập tin bạn chỉ định mở.

cac lenh co ban trong linux

Lưu ý:

Trong trường hợp muốn điều chỉnh file hệ thống, bạn dùng lệnh sudo trong Linux. Nếu hệ điều hành Linux không phải phên bản Ubuntu thì bạn thay sudo bằng su.

Ví dụ: Bạn gõ câu lệnh sudo vi /etc/fstab khi muốn chỉnh sửa file Fstab.

  • Chế độ Command

Khi ở chế độ Command, bạn có thể sử dụng phím mũi tên để di chuyển con trỏ, nhấn phím x để xóa ký tự ngay tại vị trí con trỏ và nhấn dd để xóa tất cả dòng ký tự. Ngoài ra, chế độ này cũng cho phép bạn sao chép, cắt hay lưu đoạn text. Bằng cách di chuyển con trỏ đến nội dung cần sao chép, rồi nhấn phím v, hoặc nhấn phím x để cắt. Tiếp đến, đưa con trỏ vào vị trí muốn dán đoạn text và nhấn phím p để hoàn tất việc paste nội dung.

cac lenh co ban trong linux

  • Chế độ Insert

Trong chế độ này, lệnh Vi cho phép người dùng có thể tùy ý chèn thêm ký tự vào văn bản. Bạn chỉ việc nhấn nút I để chuyển sang chế độ Insert, tiếp đến nhập ký tự cần chèn. Cuối cùng, nhấn phím Escape (ESC) để về lại chế độ Command.

cac lenh co ban trong linux

  • Saving và Quiting

Khi đang ở trong chế độ Command, bạn có thể lưu và thoát ứng dụng nhanh chóng. Bằng cách, gõ :wq để lưu tập tin đã thay đổi và đóng Vi.

Trong trường hợp, bạn muốn thực hiện thành 2 thao tác riêng lẻ thì gõ :w để hệ thống lưu file, sau đó gõ tiếp :q để thoát chương trình. 

cac lenh co ban trong linux

Ghi chú: Vì lệnh Vi không cho phép người dùng đóng ứng dụng nếu file chưa lưu nên bạn gõ lệnh :q!, sau đó nhấn nút Enter để bỏ cảnh báo của hệ thống.

cac lenh co ban trong linux

  • Các lệnh thông thường khác trong Vi

- Tùy chọn mở file ở chế độ chỉ cho phép đọc (Read only): vi -R file.

- Di chuyển các ký tự ở chế độ Command.

Có 2 cách để di chuyển các ký tự, đó là dùng các phím mũi tên lên, xuống, trái, phải hoặc sử dụng các phím chữ cái:

k: Di chuyển con trỏ lên trên.

j: Di chuyển con trỏ xuống dưới.

h: Di chuyển con trỏ sang trái.

l: Di chuyển con trỏ sang phải.

- i: Thêm văn bản, ký tự trước vị trí của con trỏ.

- l: Thêm văn bản, ký tự ở đầu dòng con trỏ đang đứng.

- a: Thêm văn bản, ký tự sau vị trí con trỏ.

- A: Thêm văn bản, ký tự ở cuối dòng con trỏ đang đứng.

- o: Tạo một dòng mới để nhập văn bản, ký tự bên dưới vị trí con trỏ.

- O: Tạo một dòng mới để nhập văn bản, ký tự bên trên vị trí con trỏ.

- x: Xóa ký tự, văn bản ở vị trí bên dưới con trỏ.

- X: Xóa ký tự, văn bản ở vị trí trước con trỏ.

- dd: Xóa dòng văn bản tại vị trí của con trỏ.

- cc: Xóa dòng văn bản và đưa người dùng sang chế độ Insert.

-  r: Thay thế ký tự ngay vị trí bên dưới con trỏ.

Lệnh Vi trong Linux nâng cao

  • <<: Cho phép tham gia vào dòng hiện tại và tiếp theo, cũng có khi tham gia vào nhiều dòng. 
  • >>: Căn dòng sang trái và được phép thay đổi một chiều rộng của dòng.
  • :nr file: Xem file và chèn tập tin này sau dòng n.
  • ~: Thay đổi kiểu viết hoa hoặc viết thường của ký tự ở vị trí bên dưới con trỏ.
  • ^G: Nhấn tổ hợp phím CtrL + G để hiển thị tên file cùng với trạng thái hiện tại của nó.
  • U: Khôi phục dòng về trạng thái trước khi con trỏ nhập vào dòng.
  • u: Trở lại tác thay đổi cuối cùng của file. Còn nếu nhập “u” thêm một lần nữa sẽ thực hiện lại các thay đổi. 
  • J: Tính năng giống <<. Đó là tham gia vào dòng hiện tại và tiếp theo, trong đó một số có thể tham gia cùng lúc vào nhiều dòng.
  • :f: Hiển thị vị trí tệp tin bằng tỉ lệ %, tên file và tổng số file.
  • :f filename: Đổi tên file.
  • :w filename: Viết vào filename.
  • :e filename: Mở một tệp tin khác với tệp tin hiện tại.
  • :cd dirname: Thay đổi thư mục đang làm việc thành dirname.
  • :e #: Chuyển đổi giữa 2 tệp tin đã mở.
  • :n: Dùng để chuyển đổi file kế tiếp trong chuỗi các file đang mở bằng lệnh Vi. 
  • :N: Dùng để chuyển đổi file liền trước của file hiện tại trong chuỗi các file đang mở bằng lệnh Vi.
  • :r file: Xem file và chèn chúng sau dòng hiện tại.

Lệnh Grep trong Linux

Lệnh Grep đóng vai trò tìm chuỗi trong một file đã được chỉ định.

  • Tìm một chuỗi trong một file

Cách này cơ bản nhất trong lệnh Grep. Cú pháp câu lệnh:

$ grep "chuoi" ten_file

Sau khi nhập xong câu lệnh, màn hình command line sẽ hiển thị những dòng có chứa chuỗi trong file và highlight các dòng đó.

  • Tìm chuỗi trong nhiều file 

Cú pháp câu lệnh: 

$ grep "chuoi" file_pattern

  • Tìm kiếm không phân biệt chữ viết in hoa và thường

Khi chưa biết chắc chắn chuỗi tìm kiếm thì bạn khai báo thêm lựa chọn “-i” trong lệnh Grep để kết quả tìm kiếm mở rộng hơn, không phân biệt chữ viết in hoa hay thường.

Cú pháp:

$ grep -i "chuoi" ten_file

  • Tìm kiếm theo regular expression

Đây là dạng chỉ định biểu thức chính quy nhằm có thể tìm kiếm chuỗi trùng khớp với nó.

Cú pháp: 

$ grep "regex_here" ten_file

  • Tìm chính xác với grep -w

Nếu như các cú pháp câu lệnh trên trả về kết quả mở rộng, chưa hoàn toàn chính xác như mong muốn, thì bạn nên thêm lựa chọn “-w” để nhận được đúng ký tự cần tìm.

Cú pháp:

$ grep -i "is" demo_file

Trong trường hợp file rất lớn, bạn có thể sử dụng câu lệnh để hiển thị dòng trước, sau, xung quanh dòng kết quả.

Cú pháp:

$ grep -<A, B hoặc C> <n> "chuoi" demo_file

Trong đó:

- A: Viết tắt của từ after, tức là dòng sau.

- B: Viết tắt của từ before, tức là dòng trước.

- C: Có nghĩa là dòng xung quanh.

- n: Là một số tự nhiên dùng để chỉ định số dòng xem trước, sau, xung quanh là bao nhiêu.

  • Tìm các file ở toàn bộ các thư mục con

Cách này khá hữu ích khi bạn không nhớ tên file và không biết nó nằm ở thư mục nào. Bằng cách thêm lựa chọn “-r”, bạn sẽ có được toàn bộ các file trong tất cả các thư mục con theo đúng lựa chọn tìm kiếm. 

Cú pháp:

$ grep -r "chuoi" *

Hoặc

$ grep -r "chuoi" file_name_*

  • Tìm kiếm ngược

Nếu muốn hiển thị các dòng không chứa từ khóa cần tìm thì bạn sử dụng cú pháp:

$ grep -v "chuoi" file_*

  • Đếm số kết quả

Khi bạn muốn đếm số lượng kết quả có trong file chỉ định thì thêm lựa chọn “-c” vào câu lệnh.

grep -c -w "INSERT" file_*

  • Chỉ hiển thị tên file

Trong trường hợp, bạn muốn xem từ khóa cần tìm xuất hiện ở file nào thì thêm lựa chọn “-l”.

Cú pháp:

$ grep -l -r -w "Error" *

  • Hiển thị số thứ tự của dòng kết quả

Cú pháp câu lệnh:

$ grep -n -w "Error" file_name

  • Kiểm tra sự hoạt động của một chương trình 

Để thực hiện việc kiểm tra này, bạn sử dụng lệnh kép. Đó là câu lệnh có sự kết hợp giữa ps và grep.

Ví dụ, nếu bạn muốn kiểm tra xem dịch vụ tomcat có hoạt động hay không thì dùng câu lệnh sau.

$ ps ux | grep tomcat

cac lenh co ban trong linux

Lệnh Sort trong Linux

Lệnh Sort trong Linux có chức năng tương tự như excel, đó là sắp xếp các dòng nội dung theo thứ tự tăng dần hoặc giảm dần. 

Cú pháp:

sort <tuỳ chọn> <file>

Nếu muốn xem tất cả các tùy chọn, bạn dùng lệnh “man sort” trong cú pháp câu lệnh sort, hoặc thêm “-n” để sắp xếp theo số thứ tự. 

cac lenh co ban trong linux

Lệnh Kill trong Linux

Đúng như tên gọi, lệnh Kill có nghĩa là bạn muốn hệ thống chấm dứt ứng dụng bị lỗi. 

  • Sigterm: Yêu cầu hệ thống cho một quá trình ngừng chạy. Đây cũng là tín hiệu để quá trình ngừng đúng cách, tức là nó phải thực hiện lưu lại toàn bộ tiến trình trước khi tắt.
  • Sigkill: Ngừng quá trình ngay lập tức. Điều này có nghĩa, tiến trình không lưu các thay đổi và nó bị tắt đột ngột. Tất nhiên, hành động này dẫn đến kết quả bị mất dữ liệu.

Cú pháp câu lệnh: kill[tín hiệu hoặc tùy chọn] PID(s)

Mặc định, hệ thống sẽ sử dụng tín hiệu Sigterm. Nếu cấu hình mặc định bị thay đổi, bạn dùng cú pháp lệnh sau:

Kill Sigkill PID hoặc kill -9 PID

Trong đó: -9 là tín hiệu Sigkill.

  • Khi không thể nhận thức được PID của ứng dụng, bạn cho chạy lệnh: ps ux.
  • Nếu bạn dùng lệnh kill cho nhiều quy trình thì câu lệnh là: 

kill -9 PID1 PID2 PID3

  • Bạn có thể thay Pkill cho PID để kill biểu thức chính quy mở rộng:

Ví dụ: Bạn muốn giết trình duyệt firefox thì dùng câu lệnh pkill firefox hoặc pkill fire.

  • Bạn cũng có thể liệt kê những tiến trình phù hợp để không làm hỏng chúng bằng cú pháp: pgrep -l [process name].
  • Bạn dùng lệnh killall để tiêu diệt toàn bộ cá thể có trong một tiến trình.

Ví dụ: Tiêu diệt mọi phiên bản cùa Firefox, câu lệnh sẽ là killall firefox.

  • Nếu muốn giết một ứng dụng chỉ định, bạn dùng lệnh xkill. Trong chế độ terminal, khi bạn gõ xkill, con trỏ sẽ trở thành cross. Tiếp đến, bạn chỉ cần nhấp vào ứng dụng bị lỗi để tiến hành tiêu diệt chúng.

Hoặc bạn cũng có thể kích hoạt chứng năng xkill bằng cách sử dụng thêm lối tắt bàn phím.

cac lenh co ban trong linux

Lệnh rmdir trong Linux

Lệnh này được dùng để xóa các thư mục rỗng. Cú pháp:

rmdir tenthumuc

Khi bất kỳ thư mục nào có dữ liệu thì hệ thống chỉ tiến hành xóa thư mục rỗng, đồng thời, hiển thị thông báo lỗi không thể xóa đối với thư mục chứa dữ liệu.

cac lenh co ban trong linux

Lệnh CP trong Linux

Lệnh này được dùng để sao chép một tập tin hay thư mục từ vị trí hiện tại đến vị trí khác. 

Cú pháp lệnh:

cp [option] [option2] source1 source2 destination

Các tùy chọn khác dùng trong lệnh CP:

  • “-i”: Viết tắt của từ interactive, tức là xác nhận nếu file cần sao chép ghi đè lên file khác. 
  • “-r”: Viết tắt của từ recursive, tức là sao chép tất cả các thư mục con, lẫn tập tin có trong thư mục và giữ nguyên cấu trúc cây thư mục. 
  • “-v”: Viết tắt của từ verbose, cho phép hiển thị các tập tin đang sao chép. 

Lệnh Sudo trong Linux

Lệnh Sudo được mệnh danh là lệnh “thần thánh” của Linux. Bởi nó có khả năng để quản trị viên ủy quyền cho thành viên được phép chạy một vài lệnh hệ thống.

Để ủy quyền cho thành viên, bạn cần đăng nhập bằng tài khoản user root.

  • Bước 1: Tiến hành thêm user mới vào hệ thống

Cú pháp: useradd username

  • Bước 2: Cập nhật password cho user 

Bạn thực hiện tạo password cho user mới thêm vào hệ thống.

Cú pháp:  passwd username

  • Bước 3: Thêm user mới vào nhóm wheel

Cú pháp: usermod -aG wheel username

  • Bước 4: Truy cập sudo bằng tài khoản user mới

- Dùng lệnh su: su username

- Nhập sudo trước câu lệnh muốn chạy quyền super user: sudo command_to_run

- Hệ thống sẽ yêu cầu bạn nhập mật khẩu đối với lần đầu chạy lệnh sudo.

- Bạn tiến hành cấu hình để user mới có thể thực hiện các lệnh hệ thống.

Ví dụ: 

Cấu hình user thực hiện nhiều lệnh với quyền root. Cú pháp câu lệnh:

user ALL=(root) /sbin/shutdown, /bin/kill, /etc/init.d/httpd

Thiết lập quyền cho user tắt máy mà không xác nhận mật khẩu. Cú pháp câu lệnh:

user localhost= NOPASSWD: /sbin/shutdown

Thiết lập quyền cho user có thể thực hiện một lệnh nào đó trong /usr/bin của máy linux1. Cú pháp câu lệnh:

user linux1 = /usr/bin/*

Nếu muốn xóa hoặc thêm user vào một nhóm bất kỳ thì bạn dùng câu lệnh sau: 

sudo useradd username

sudo userdel username

sudo groupadd anewgrou

sudo groupdel anewgroup

Ngoài ra, còn một số cách dùng các lệnh cơ bản trong Linux - Sudo như sau:

  • Khi bạn muốn lệnh Sudo chạy với tư cách của user khác thì thêm “-u” vào câu lệnh và chỉ định tên của người dùng.

Cú pháp: sudo -u username abc

(Với abc là tên người dùng)

    • Cập nhật phiên bản mới bằng lệnh Sudo: sudo yum update
    • Chuyển sang user root: sudo -i -u root

  • Dùng lệnh Sudo để tùy ý chỉnh sửa file: sudo vim /file
  • cac lenh co ban trong linux

Bài viết cùng chuyên mục :

Linux là gì? Hệ điều hành Linux gồm các phiên bản nào? Cách sử dụng!!

Distro Linux là gì? Nên dùng Distro Linux nào, chúng có gì khác nhau