Linux là một hệ điều hành mã nguồn mở do cộng đồng phát triển, sử dụng cho các hệ thống máy tính, máy chủ, mainframe (một loại máy tính thường được sử dụng bởi các công ty, tập đoàn cũng như những tổ chức chính phủ nhằm phục vụ cho các công việc cần xử lý lượng lớn dữ liệu), thiết bị di động và thiết bị nhúng. Hệ điều hành này hỗ trợ trên hầu hết các nền tảng máy tính bao gồm x86, ARM,… khiến nó trở thành một trong những hệ điều hành được hỗ trợ rộng rãi nhất trên thị trường hiện nay.
Linux được thiết kế tương tự như UNIX nhưng hệ điều hành này được phát triển để chạy trên nhiều loại phần cứng từ điện thoại đến siêu máy tính. Mọi hệ điều hành dựa trên Linux đều chứa Linux Kernel – quản lý tài nguyên phần cứng – và một bộ phần mềm tạo nên phần còn lại của hệ điều hành này.
Linux khác biệt với các hệ điều hành khác trên thị trường vì nhiều yếu tố quan trọng khác nhau. Trong đó bao gồm:
Sau đây sẽ là những câu lệnh trên Linux thường sử dụng trong công việc của DevOps.
Câu lệnh này sẽ liệt kê toàn bộ nội dung tại thư mục đang làm việc.
Cú pháp:
ls <option>
Thực thi câu lệnh kèm theo với quyền root / superuser.
Câu lệnh này sẽ giúp người dùng có thể đọc, điều chỉnh hoặc ghép các tập tin định dạng text.
cat <option> <tên file>
Câu lệnh này sẽ giúp người dùng có thể tìm kiếm một từ khóa hoặc một đoạn từ khóa trong một tập tin. Tương tự chức năng “Ctrl + F” nhưng thực thi bằng CLI.
grep <option hoặc từ khóa cần tìm> <tên file>
Trong thực tế, grep thường được lồng ghép với các câu lệnh liệt kê thông tin để lọc kết quả cần hiển thị. Ví dụ như bạn cần tìm PID của tiến trình python đang hoạt động trong hệ thống, thì sẽ gõ câu lệnh như sau: ps ux | grep python
Câu lệnh này sẽ sắp xếp kết quả tìm kiếm theo thứ tự alphabet hoặc theo số tăng dần. Ngoài ra, câu lệnh này cũng sẽ sắp xếp tập tin, nội dung tập tin và thư mục.
sort <option> <tên file>
Câu lệnh này mặc định sẽ hiển thị 10 dòng cuối cùng của tập tin được chỉ định ra màn hình. Người dùng cũng có thể xem cùng lúc nội dung của nhiều tập tin.
tail <option> <tên file>
Lệnh này được sử dụng để thay đổi user hoặc nhóm sở hữu tập tin hoặc thư mục. Bất cứ khi nào bạn muốn thay đổi quyền sở hữu, bạn có thể sử dụng lệnh chown.
chown <option>… <OWNER><:[GROUP]> <tên file>… chown <option>… –reference=RFILE <tên file>…
Lệnh này được sử dụng để thay đổi quyền truy cập của các tập tin và thư mục.
chmod <quyền của user,group,"khác"> <tên file>
lsof hay còn gọi là “list open files“, dùng để liệt kê thông tin về các tập tin trên hệ thống đang hoặc đã được mở bởi các tiến trình đang hoạt động.
lsof <option> <username>
Kết quả sẽ hiển thị với các cột có các nội dung tương ứng như sau:
Ví dụ:
[root@tel4vn_lab ~]# lsof COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME lsof 28207 root 0u CHR 136,0 0t0 3 /dev/pts/0 lsof 28207 root 1u CHR 136,0 0t0 3 /dev/pts/0 lsof 28207 root 2u CHR 136,0 0t0 3 /dev/pts/0 lsof 28207 root 3r DIR 0,3 0 1 /proc lsof 28207 root 4r DIR 0,3 0 231727 /proc/28207/fd lsof 28207 root 5w FIFO 0,9 0t0 231732 pipe lsof 28207 root 6r FIFO 0,9 0t0 231733 pipe lsof 28208 root cwd DIR 8,2 4096 2097217 /root lsof 28208 root rtd DIR 8,2 263 64 / lsof 28208 root txt REG 8,2 154184 6505411 /usr/sbin/lsof ...
ifconfig (interface configuration) là một trong những câu lệnh dùng để xem nhanh các địa chỉ IP và các thông tin khác của giao diện mạng (interface). Gõ ifconfig để xem trạng thái các interface hiện đang hoạt động, trong đó bao gồm tên, tình trạng thông tin địa chỉ IP, địa chỉ MAC. Bạn cũng có thể chỉ định tên một interface cần xem thông tin thay vì xem toàn bộ.
ifconfig <option> <interface>
Câu lệnh này sẽ liệt kê các thông tin (name, group,…) của user hiện tại hoặc user được chỉ định trên server.
id <option> <username>
Câu lệnh này được sử dụng thao tác với tệp dựa trên cột và được thiết kế để trích xuất các cột cụ thể.
cut -c<số thứ tự cột đầu tiên - số thứ tự cột cuối cùng> <tên file>
Ví dụ: Cần cắt 16 ký tự đầu tiên từ tập tin tập tin.txt:
[root@tel4vn_lab ~]# cat file.txt Roses are red, Violets are blue, Sugar is sweet, And so are you. [root@tel4vn_lab ~]# cut -c 1-16 file.txt Roses are red, V Sugar is sweet,
Ngoài việc lọc kết quả từ cụm từ khóa mà người dùng chỉ định, câu lệnh còn hỗ trợ người dùng thay thế các từ khóa đầu tiên xuất hiện trong mỗi dòng (hoặc tất cả) mà nó tìm thấy trong tập tin văn bản được chỉ định, và hiển thị kết quả ra màn hình.
sed 's/<từ cần tìm>/<từ thay thế>/' <tên tập tin>
Ví du:
[root@tel4vn_lab ~]# cat test.txt Hello Student [root@tel4vn_lab ~]# sed 's/Student/STUDENT/' test.txt Hello STUDENT
Câu lệnh này sẽ so sánh và hiển thị sự khác nhau giữa 2 tập tin chỉ định.
diff <option> <tên file 1> <tên file 2>
Một vài tuỳ chọn (option) được dùng thường xuyên gồm:
[root@tel4vn_lab ~]# cat test1.txt this is the original text line2 line3 line4 happy hacking ! [root@tel4vn_lab ~]# cat test2.txt this is the original text line2 line4 happy hacking ! GNU is not UNIX [root@tel4vn_lab ~]#diff test1.txt test2.txt 3d2 < line3 6c5 > GNU is not UNIX
Câu lệnh history được sử dụng để xem các lệnh đã thực hiện trước đó.
history <số lượng câu lệnh cần hiển thị - mặc định sẽ hiển thị toàn bộ>
Sau khi có kết quả danh sách các câu lệnh để thực thi, bạn có thể thực hiện lại 1 câu lệnh bất kỳ trong danh sách câu lệnh bằng cú pháp:
!<số thứ tự của câu lệnh từ kết quả của câu lệnh history>
Câu lệnh này sử dụng trong các trường hợp sau:
dd if=<địa chỉ đầu vào> of=<địa chỉ đầu ra> <option>
Trong đó:
Ý nghĩa các tham số:
Các tùy chọn (option) của conv
Lưu ý: Mặc định nó được tính theo đơn vị là kb. Bạn có thể thêm một số trường sau để báo định dạng khác:
Ngoài ra, người dùng có thể sử dụng câu lệnh này để kiểm tra tốc độ đọc/ghi ổ cứng hiện tại của server:
dd if=/dev/zero of=test bs=64k count=16k conv=fdatasync
Lệnh find được sử dụng để tìm kiếm và định vị danh sách các tập tin và thư mục dựa trên các điều kiện bạn chỉ định cho các tệp khớp với các đối số cần tìm: tên tập tin, tên thư mục, phân quyền, owner, groups,…
find <vị trí con trỏ bắt đầu tìm kiếm> <đối số cần tìm> <option> <từ khóa cần tìm>
Bạn đọc có thể tham khảo thêm “29 câu lệnh find thường gặp trong Linux“: Tại đây
Câu lệnh này sẽ cung cấp thông tin về dung lượng bộ nhớ đã sử dụng và chưa sử dụng, kèm theo đó là thông tin về dung lượng RAM ảo SWAP.
free <option>
Các tùy chọn (option) thường dùng
Ý nghĩa các cột trong kết quả hiển thị
Sử dụng lệnh ssh-keygen để tạo cặp khóa xác thực public/private, giúp người dùng kết nối với hệ thống từ xa mà không cần cung cấp mật khẩu. Các khóa phải được tạo riêng cho từng người dùng. Nếu bạn tạo các cặp khóa xác thực là với quyền user root thì chỉ user root mới có thể sử dụng các khóa đã tạo.
ssh-keygen -t <option>
Các option thường sử dụng bao gồm:
Để tránh việc khóa xác thực bị tin tặc (hacker) chiếm đoạn và sử dụng, người dùng sẽ được yêu cầu nhập mật khẩu để sử dụng khóa xác thực trong bước tạo khóa. Điều này giúp hạn chế được việc tin tặc lấy được khóa xác thực và chiếm toàn bộ quyền trên server.
Câu lệnh này thuộc gói net-tools được cài đặt trên Linux, giúp người dùng có thể thao tác, quản trị hệ thống mạng trên thiết bị. Có chức năng gần như tương tự với câu lệnh ifconfig: hiển thị thông số, điều chỉnh các giao diện mạng (interface).
ip <option> <các đối tượng mạng trên hệ thống> <COMMAND | help>
nslookup được sử dụng để truy vấn các Internet Domain Name Servers (DNS). Nslookup có hai chế độ: tương tác (interactive) và không tương tác (non-interactive). Chế độ tương tác cho phép người dùng truy vấn các tên máy chủ để biết thông tin về các máy chủ và tên miền khác nhau hoặc để in danh sách các máy chủ trong một miền. Chế độ không tương tác được sử dụng để chỉ in tên và thông tin được yêu cầu cho máy chủ lưu trữ hoặc tên miền.
nsloopkup <đường dẫn cần kiểm tra>
Một trong những điều cơ bản nhất bạn có thể làm với curl là tải xuống một trang web hoặc tập tin.
curl <option> <đường dẫn / URL>
Nếu bạn muốn lưu kết quả sau khi “curl” được thì chỉ cần thêm option “-o <tên tập tin>” vào trước URL để lưu kết quả vào tập tin mong muốn. Ví dụ:
curl -o hello.zip ftp://speedtest.tele2.net/1MB.zip
Câu lệnh này được sử dụng trên hệ điều hành Linux giúp người dùng có thể thay đổi hoặc xóa các ký tự.
tr <option> <set1> <set2>
Ví dụ: Bạn cần thay đổi các ký tự trong tập tin từ chữ thường sang chữ hoa
[root@te4lvn_lab ~]# cat test.txt tel4vn training center [root@te4lvn_lab ~]# cat test.txt | tr [:lower:] [:upper:] TEL4VN TRAINING CENTER
iptables là ứng dụng tường lửa miễn phí trong Linux, cho phép thiết lập các quy tắc riêng để kiểm soát truy cập, tăng tính bảo mật cho hệ thống. Về cơ bản, iptables chỉ là giao diện dòng lệnh để tương tác với packet filtering của netfilter framework. Trong đó:
iptables --table TABLE -A/-C/-D... CHAIN rule --jump Target
apt-get là một công cụ command-line giúp xử lý các gói cài đặt trong Linux. Nhiệm vụ chính của nó là lấy thông tin và các gói từ các nguồn được xác thực để cài đặt, nâng cấp và loại bỏ các gói cài đặt và các thành phần kèm theo của chúng. APT là viết tắt của Advanced Packaging Tool.
apt-get <option> command
apt-get update: lệnh này được sử dụng để đồng bộ hóa các tệp chỉ mục gói cài đặt từ các nguồn của chúng một lần nữa. Người dùng cần thực hiện cập nhật trước khi nâng cấp các gói cài đặt trên hệ thống của mình.
Lệnh df (disk free) hiển thị tình trạng dung lượng ổ đĩa trống đang được sử dụng bởi các tập tin của hệ thống. Lệnh du (disk usage) tình trạng dung lượng của cây thư mục bao gồm tất cả nội dung của chúng và kích thước của các tệp riêng lẻ. Công cụ này giúp người dùng có thể quản lý được tài nguyên đang sử dụng trên hệ thống, giảm tình thiểu tình trạng hệ thống thiếu hụt tài nguyên.
df -h du -h
df -h
du -h
Đây là công cụ giúp người dùng có thể theo các tiến trình đang hoạt động trên hệ thống, tổng quan các tài nguyên của hệ thống như CPU, lượng RAM và Swap sử dụng theo thời gian thực (real-time).
htop <option>
Các tùy chọn (option) thường dùng:
Câu lệnh này sẽ hiển thị danh sách các tiến trình đang hoạt động trên hệ thống.
ps <option>
Lệnh kill có thể được dùng để ngắt một hoặc nhiều tiến trình đang hoạt động trên hệ thống.
kill <option> <ID của tiến trình>
Telnet là một giao thức mạng (network protocol) và cũng là công cụ quản trị server từ xa thông qua command line. TELNET (viết tắt của TErminaL NETwork) được dùng phổ biến trong mạng máy tính cục bộ (LAN). Ngoài ra, bạn có thể sử dụng câu lệnh này để kiểm tra TCP port của server hiện có đang mở hay không.
telnet <hostname / địa chỉ ip>
Nguồn tham khảo:
[01] https://medium.com/edureka/linux-commands-in-devops-73b5a2bcd007
[02] https://wiki.matbao.net/iptables-la-gi-cach-cau-hinh-bao-mat-ubuntu-vps-linux-firewall/
[03] https://vinasupport.com/huong-dan-su-dung-lenh-apt-tren-ubuntu-linux/
[04] https://bizflycloud.vn/tin-tuc/giam-sat-thong-voi-htop-833.htm
[05] https://quantrimang.com/cong-dung-cua-lenh-ps-trong-linux-163904
[06] https://vietcalls.com/command-linuxp-2/
[07] https://blogd.net/linux/cach-so-sanh-tap-tin-tren-linux/
[08] https://cuongquach.com/linux-huong-dan-su-dung-chuong-trinh-lenh-lsof-tren-linux.html
Powered by BetterDocs
Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *
Ghi nhớ tôi
Chưa đăng ký? Đăng ký
Bạn đã đăng ký? Đăng nhập ngay