[Linux cơ bản] Những lệnh Linux cơ bản nhất hay dùng

Đăng bởi: Admin | Lượt xem: 1845 | Chuyên mục: Linux/Server

Ưu điểm vượt trội của Linux so với Window là phần lớn tác vụ đều được thực hiện qua dòng lệnh đơn giản và nhanh chóng. Tuy nhiên việc thao tác qua dòng lệnh lại khá là khó nhớ với những người mới bắt đầu. Do đó VnCoder sẽ giúp bạn liệt kê những dòng lệnh cơ bản nhất của Linux ai cũng phải biết để mọi người có thể dễ dàng làm quen, sử dụng.


Ưu điểm vượt trội của Linux so với Window là phần lớn tác vụ đều được thực hiện qua dòng lệnh đơn giản và nhanh chóng. Tuy nhiên việc thao tác qua dòng lệnh lại khá là khó nhớ với những người mới bắt đầu. Do đó VnCoder sẽ giúp bạn liệt kê những dòng lệnh cơ bản nhất của Linux ai cũng phải biết để mọi người có thể dễ dàng làm quen, sử dụng.

Những lệnh linux cơ bản

1. Cơ bản Linux Terminal

Mặc định với các bản phân phối linux không có GUI (giao diện người dùng) như Ubuntu Server, Centos.... sẽ vào giao diện dòng lênh luôn, Với các bản phân phối có GUI các bạn nhấn tổ hợp phím Ctrl + Alt + T để mở nhanh  Terminal

Cấu trúc cơ bản của một câu lệnh linux

Mổ xẻ hầu hết các lệnh Linux:

[sudo] command [optional switch] [file or directory path]

Sử dụng sudo sẽ chạy bất kỳ một lệnh nào đó dưới quyền Admin. Hầu hết các lệnh Linux dùng để cài đặt/gỡ bỏ các file hệ thống một chương trình, sử dụng nào đó để yêu cầu sudo.

command là tên của lệnh cần thực hiện

optional switch là các tuỳ chọn khác nhau, hầu hết các lệnh linux đều có rất nhiều tuỳ chọn 

file or directory path là các tham số truyền vào, thường là dường dẫn hoặc văn bản

2. Các lệnh liên quan tới user (tài khoản/người dùng)

Đây là nhóm lệnh liên quan tới việc quản lý user trong linux

Lệnh Chức năng Ví dụ
pwd Hiển thị vị trí hiện tại trong hệ thống file. pwd
whoami Hiển thị tên người dùng - hữu ích nhất nếu chuyển đổi người dùng bằng lệnh su và cần được nhắc nhở về tài khoản nào đang được sử dụng whoami
ls Cung cấp một danh sách file. Với tham số -a, lệnh hiển thị các file có tên bắt đầu bằng dấu chấm (ví dụ: .bashrc). Với tham số -l, lệnh hiển thị quyền, kích thước file và ngày/giờ cập nhật mới nhất. ls
ls -a
ls -l
env Hiển thị cài đặt môi trường người dùng (ví dụ: đường dẫn tìm kiếm, kích thước phần lịch sử được lưu lại, thư mục chính, v.v...) env
echo Lặp lại phần văn bản mà người dùng cung cấp hoặc hiển thị giá trị của một số biến. echo hello
echo $PATH
history Liệt kê các lệnh đã đưa ra trước đó. history
history | tail -5
passwd Thay đổi mật khẩu. Lưu ý rằng các yêu cầu phức tạp có thể được thi hành. passwd vncoder

3. Lệnh tạo thư mục mới

Để tạo thư mục mới ta sử dụng lệnh mkdir hoặc mkdirs (tạo nhiều thư mục một lúc) cú pháp:

mkdir folder_name 

Folder là tên thư mục bạn muốn tạo. Chẳng hạn nếu bạn muốn tạo thư mục có tên là backup thì cú pháp là:

mkdir backup

Trong trường hợp nếu muốn tạo một thư mục chứa nhiều thư mục con, bạn có thể sử dụng tùy chọn "-p". Giả sử, bạn có thư mục foo và có quyền truy cập vào nó:

