Lệnh hệ điều hành linux
Trong thực tế, đôi khi ta được bàn giao lại một máy chủ với hệ điều hành linux nói chung và centos nói riêng, lúc này cần kiểm tra xem phiên bản hệ điều hành mà ta đang dùng là gì, hoặc cần xác định phiên bản hệ điều hành ta dùng là 32 bit hay 64 bit để lựa chọn gói cài đặt cho đúng, lúc này cần thực hiện các lệnh sau để kiểm tra. Show
Danh sách các lệnh dùng để kiểm tra
1. Lệnh uname -aTùy chọn – a có nghĩa là liệt kê ra hết tất cả thông tin. Để lấy vắn tắt những thông tin cần thiết có thể sử dụng các tùy chọn khác, ví dụ sau dùng các tùy chọn sau:
Đây là tình huống ta chỉ cần lấy một số thông tin chứ không cần lấy hết, ví dụ ta chỉ cần kiểm tra xem phiên bản hệ điều hành đang dùng là 64 bit hay 32 bit hoăc chỉ cần lấy ra tên kernel của hệ điều hành. 2. Lệnh cat /etc/system-releaseĐôi khi với lệnh uname -a chưa đủ, cần dùng thêm lệnh cat /etc/system-release để biết rõ distro đang được sử dụng. 3. Lệnh cat /proc/versionLệnh cat /proc/version cũng để kiếm tra phiên bản hệ điều hành đang dùng. Vì CENTOS được phát triển từ REDHAT nên trong hình trên xuất hiện chữ REDHAT Linux là gì? Tại sao Linux lại trở nên phổ biến trên thị trường hiện nay? Các câu lệnh trên Linux thường sử dụng trong DevOps là gì? Bài viết này sẽ giải đáp một cách tổng quát nhất những câu hỏi này.Linux là gì?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. Tại sao Linux lại trở nên phổ biến?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:
Những câu lệnh trên Linux thường sử dụng trong DevOpsSau đâ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. 1. lsCâ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: Câu lệnhChi tiếtls <đường dẫn>Liệt kê các nội dung đang được lưu trữ bên trong đường dẫn chỉ định.ls -lLiệt kê toàn bộ nội dung có trong thư mục kèm theo các trường thông tin như người sở hữu, các quyền trên nội dung, thời gian chỉnh sửa gần nhất.ls -aLiệt kê toàn bộ nội dung bên trong thư mục, bao gồm các tập tin ẩn.
2. sudoThực thi câu lệnh kèm theo với quyền root / superuser. Cú pháp: Câu lệnhChi tiếtsudo useradd
3. catCâ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. Cú pháp: Câu lệnhChi tiếtcat -bĐánh số thứ tự cho các dòng có ký tự.cat -nĐánh số thứ tự cho toàn bộ các dòng trong tập tin.cat -sGộp những dòng không có ký tự lại thành 1 dòng.cat -EHiển thị dấu $ ở cuối dùng.
4. grepCâ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. Cú pháp: Câu lệnhChi tiếtgrep -iHiện thị kết quả tìm kiếm không phân biệt in hoa và in thường.grep -nHiển thị kết quả tìm kiếm cùng với số thứ tự của dòng.grep -vHiển thị kết quả những dòng không giống với cụm từ cần tìm.grep -cHiển thị số lượng dòng trùng khớp với cụm từ cần tìm.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
5. sortCâ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. Cú pháp: Câu lệnhChi tiếtsort -rĐảo ngược kết quả sắp xếp.sort -fSắp xếp kết quả không phân biệt chữ hoa và thường.sort -nSắp xếp kết quả dựa theo số tăng dần.
6. tailCâ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. Cú pháp: Câu lệnhChi tiếttail -nHiển thị n dòng kết quả cuối cùng của tập tin.tail +
7. chownLệ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. Cú pháp:
8. chmodLệ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. Cú pháp: #Quyền7Đọc, ghi và thực thi (read, write, execute).6Đọc và ghi.5Đọc và thực thi.4Chỉ đọc.3Ghi và thực thi.2Chỉ ghi.1Chỉ thực thi.0Không phân quyền.
9. lsoflsof 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. Cú pháp: 2Kết quả sẽ hiển thị với các cột có các nội dung tương ứng như sau: CộtChú thíchCOMMAND9 kí tự đầu tiên của tên chương trình lệnh tương ứng với tiến trình.PIDThông tin PID của tiến trình.USERUser thực thi tiến trình đó. Có thể là UID hoặc username.FDFile Descriptor của tập tin được liệt kê, hoặc các thông tin khác hay mode (w,u,r) của tập tin.
Ví dụ:
10. ifconfigifconfig (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ộ. Cú pháp: 3Câu lệnhChi tiếtifconfig -aLiệt kê toàn bộ thông tin interface có trên hệ thống, kể cả chúng đã bị “tắt”.ifconfig -sLiệt kê tóm tắt thông tin interface trên hệ thống
11. idCâ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. Cú pháp: Câu lệnhChi tiếtid -g
12. cutCâ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ể. Cú pháp: 4Ví dụ: Cần cắt 16 ký tự đầu tiên từ tập tin tập tin.txt:
13. sedNgoà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. Cú pháp: 5Câu lệnhChi tiếtsed ‘s/Ví du: 0
14. diffCâ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. Cú pháp: 1Một vài tuỳ chọn (option) được dùng thường xuyên gồm: Tuỳ chọnSử dụng-cCung cấp 3 dòng trước và sau của sự khác nhau về nội dung.-rSử dụng để so sánh đệ quy các thư mục con, thư mục hiện tại.-iBỏ qua trường hợp chữ cái.-wBỏ qua sự khác biệt về tab ( khoảng trắng ).-qBáo những tệp khác nhau mà không cần liệt kê sự khác biệt.
Ví dụ: 2
15. historyCâu lệnh history được sử dụng để xem các lệnh đã thực hiện trước đó. Cú pháp: 3Sau 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: 6
16. ddCâu lệnh này sử dụng trong các trường hợp sau:
Cú pháp: 4Trong đó:
Ý nghĩa các tham số: Tùy chọnÝ nghĩabs=BytesQuá trình đọc (ghi) bao nhiêu byte một lần đọc (ghi)cbs=BytesChuyển đổi bao nhiêu byte một lầncount=Blocksthực hiện bao nhiêu Block trong quá trình thực thi câu lệnhifChỉ đường dẫn đọc đầu vàoofChỉ đường dẫn ghi đầu raibs=bytesChỉ ra số byte một lần đọcobs=bytesChỉ ra số byte một lần ghiskip=blocksBỏ qua bao nhiêu block đầu vàoconv=ConvsChỉ ra tác vụ cụ thể của câu lệnh
Các tùy chọn (option) của conv Tùy chọnÝ nghĩaasciiChuyển đôi từ mã EBCDIC sáng ASCIIebcdicChuyển đổi từ mã ASCII sang EBCDIClcaseChuyển đổi từ chữ thường lên hết thành chữ in hoaucaseChuyển đổi từ chữ in hoa sang chữ thườngnocreatKhông tạo ra tập tin đầu ranoerrorTiếp tục sao chép dữ liệu khi đầu vào bị lỗisyncĐồng bộ dữ liệu với ổ đang sao chép sang
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: Cú pháp: 5
17. findLệ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,… Cú pháp: 6Bạn đọc có thể tham khảo thêm “29 câu lệnh find thường gặp trong Linux“: Tại đây
18. freeCâ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. Cú pháp: 7Các tùy chọn (option) thường dùng Tùy chọnÝ nghĩa-bHiển thị kết quả theo dung lượng byte-kHiển thị kết quả theo dung lượng kilobyte (mặc định)-m Hiển thị kết quả theo dung lượng megabyte-gHiển thị kết quả theo dung lượng gigabyte
19. ssh-keygenSử 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. Cú pháp: 8Cá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.
20. ipCâ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). Cú pháp: 9Các tùy chọn (option) thường dùng Tùy chọnÝ nghĩaaddressHiển thị toàn bộ thông tin của các interface hiện có trên thiết bịlinkHiển thị địa chỉ MAC của các interface hiện có trên thiết bịrouteHiển thị thông tin định tuyến
21. nslookupnslookup đượ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. Cú pháp: 0Ví dụ:
22. curlMộ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. Cú pháp: 1Nếu bạn muốn lưu kết quả sau khi “curl” được thì chỉ cần thêm option “-o 2
23. trCâ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ự. Cú pháp: 3Ví dụ: Bạn cần thay đổi các ký tự trong tập tin từ chữ thường sang chữ hoa 4Các tùy chọn (option) thường dùng Tùy chọnÝ nghĩa-cÁp dụng các option khác đối với các ký tự không có trong bộ lọc “set1”-dXóa ký tự trong chuỗi-sBỏ các ký tự lặp liên tiếp
24. iptablesiptables 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 đó:
Cú pháp: 5
25. apt-getapt-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. 6apt-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.
26. df, duLệ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. Cú pháp: 7
27. htopĐâ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). Cú pháp: 8Các tùy chọn (option) thường dùng: Tùy chọnÝ nghĩa–d / –delayHiển thị độ trễ giữa các bản cập nhật, tính bằng 1/10 giây–C / –no-colorChế độ đơn sắc–h / –helpHiển thị thông báo trợ giúp và thoát–u / –user=USERNAMEChỉ hiển thị các PID đã chỉ định–v / –versionHiển thị thông tin phiên bản và thoát
28. psCâ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. Cú pháp: 9Các tùy chọn (option) thường dùng: Tùy chọnÝ nghĩaaHiển thị tất cả các tiến trình của toàn bộ user trên hệ thốnguHiển thị người khởi tạo tiến trìnhxHiển thị các tiến trình không attach terminal
29. killLệ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. Cú pháp: 0
30. telnetTelnet 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. |