kiến thức DevOps thực tế và chi tiết

Linux cho người mới bắt đầu (đúc kết xem ngay)

Bạn muốn trở thành DevOps Engineer thì sử dụng được Linux là một kỹ năng chắc chắn phải có. Tại sao vậy? để hiểu rõ hơn bạn phải biết Linux là gì.

Linux là một hệ điều hành

Giống như Windows mà bạn vẫn sử dụng vậy Linux là một hệ điều hành tuy nhiên Linux là hệ điều hành mã nguồn mở miễn phí tức là bạn có thể kiểm soát hệ điều hành này hoàn toàn không giống như Windows được kiểm soát rất nhiều bởi Microsoft nên đây cũng là hệ điều hành mà các hacker lựa chọn.

Vậy dùng Linux để làm gì? tại sao sử dụng Linux?

Trong lập trình Linux được sử dụng làm server deploy những dự án (nói đơn giản là server chứa những source code của chúng ta) họặc những lập trình viên “Pro” không muốn người khác táy máy vào máy tính của mình. Vậy tại sao lại dùng hệ điều hành Linux này vì giúp thao tác nhanh hơn và có thể tự động hóa bằng các dòng lệnh mà trên Windows sử dụng chuột rất khó có thể làm được, hơn nữa Linux còn là hệ điều hành an toàn nhất hiện nay mỗi một máy chủ Linux sẽ có tài khoản root (administrator) nên dù máy tính có dính virus thì nó cũng không thể hoạt động được vì không có quyền root, hơn nữa hệ điều hành này tiêu tốn rất ít tài nguyên nên tiết kiệm được rất nhiều chi phí phát triển phần mềm. Thông thường trong một công ty sẽ có những chiếc Server chính (máy tính) để có thể build những server để triển khai dự án bạn có thể xem Cách tạo Linux/Ubuntu bằng VMWare hoặc Cách tạo Linux/Ubuntu bằng EC2 (AWS) để có ngay 1 server thực hành.

Những lệnh cơ bản trong linux mà bạn phải biết (xem ngay)

Những Lệnh cơ bản

sudo viết tắt của từ “super user do” đứng đầu tiên khi thực thi các câu lệnh thực thi quyền root (administrator).

Ví dụ:

  • Cập nhật các danh sách gói của Linux $ sudo apt update
  • Truy cập tài khoản quyền root $ sudo -i

$ whoami người dùng hiện tại.

$ hostname thông tin hostname của hệ điều hành.

$ pwd hiển thị thư mục hiện tại.

cd chỉ định di chuyển đến thư mục yêu cầu.

Ví dụ:

  • Di chuyển đến thư mục home mặc định $ cd /home

ls liệt kê nội dung của thư mục được chỉ định.

Ví dụ:

  • Liệt kê nội dung của thư mục hiện tại $ ls
  • Liệt kê tất cả những file .txt $ ls *.txt
  • Liệt kê tất cả các file cả file ẩn $ ls -a
  • Liệt kê và sắp xếp theo thời gian $ ls -t
  • Liệt kê nội dung thư mục demo trong thư mục home $ ls /home/demo

mkdir tạo thư mục.

Ví dụ:

  • Tạo thư mục demo $ mkdir demo
  • Tạo nhiều thư mục $ mkdir demo1 demo2 demo3

touch tạo file mới.

Ví dụ:

  • Tạo file demo.txt $ touch demo.txt
  • Tạo nhiều file $ touch demo.txt demo1.txt

cat hiển thị nội dung trong 1 file.

Ví dụ:

  • Hiển thị nội dung file demo.txt $ cat demo.txt

head hiển thị nội dung những dòng đầu tiên của 1 file (mặc định 10 dòng).

Ví dụ:

  • Hiển thị 5 dòng đầu tiên của file demo.txt $ head -n 5 demo.txt

tail hiển thị nội dung những dòng cuối cùng của 1 file (mặc định 10 dòng).

Ví dụ:

  • Hiển thị 5 dòng cuối cùng của file demo.txt $ tail -n 5 demo.txt

cp copy thư mục hoặc file.

Ví dụ:

  • Copy file demo.txt vào thư mục home $ cp demo.txt /home

rm xóa thư mục hoặc file.

Ví dụ:

  • Xóa thư mục hoặc file không cần xác nhận, xóa file demo.txt $ rm -f demo.txt
  • Xóa nhiều file $ rm demo.txt demo1.txt

find tìm kiếm file và thư mục.

Ví dụ:

  • Tìm kiếm file theo tên $ find . demo.txt
  • Tìm kiếm file được tạo 1 tiếng trước $ find / -cmin 60
  • Tìm kiếm file được chỉnh sửa trong vòng 15 đến 30 ngày $ find / -mtime +15 -mtime -30
  • Tìm kiếm file có dung lượng 26MB $ find / -size 26M
  • Tìm kiếm thư mục tên demo $ find / -type d -name demo
  • Tìm và xóa file có dung lượng trên 200MB $ find / -size +100M -exec rm -rf {} \

