Nói đến Linux, đặc biệt server thì phải nói đến chức năng dòng lệnh Terminal vô cùng mạnh mẽ. Thậm chí cả khi Linux có rất nhiều gói giao diện đồ họa cực kì đa dạng thì người dùng vẫn không thể bỏ quên chức năng này. Chỉ với terminal, bạn có thể làm mọi thứ trên chiếc máy tính của mình. Bài viết nà sẽ giới thiệu cho các bạn 25 lệnh cơ bản trên Linux mà bạn chắc chắn sẽ dùng ít nhất vài lần khi sử dụng hệ điều hành này, đặc biệt là với phiên bản Server.

1. Enable root user

sudo passwd root
Nhập password của bạn và password mới cho root để kích hoạt user này.

2. Chuyển sang danh nghĩa user khác

su <tên user>
Chú ý: Trừ khi bạn là root, nếu không bạn sẽ phải nhập password của user này.
Để trở về user cũ, sử dụng lệnh “exit”.
Ví dụ: su root để chuyển sang danh nghĩa của root.

3. Thêm group

groupadd <tên group>
Ví dụ:
groupadd Customers

4. Xóa group

groupdel <tên group>

5. Thay đổi tên group

groupmod -n <tên cũ> <tên mới>

6. Thêm user

Ubuntu/Debian:
adduser <tên user>
Nhập các thông tin cần thiết để hoàn tất quá trình thêm user.
CentOS/Redhat/Fedora:
useradd <tên user>
passwd <tên user> để đặt password.

Chú ý: bất kì tài khoản nào cũng cần có password mới có thể sử dụng, nếu một tài khoản không có password, tài khoản đó sẽ bị disable. Trong CentOS, lệnh “passwd” dùng để đặt password cho user. Đối với Ubuntu, password được đặt trong khi tạo tài khoản nên không cần lệnh “passwd”.

7. Xóa user

userdel <tên user>
Tham số “-r” dùng để xóa tất cả thư mục người dùng và thư mục mail của user bị xóa.

8. Đặt mật khẩu user

passwd <tên user> để đặt hoặc thay đổi mật khẩu.

9. Sửa thông tin user

usermod -<tùy chọn> <tên user>

 -c = tạo chú thích cho user.
 -d = thay đổi đường dẫn thư mục home.
 -e = đặt thời gian hết hạn của tài khoản.
 -g = thay đổi primary group của user.
 -G = thêm nhóm bổ sung cho user. (Một user có thể thuộc một hoặc nhiều nhóm)
 -l = thay đổi login name.
 -L = khóa tài khoản người dùng.
 -m = chuyển dữ liệu từ home directory đã có sang thư mục mới.
 -p = tạo password mới không bị mã hóa. (NOT Secured).
 -u = gán UID cho user trong khoảng từ 0 đến 999.
 -U = mở khóa tài khoản

có thể dùng lệnh usermod -h hoặc man usermod để biết rõ hơn.

10. Tạo thư mục

mkdir <tên thư mục>

11. Tạo file.

touch <tên file>

12. Sửa nội dung file

vi <tên file> http://www.howtogeek.com/102468/a-beginners-guide-to-editing-text-files-with-vi/
nano <tên file>

ví dụ: vi /etc/network/interfaces

“vi” có sẵn trong mọi distro của Linux. Ubuntu sẽ có sẵn “nano”, đối với CentOS có thể bạn sẽ phải cài thêm.

13. Di chuyển giữa các thư mục

cd <file hoặc thư mục nguồn> <file hoặc thư mục đích>

14. Copy file hoặc thư mục

cp <file hoặc thư mục nguồn> <file hoặc thư mục đích>

15. Di chuyển file hoặc thư mục

mv <file hoặc thư mục nguồn> <file hoặc thư mục đích>

16. Đổi tên file hoặc thư mục

mv <tên file hoặc thư mục cũ> <tên file hoặc thư mục mới>

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

rm <tên file>
rmdir <tên thư mục> (thư mục phải rỗng)
rm -rf <tên thư mục> (thư mục không cần phải rỗng)

18. Thay đổi chủ sở hữu file hoặc thư mục

chown <tên user sẽ sở hữu>:<tên group sẽ sở hữu> <tên hoặc đường dẫn tới file hoặc thư mục>
Lưu ý: đối với thư mục, lệnh này chỉ tác động lên thư mục đó mà không thay đổi owner của các thư mục và file bên trong. Nếu muốn thay đổi owner của toàn bộ dữ liệu bên trong, hãy sử dụng thêm tham số “-R”.

19. Phân quyền file và thư mục

chmod <quyền hạn owner, group, everyone> <tên hoặc đường dẫn đến file hoặc thư mục>
Nói qua về quyền hạn.
Quyền trong Linux được phân làm ba phần chính được thể hiện bằng số:

  • Owner: Quyền của chủ sở hữu file.
  • Group: Quyền của nhóm sở hữu.
  • Everyone: Quyền của tất cả những người khác.