mkdirs -p /foo/bar/baz

Lệnh trên sẽ tạo thư mục bar, thư mục baz nằm trong bar; bar và baz nằm trong /foo đã có.

4. Lệnh tìm kiếm thư mục hiện tại 

Nếu muốn tìm kiếm thư mục hiện tại của bạn, bạn có thể sử dụng lệnh pwd.

Ví dụ như:

vncoder@[LinuxAdmin]:[~/work]$ pwd
/home/vncoder/work

5. Tạo và chỉnh sửa các file

Các hệ thống Linux cung cấp các lệnh để tạo các file. Người dùng có thể chọn trình soạn thảo văn bản mong muốn. Một số lệnh yêu cầu người dùng phải thành thạo trước khi sử dụng, còn những lệnh khác thì khá đơn giản.

Lệnh Chức năng Ví dụ
nano Một trình chỉnh sửa văn bản dễ sử dụng, yêu cầu người dùng di chuyển trong file bằng các phím mũi tên và cung cấp các chuỗi điều khiển để định vị văn bản, lưu các thay đổi, v.v. nano myfile
vi Một trình chỉnh sửa tinh vi hơn, cho phép người dùng nhập các lệnh để tìm và thay đổi văn bản, thực hiện các thay đổi tổng thể, v.v... vi myfile
ex Một trình soạn thảo văn bản được thiết kế cho các lập trình viên và có cả chế độ trực quan và dòng lệnh. ex myfile
touch Tạo một file nếu nó chưa tồn tại hoặc cập nhật timestamp nếu nó đã được tạo. touch newfile
touch updatedfile
> Tạo file bằng cách hướng đầu ra cho chúng. > tạo một file trong khi >> gắn với một file hiện có. cal > calendar
ps > myprocs
date >> date.log

6. Đọc một số file

Thông thường bạn phải xem xét nội dung của nhiều file khác nhau. Việc rà soát các file khác nhau thường xuyên thường khá phức tạp và tốn nhiều thời gian. Do đó cách đơn giản nhất để đọc nội dung của chúng là sử dụng câu lệnh cat. Cú pháp câu lệnh khá đơn giản:

cat file_name

Ngoài ra bạn có thể sử dụng lệnh cat cho nhiều file cùng một lúc:

cat file_name_1 file_name_2

Ngoài ra, Linux cung cấp một số lệnh để xem xét nội dung và bản chất của các file. Sau đây là một số lệnh hữu ích nhất.

Lệnh Chức năng Ví dụ
cat Hiển thị toàn bộ nội dung của một file văn bản. cat .bashrc
more Hiển thị nội dung của file văn bản. Nhấn phím cách để di chuyển đến từng đoạn bổ sung. more .bash_history
less Hiển thị nội dung của file văn bản, nhưng cho phép quay trở lại bằng phím mũi tên lên trên. less .bash_history
file Xác định các file theo loại (ví dụ: văn bản ASCII, file thực thi, hình ảnh, thư mục) file myfile
file ~/.bashrc
file /bin/echo

7. Sao chép hoặc di chuyển file

Việc sao chép hoặc di chuyển file trong Linux terminal khá đơn giản và dễ dàng.

  • Để sao chép một file, bạn có thể sử dụng lệnh: cp.
  • Để di chuyển 1 file bạn sử dụng câu lệnh: mvoflder.

Cả 2 lệnh sử dụng khá đơn giản. Với lệnh cp. Để sao chép một file, bạn nhập tên file và nhập tên file copy mới. Ví dụ:

cp file1 file2

Trên câu lệnh trên sao chép file1 và tạo ra file2 có chứa nội dụng file1. Bạn có thể sử dụng cp để sao chép thư mục. Điều quan trọng cần lưu ý khi muốn sao chép một thư mục bạn nên sử dụng tùy chọn -r.