grep tìm kiếm tất cả văn bản trong 1 file.

Ví dụ:

  • Tìm kiếm và liệt kê tất cả dòng có chứa từ Học Linux có trong file demo $ grep HocLinux demo
  • Tìm kiếm và liệt kê tất cả các dòng của nhiều file có chứa gnu/linux thư mục hiện tại$ grep -w /gun/linux *
  • Tìm kiếm và liệt kê chính xác đường dẫn của các thư mục con $ grep -rw demo *
  • Tìm kiếm một chuỗi thư mục hiện tại $ grep -x "this is content" *

mv sử dụng để di chuyển file.

Ví dụ:

  • Di chuyển thư mục demo sang home $ mv demo /home

chmod thay đổi quyền để đọc, ghi và thực thi file xem thêm chi tiết cách dùng tại Cách sử dụng lệnh chmod để biết cách dùng chính xác nhất.

VÍ dụ:

  • Cấp full quyền cho thư mục demo và thư mục con cho bất kì user nào $ chmod -R 777 demo (lưu ý cần hiểu rõ)

chown đặt chủ sở hữu cho thư mục hoặc file (mỗi một thư mục hay file đều có quyền sở hữu của một người dùng Linux)

Ví dụ:

  • Thay đổi quyền sở hữu của file demo.txt cho user Elroy $ chown Elroy demo.txt

Tham khảo:

ping kiểm tra tình trạng internet của Linux.

Ví dụ:

  • Kiểm tra tình trạng mạng liên tục $ ping 8.8.8.8 -t

zip nén các thư mục, file thành file zip.

unzip giải nén file zip.

ufw quản lý tường lửa của hệ điều hành.

Ví dụ:

  • Enable tường lửa $ ufw enable
  • Liệt kê danh sách các port $ ufw status
  • Mở port 8081 TCP $ ufw allow 8081/tcp
  • Khôi phục cài đặt tường lửa về mặc định $ ufw reset
  • Mở port http $ ufw allow http, mở port https $ ufw allow https
  • Đóng port 8081 $ ufw deny 8081/tcp
  • Cho phép IP cụ thể truy cập vào port cụ thể $ ufw allow from 192.168.0.2 to any port 22
  • Xóa bỏ các port đã mở
    • $ ufw status numbered danh sách các port đang mở với index (danh sách số)
    • $ ufw delete 1 2 xóa port trong danh sách số thứ 1 và 2.

Những lệnh Linux quan trọng

df báo cáo về sử dụng bộ nhớ (ổ đĩa).

Ví dụ:

  • Hiển thị thông tin về tình trạng sử dụng bộ nhớ hiện tại $ df -h /

ss kiểm tra thông tin Socket và thông tin mạng TCP/UDP

Ví dụ:

  • Hiển thị tổng số Socket $ ss -s
  • Hiển thị mọi port đang mở $ ss -l
  • Hiển thị mọi Socket TCP $ ss -t -a
  • Hiển thị mọi Socket UDP $ ss -u -a

top theo dõi trạng thái hệ thống các tiến trình đang chạy CPU, memory theo thời gian thực.

$ free kiểm tra dung lượng còn trống của bộ nhớ.

$ hdparm -I /dev/sda kiểm tra thông tin phần cứng.

$ ifconfig kiểm tra thông tin IP.

Những lệnh cơ bản thao tác với user và group

$ less /etc/passwd hiển thị danh sách tất cả các user hiện có.

useradd thêm mới người dùng.

groups kiểm tra group của user hiện tại.

groupadd tạo group mới.

groupdel xóa group.

usermod thêm user vào group.

deluser xóa người dùng ra khỏi group.

userdel xóa người dùng ra khỏi Linux.

passwd đổi mật khẩu của user.

Mẹo sử dụng Linux nhanh hơn

khi terminal của bạn đã đầy do những câu lệnh thực thi trước đó thì sừ dụng lệnh clear

Hiển thị nhanh và gợi ý những directory, file,… sử dụng phím TAB

Dừng một tiến trình nào đó đang chạy sử dụng Ctrl + C

Hiển thị các câu lệnh đã thực thi trước đó history

Xóa hết nội dung của một file $ > file_path

Kiểm tra những file chiếm nhiều dung lượng ổ cứng $ du -hsx * | sort -rh | head -nx (x là số)

Di chuyển nhanh đến đầu dòng Ctrl + A, di chuyển nhanh đến cuối dòng Ctrl + E

Tham khảo:

Vậy là qua bài viết này mình đã hướng dẫn sử dụng Linux cơ bản. Bạn có thể thực hành luôn để thấy những lợi ích của hệ điều hành này. Mình sẽ làm nhiều hướng dẫn hơn về các kỹ năng, các tool khác để giúp bạn tối ưu được những tác vụ cũng như tiết kiệm những chi phí khi phát triển phần mềm. Thanks.

 

Mọi thắc mắc bạn có thể liên hệ:

Email: [email protected]

Leave a comment

Your email address will not be published. Required fields are marked *