Trong đó:

  • 4: quyền read.
  • 2: quyền write.
  • 1: quyền thực thi.

Để tính quyền hạn ta sẽ cộng tất cả các quyền lại với nhau:
Ví dụ, nếu owner của file /root/dulieu.txt có quyền đọc, ghi và thực thi, quyền của user đó sẽ là 4 + 2 + 1= 7, group chỉ có quyền đọc và ghi = 4 + 2 =6, những người khác chỉ được phép đọc = 4.

chmod 764 /root/dulieu.txt

Tương tự chown, đối với thư mục, nếu muốn lệnh này có hiệu lực đối với các dữ liệu bên trong, bạn cần thêm tham số “-R”.

20. Liệt kê file và thư mục

dir
dir <đường dẫn tới thư mục cần liệt kê>
ls
ls <đường dẫn tới thư mục cần liệt kê>
ls -la hoặc ls -lia liệt kê chi tiết danh sách file, quyền hạn, chủ sở hữu

21. Xem dữ liệu của file

cat <tên file>
Các lệnh tương tự: more, less, head, tail, …

22. Ghi dữ liệu vào file

echo <dữ liệu dạng text> > <tên file>
Ví dụ: echo “Hello, World!!!” > test.txt

23. Xem trạng thái mạng

ifconfig
Ví dụ kết quả trả về:

eth0      Link encap:Ethernet  HWaddr 00:0c:50:34:15:26
          inet addr:10.0.0.2  Bcast:10.0.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:851 errors:0 dropped:0 overruns:0 frame:0
          TX packets:753 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:79431 (79.4 KB)  TX bytes:97008 (97.0 KB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:16 errors:0 dropped:0 overruns:0 frame:0
          TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:1184 (1.1 KB)  TX bytes:1184 (1.1 KB)

24. Ping

ping <IP đích>

25. Tìm kiếm

grep <từ khóa> <đường dẫn đến thư mục cần tìm>

Lệnh này trả về kết quả là tất cả tên file và dòng chứa keyword, có thể sử dụng chung với các lệnh khác để lọc kết quả, ví dụ:
ls  | grep "cent"
Lệnh ls liệt kê tất cả các file trong thư mục, kết hợp với lệnh grep sẽ thành liệt kê tất cả các file có tên chứa từ khóa “cent”
Lệnh ls liệt kê tất cả các file trong thư mục, kết hợp với lệnh grep sẽ thành liệt kê tất cả các file có tên chứa từ khóa “cent”

26. Cài đặt phần mềm

Ubuntu/Debian:

apt-get install/remove/purge <tên gói>

(*) Có thể thay “apt-get” bằng “apt” hoặc “aptitude”, tất cả đều là một

Có thể khi cài các gói hệ điều hành sẽ báo gói đó không tồn tại trên server, thì có thể đã xảy ra một trong 3 trường hợp:
– Gói đó thực sự không tồn tại, trường hợp này có thể do bạn gõ sai tên gói hoặc đây là gói cần phải biên dịch từ mã nguồn.
– Gói phần mềm tồn tại trên server nhưng máy tính của bạn chưa có tên của gói đó trong danh sách phần mềm của APT . Trong trường hợp này bạn chạy lệnh “apt-get update” để cập nhật lại danh sách phần mềm.
– Gói không có trên các server đã biết, tuy nhiên có thể tồn tại trên một server khác. Bạn phải thêm các dòng repositories của server đó vào file “/etc/apt/sources.list” sau đó cập nhật lại danh sách phần mềm. Thông thường các bài hướng dẫn sẽ đính kèm các dòng repositories nếu gói phần mềm đó không nằm trên server mặc định của Ubuntu.

Một vài tham số thông dụng khác của APT:
apt-get install -F <tên gói> // Thông thường, nếu một phần mềm cần có một phần mềm khác bổ trợ thì APT sẽ tự động cài thêm các gói này. Tuy nhiên trong trường hợp gói phần mềm này phụ thuộc vào quá nhiều gói độc lập, ví dụ như các thư viện ngôn ngữ C, APT sẽ không cài đó, tham số “-F” sẽ buộc APT phải cài các gói này.
apt-get install <tên gói> --fix-missing  // Nếu quá trình request một gói trả về lỗi 404 Not Found, APT sẽ tự động tìm cách khác để lấy gói đó về.
apt-get upgrade  // cập nhật các phần mềm
apt-get dist-upgrade  // nâng cấp phần mềm
apt-get clean  // xóa mã nguồn của các gói đã tải về
apt-get autoremove  <tên gói>  // xóa một gói và các phần mềm bổ trợ cho nó nếu các phần mềm bổ trợ này không được yêu cầu bởi các phần mềm khác.

CentOS/Redhat/Fedora:

yum install/remove <tên gói>
yum update  // cập nhật tất cả phần mềm.

Đào Xuân Hưng – AdminVietnam.org