Nói cách khác, cp -r sẽ sao chép nội dung của một thư mục nhất định (và các thư mục con) sang thư mục bạn lựa chọn. Ngoài ra bạn có thể sử dụng cp với đường dẫn đầy đủ:

cp -r /home/vncoder/work/ /home/vncoder/backup

Câu lệnh trên sẽ sao chép nội dung của thư mục "work" sang thư mục mới có tên "backup".

Nếu muốn sao chép tất cả các file và thư mục của một thư mục sang một thư mục khác, bạn có thể sử dụng ký tự "*". Ký tự được sử dụng để tìm các cổng phù hợp (trường hợp này là các file và thư mục). Ví dụ:

cp /home/vncoder/work/* /home/vncoder/backup/

Tiếp theo là lệnh mv. Cú pháp câu lệnh:

mv file1 file2

Câu lệnh trên đổi tiên file1 thành file2. Tương tự với thư mục cũng thế. Tuy nhiên nếu bạn chỉ định 1 file và 1 thư mục, file sẽ được di chuyển vào trong thư mục, di chuyển nhiều file hoặc folder bạn cũng có thể sử dụng kí tự "*" tương tự như trên

8. Xóa các file và thư mục

Nếu muốn xóa một thư mục hoặc một file bạn có thể sử dụng lệnh rm. Điều quan trọng bạn cần lưu ý là khi sử dụng lệnh này để xóa một file hoặc thư mục, các file này không thể restore được. Để xóa 1 file bạn thực hiện:

rm /home/vncoder/useless-file.txt

Bạn có thể sử dụng rm với nhiều tùy chọn khác nhau. Một số tùy chọn quan trọng như:

  • -f: buộc xóa các file có thông báo nhắc nhở
  • -i: nhắc nhở trước khi xóa
  • -r: xóa bỏ các thư mục đệ quy
  • -d: xóa các thư mục rỗng
  • -v: giải thích đang thực hiện nhiệm vụ gì

9. Tìm file

Có hai lệnh có thể giúp người dùng tìm file trên Linux, nhưng chúng hoạt động rất khác nhau. Một lệnh tìm kiếm hệ thống file, còn lệnh kia xem xét cơ sở dữ liệu được xây dựng trước đó.

Lệnh

Chức năng

Ví dụ
find Định vị các file dựa trên các tiêu chí được cung cấp (tên, loại, chủ sở hữu, quyền, kích thước file, v.v...). Trừ khi được cung cấp một vị trí để bắt đầu tìm kiếm, còn nếu không lệnh này chỉ tìm trong thư mục hiện hành. find . -name myfile
find /tmp -type d
locate Định vị các file bằng cách sử dụng nội dung của /var/lib/mlocate/mlocate.db được cập nhật bằng lệnh updateb chạy qua cron. Không yêu cầu vị trí bắt đầu. locate somefile
locate "*.html" -n 20

Lưu ý: Chi tiết về lệnh find có trong phần bên dưới.

10. Liệt kê nội dung thư mục

Để liệt kê danh sách các thư mục, bạn có thể sử dụng lệnh ls:

➜  /var ls
adm  cache  crash  data  db  empty  games  gopher  kerberos  lib  local  lock  log  mail  ndm  nis  opt  preserve  run  spool  tmp  www  yp
➜  /var
           

Lệnh "ls" có thể lấy các thông số khác nhau giúp bạn thay đổi đầu ra của câu lệnh. Ví dụ, với thông số "-a" sẽ hiển thị tất cả các file và thư mục, trong đó có cả thư mục ẩn có chứa "-a".

➜  log ls -a
.                  boot.log-20191225  cron           firewalld           maillog-20200216   messages-20200301  secure-20200223   spooler-20200308        wpa_supplicant.log
..                 boot.log-20200116  cron-20200216  grubby              maillog-20200223   messages-20200308  secure-20200301   tallylog                wtmp
anaconda           boot.log-20200220  cron-20200223  grubby_prune_debug  maillog-20200301   mysqld.log         secure-20200308   tuned                   yum.log
audit              boot.log-20200229  cron-20200301  httpd               maillog-20200308   php-fpm            spooler           vmware-caf              yum.log-20190903
boot.log           boot.log-20200305  cron-20200308  lastlog             messages           ppp                spooler-20200216  vmware-imc              yum.log-20191005
boot.log-20191129  btmp               dmesg          letsencrypt         messages-20200216  secure             spooler-20200223  vmware-vgauthsvc.log.0  yum.log-20200101
boot.log-20191211  btmp-20200301      dmesg.old      maillog             messages-20200223  secure-20200216    spooler-20200301  vmware-vmsvc.log
➜  log   

Nếu muốn đầu ra của câu lệnh hiển thị danh sách thông tin chi tiết từng file và thư mục, bạn có thể sử dụng tùy chọn “-l” (L):

➜  /var ls -l
total 80
drwxr-xr-x.  2 root root 4096 Apr 11  2018 adm
drwxr-xr-x.  6 root root 4096 Apr 11  2018 cache
drwxr-xr-x.  3 root root 4096 Apr 11  2018 db
drwxr-xr-x.  3 root root 4096 Apr 11  2018 empty
drwxr-xr-x.  2 root root 4096 Apr 11  2018 games
lrwxrwxrwx.  1 root root   11 Jan 16  2016 lock -> ../run/lock
drwxr-xr-x. 11 root root 4096 Mar  8 03:36 log
lrwxrwxrwx.  1 root root   10 Sep  3  2019 mail -> spool/mail
lrwxrwxrwx.  1 root root    6 Jan 16  2016 run -> ../run
drwxr-xr-x.  8 root root 4096 Apr 11  2018 spool
drwxrwxrwt.  4 root root 4096 Mar 14 06:01 tmp
drwxr-xr-x. 20 root root 4096 Mar  6 14:31 www
drwxr-xr-x.  2 root root 4096 Apr 11  2018 yp
  

11. Tìm kiếm lệnh Linux trước đó

Nhấn phím Up sẽ hiển thị câu lệnh Linux cuối cùng bạn sử dụng thành công. Không có câu lệnh lỗi nào hiển thị tại đây cả.

Ngoài ra bạn có thể sử dụng lệnh history để xem tất cả các lệnh Linux đã từng sử dụng trên Terminal.

12. Mật khẩu vô hình

Khi được yêu cầu nhập mật khẩu, giả sử trong trường hợp sử dụng sudo, khi bạn gõ mật khẩu trên màn hình sẽ không hiển thị gì cả, không có ngôi sao hay dấu chấm... Sau khi nhập xong mật khẩu, bạn nhấn Enter là xong.

13. Sao chép và dán lệnh Linux

copy lệnh linuxcopy lệnh linux

Để sao chép hoặc dán lệnh Terminal, bạn không thể sử dụng tổ hợp phím quen thuộc Ctrl + C và Ctrl + V.

Thay vào đó bạn có thể sử dụng Ctrl + Shift + C và Ctrl + Shift + V hoặc kích chuột phải rồi chọn Copy hoặc Paste từ Menu ngữ cảnh.

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

Một trong những công việc cần thiết khi quản trị hệ thống Linux đó là kiểm soát các tiến trình hiện đang chạy. Khi đã biết được những tiến trình nào đang chạy bạn có thể tắt những tiến trình gây giảm tốc độ của hệ thống. Ngoài ra, thông tin về những tiến trình hệ thống cho chúng ta biết nên tắt nhưng tiến trình làm cho hệ thống vận hành không ổn định. Do đó việc biết được những tiến trình nào đang chạy trên hệ thống rất quan trọng. Linux hỗ trợ nhiều phương pháp kiểm tra tiến trình, một trong số đó là sử dụng lệnh ps. Khi sử dụng lệnh này mọi thông tin về những tiến trình đang chạy sẽ được hiển thị. Bạn chỉ cần nhập cú pháp lệnh sau vào cửa sổ terminal:

#ps aux | less

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0 191116  2324 ?        Ss   Mar05   1:01 /usr/lib/systemd/systemd --
root         2  0.0  0.0      0     0 ?        S    Mar05   0:00 [kthreadd]
root         3  0.0  0.0      0     0 ?        S    Mar05   0:43 [ksoftirqd/0]
root         5  0.0  0.0      0     0 ?        S<   Mar05   0:00 [kworker/0:0H]
root         7  0.0  0.0      0     0 ?        S    Mar05   0:00 [migration/0]
root         8  0.0  0.0      0     0 ?        S    Mar05   0:00 [rcu_bh]
root         9  0.0  0.0      0     0 ?        S    Mar05   8:54 [rcu_sched]
root        10  0.0  0.0      0     0 ?        S<   Mar05   0:00 [lru-add-drain]
root        11  0.0  0.0      0     0 ?        S    Mar05   0:03 [watchdog/0]
root        12  0.0  0.0      0     0 ?        S    Mar05   0:02 [watchdog/1]
root        54  0.0  0.0      0     0 ?        S<   Mar05   0:00 [kmpath_rdacd]
root        55  0.0  0.0      0     0 ?        S<   Mar05   0:00 [kaluad]
root        56  0.0  0.0      0     0 ?        S<   Mar05   0:00 [kpsmoused]
root        58  0.0  0.0      0     0 ?        S<   Mar05   0:00 [ipv6_addrconf]
root        71  0.0  0.0      0     0 ?        S<   Mar05   0:00 [deferwq]
:  

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.

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

Sau khi cấu hình những dịch vụ mạng của hệ thống Linux, bạn cần phải giữ lại tab của các cổng đang thực sự nhận tín hiệu trên giao diện mạng của hệ thống. Điều này rất quan trọng vì hệ thống có thể bị xâm nhập qua các cổng mở. Có một số công cụ quản lý Linux thông báo cho bạn biết thông tin của những cổng mởvà truy cập vào những cổng đang mở trên mạng. Một trong những phương pháp đơn giản và tin cậy nhất đó là sử dụng lệnh ss để kiểm tra thông tin Socket, ngoài ra lệnh này còn có thể hiển thị nhiều thông tin TCP và thông tin trạng thái hơn các công cụ khác. Lệnh ss này cung cấp thông tin về:

  • Mọi Socket TCP.
  • Mọi Socket UDP.
  • Mọi kết nối ssh/ftp/http/https.
  • Mọi tiến trình cục bộ được kết nối tới máy chủ X.
  • Mọi Socket TCP trong trạng thái FIN-WAIT-1.

Dưới đây là một số lệnh ss:

  • # 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.

16. 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).

17. 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.

➜  ~ free
              total        used        free      shared  buff/cache   available
Mem:        2905160     1989348      179276       77756      736536      607648
Swap:       3145720      314936     2830784

18. Kiểm tra thời gian vận hành của hệ thống

Bạn có muốn biết máy chủ đã vận hành bao lâu? Nếu muốn bạn chỉ cần sử dụng lênh uptime để kiểm tra thời gian mà hệ thống đã vận hành. 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 đó.

➜  ~ uptime
 11:15:14 up 9 days, 10:48,  2 users,  load average: 0.39, 0.28, 0.24
You have new mail.

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

Ngoài những công cụ quản lý Linux, bạn có thể sử dụng một lệnh để kiểm tra những người dùng nào đã thực hiên đăng nhập vào hệ thống và những gì họ đã thực hiện. Lệnh này sẽ hiển thị thời gian hiện tại, thời gian hệ thống đã vận hành, lượng người dùng đã đăng nhập.

Ngoài ra lệnh này cũng hiển thị lượng tải trung bình trong mỗi 1, 5 và 15 phút. Lệnh này rất hữu dụng với những Admin hệ thống muốn sử dụng thông tin tải trung bình để hoạch định dung lượng.

Để 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
➜  ~ w username
 11:16:12 up 9 days, 10:49,  2 users,  load average: 0.41, 0.29, 0.24
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT

20. 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
➜  ~ vmstat 3
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0 321704 167480  10344 727956    7   11   338    50   14   15  8  1 91  0  0
 0  0 321704 158328  10352 732112    0    0  1408    71 1054  981  6  1 92  0  0
 0  0 321704 158952  10364 733220    0    0   384    21 1037  875  4  1 95  0  0
 0  0 321704 126888  10420 733332    0    0    20   159 1404 1403 10  1 88  0  0
 0  0 321704 144440  10548 734192    1    0   327    51 1059 1059  5  1 94  0  0

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.

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

Với một số người dùng Linux thì việc kiểm tra thông tin phần cứng thật không dễ dàng. Linux là một hệ thống phức tạp nhưng nó lại tích hợp một số công cụ giúp lấy thông tin chi tiết của phần cứng, chẳng hạn chúng ta có thể sử dụng một lệnh khá đơn giản để kiểm tra thông tin đĩa cứng trên hệ thống đó là lệnh hdparm. Lệnh này cung cấp một giao diện dòng lệnh để thực hiện quản lý nhiều loại đĩa cứng được hệ thống phụ điều khiển thiết bị ATA/IDE của Linux hỗ trợ. Nó cung cấp một lệnh giúp hiển thị thông tin xác minh như dung lượng, thông tin chi tiết, … trực tiếp từ ổ đĩa. Thông tin này được lưu dưới một định dạng mở rộng mới. Bạn chỉ cần đăng nhập dưới quyền root user và sử dụng lệnh sau:

 sudo hdparm -I /dev/sda

22. Các lệnh xử lý, làm việc với  tập tin trên Linux

Lệnh để di chuyển xung quanh hệ thống file Linux là ls, nhưng có nhiều biến thể.

Lệnh Linux Nhiệm vụ lệnh sẽ làm
ls Liệt kê nội dung thư mục hiện tại
ls -al Liệt kê nội dung thư mục bao gồm cả file ẩn
cd dir Di chuyển từ thư mục hiện tại sang thư mục dir
cd Chuyển từ thư mục hiện tại về thư mục riêng (thường là [Tên User] ở Home)
cd .. Di chuyển lên (về /) một thư mục từ vị trí hiện tại.
cd <location>

Đưa người dùng đến vị trí được chỉ định. Nếu vị trí bắt đầu bằng /, nó được coi là tương đối với thư mục gốc và vị trí hiện tại. Ký tự ~ đại diện cho thư mục Home. Ví dụ:

cd /tmp
cd Documents
cd ~/Documents

pwd Hiện thư mục hiện tại
mkdir quantrimang Tạo thư mục mới có tên là quantrimang
rm filemuonxoa Xóa file có tên là filemuonxoa
rm -r thumuccanxoa Xóa thư mục có tên là quantrimang
rm -f filecanxoa Bắt xóa file có tên là filecanxoa
rm -rf thumuccanxoa Bắt xóa thư mục có tên là thumuccanxoa
cp file1 file2 Sao chép file1 sang file2
cp -r dir1 dir2 Sao chép thư mục dir1 sang dir2 và tạo dir2 nếu chưa có dir2
mv file1 file2 Di chuyển file1 đến chỗ file2 hoặc đổi tên file1 thành file2. Nếu file2 có sẵn thì di chuyển file1 vào file2
ln -s tenfile link Tạo liên kết biểu tượng có tên là link đến file có tên là tenfile
touch filecantao Tạo hoặc cập nhật tập tin filecantao
cat > tenfile Nhập từ bàn phím (đầu vào chuẩn - standard input) vào tập tin tenfile mới
more tenfile Hiện nội dung file có tên là tenfile
head tenfile Hiện 10 dòng đầu của tập tin tenfile
tail tenfile Hiện 10 dòng cuối của tập tin tenfile
tail -f tenfile Hiện nội dung của tập tin tenfile và cập nhật liên tục trong thời gian thực
tail -f -n N tenfile Hiện nội dung của tập tin tenfile và cập nhật liên tục, giới hạn N dòng

23. Các lệnh mạng trên Linux

Sử dụng lệnh curl hoặc wget để tải một file từ internet mà không cần đầu cuối. Với lệnh curl, gõ curl-O đường dẫn tới file. Người sử dụng có thể sử dụng lệnh wget mà không cần thêm tùy chọn nào. File sẽ xuất hiện ở đường dẫn.

curl-O website.com/file
wget website.com/file

Lệnh ping gửi các gói ECHO_REQUEST tới địa chỉ chỉ định. Câu lệnh nhằm kiểm tra máy tính có thể kết nối với Internet hay một địa chỉ IP cụ thể nào đó hay không. Tuy nhiên có rất nhiều hệ thống được cấu hình để không hồi đáp với các lệnh ping.

Không giống lệnh ping trên Windows, câu lệnh ping trên Linux sẽ duy trì gửi các gói tin cho đến khi bạn kết thúc nó. Có thể định số lượng gói tối đa gửi đi bằng cách gõ thêm tùy chọn –c

ping –c 4 google.com

24. Bắt đầu, dừng và liệt kê các service

Các lệnh này cho phép người dùng hiển thị các service cũng như bắt đầu và dừng chúng.

Lệnh Chức năng Ví dụ
systemctl Lệnh systemctl có thể bắt đầu, dừng, khởi động lại và load lại các service, cần có quyền admin. sudo systemctl stop apache2.service
sudo systemctl restart apache2.service
sudo systemctl reload apache2.service
service Liệt kê các service và cho biết liệu chúng có đang chạy không. service --status-all

25. Xác định phiên bản hệ điều hành

Bảng bên dưới liệt kê các lệnh sẽ hiển thị chi tiết về hệ điều hành Linux đang chạy trên hệ thống.

Lệnh Chức năng Ví dụ
uname Hiển thị thông tin về phiên bản hệ điều hành trong một dòng văn bản. uname -a
uname -r
lsb_release Trên các hệ thống dựa trên Debian, lệnh này hiển thị thông tin về hệ điều hành bao gồm codename và ID nhà phân phối. lsb_release -a
hostnamectl Hiển thị thông tin trên hệ thống bao gồm tên máy chủ, loại chassis (thùng máy), hệ điều hành, kernel và cấu trúc. hostnamectl

26. Đo hiệu suất hệ thống

Sau đây là một số công cụ hữu ích để kiểm tra hiệu năng hệ thống.

Lệnh Chức năng Ví dụ
top Hiển thị các tiến trình đang chạy cùng với việc sử dụng tài nguyên và dữ liệu hiệu suất hệ thống. Có thể hiển thị các tiến trình cho một người dùng đã chọn hoặc tất cả người dùng. Các tiến trình có thể được sắp xếp theo các tiêu chí khác nhau (theo mặc định là mức độ sử dụng CPU). top
top jdoe
atop Tương tự như lệnh trên nhưng hướng nhiều đến hiệu năng hệ thống hơn so với các tiến trình riêng lẻ. atop
free Hiển thị bộ nhớ và trao đổi tổng bộ nhớ, phần đã sử dụng và còn trống. free
df Hiển thị việc sử dụng không gian ổ đĩa hệ thống của file. df
df -h

27. Quản lý người dùng và nhóm

Các lệnh để tạo và xóa tài khoản người dùng và các nhóm khá đơn giản.

Lệnh Chức năng Ví dụ
useradd Thêm tài khoản người dùng mới vào hệ thống. Tên người dùng là bắt buộc. Các trường khác (mô tả người dùng, shell, mật khẩu ban đầu, v.v...) có thể được chỉ định. Thư mục chính sẽ mặc định là /home/username. useradd -c "John Doe" jdoe
useradd -c "Jane Doe" -g admin -s /bin/bash jbdoe
userdel Xóa tài khoản người dùng khỏi hệ thống. Tùy chọn -f mạnh mẽ hơn, xóa các file chính và file người dùng khác ngay cả khi người dùng vẫn đăng nhập. userdel jbdoe
userdel -f jbdoe
groupadd Thêm một nhóm người dùng mới vào hệ thống, cập nhật /etc/group. groupadd developers
groupdel Xóa nhóm người dùng khỏi hệ thống. groupdel developers

28. Thiết lập và chạy các tiến trình theo lịch

Các tác vụ có thể được lên lịch để chạy định kỳ bằng cách sử dụng lệnh được liệt kê dưới đây.

Lệnh Chức năng Ví dụ
crontab Thiết lập và quản lý các tiến trình theo lịch. Với tùy chọn -l, các công việc định kỳ được liệt kê. Với tùy chọn -e, các công việc định kỳ có thể được thiết lập để chạy ở các khoảng thời gian đã chọn. crontab -l
crontab -l -u username
crontab -e
anacron Cho phép người dùng chỉ chạy các công việc theo lịch trình hàng ngày. Nếu hệ thống bị tắt khi một công việc được đặt lịch chạy, nó sẽ chạy khi hệ thống khởi động. sudo vi /etc/anacrontab

29. Cập nhật, cài đặt và liệt kê các ứng dụng

Các lệnh để cài đặt và cập nhật ứng dụng tùy thuộc vào phiên bản Linux đang sử dụng, cụ thể là dựa trên nền tảng Debian hay RPM.

Lệnh Chức năng Ví dụ
apt update Trên các hệ thống dựa trên Debian, lệnh này cập nhật danh sách các gói có sẵn và các phiên bản của chúng, nhưng không cài đặt hoặc nâng cấp bất kỳ gói nào sudo apt update
apt upgrade Trên các hệ thống dựa trên Debian, lệnh này cài đặt các phiên bản mới hơn của các gói đã có. sudo apt upgrade
apt list Liệt kê tất cả các gói được cài đặt trên hệ thống dựa trên Debian. Với tùy chọn --upgradable, nó chỉ hiển thị các gói có bản nâng cấp. apt list
apt list --installed
apt list --upgradable
apt install Trên các hệ thống dựa trên Debian, lệnh này cài đặt gói được yêu cầu. sudo apt install apache2
yum update Trên các hệ thống dựa trên RPM, lệnh này cập nhật tất cả hoặc các gói được chỉ định. sudo yum update
yum update mysql
yum list Trên các hệ thống dựa trên RPM, lệnh này liệt kê các gói. sudo yum update mysql
yum install Trên các hệ thống dựa trên RPM, lệnh này cài đặt gói được yêu cầu. sudo yum -y install firefox
yum list Trên các hệ thống dựa trên RPM, lệnh này liệt kê các gói đã biết và đã cài đặt. sudo yum list
sudo yum list --installed

30. Tắt và khởi động lại

Các lệnh tắt và khởi động lại hệ thống Linux yêu cầu quyền admin. Các tùy chọn như +15 là số phút mà lệnh sẽ đợi trước khi yêu cầu tắt máy được thực hiện.

Lệnh Chức năng Ví dụ
shutdown Tắt hệ thống tại thời điểm yêu cầu. Tùy chọn -H tạm dừng hệ thống, còn tùy chọn -P sẽ tắt nguồn. sudo shutdown -H now
shutdown -H +15
shutdown -P +5
halt Tắt hệ thống tại thời điểm yêu cầu. sudo halt
sudo halt -p
sudo halt --reboot
poweroff Ngắt nguồn khỏi hệ thống tại thời điểm yêu cầu. sudo shutdown -H now
sudo shutdown -H +15
sudo shutdown -P +5

Trên đây VnCoder đã liệt kê những lệnh cơ bản nhất, khi bạn làm quen với hệ điều hành linux, tất nhiên chúng ta còn rất nhiều lệnh khác, và các bản phân phối linux lại có một số lệnh khác nhau một chút. Mình sẽ có các bài viết cụ thể hơn cho từng chức năng ở lần sau. Chúc các bạn thành công

Nguồn: Quản Trị Mạng

vncoder logo

Theo dõi VnCoder trên Facebook, để cập nhật những bài viết, tin tức và khoá học mới nhất!



Khóa học liên quan

Khóa học: Linux/Server