Cơ bảncluster

20 lệnh Linux cơ bản lập trình viên phải biết

22 phút đọc0 lượt xem
#linux#terminal#command-line#bash#beginner

Bạn có bao giờ lần đầu mở terminal Linux rồi bị choáng ngợp trước màn hình đen tối tăm không? Nếu nắm được các lệnh Linux cơ bản, bạn có thể quản lý máy chủ, tự động hóa công việc và nâng cao hiệu suất phát triển — tất cả ngay trên tay. Nếu bạn chưa biết Linux là gì, hãy đọc bài Linux là gì? trước khi tiếp tục.

Bài viết này giới thiệu 20 lệnh Linux được dùng hàng ngày trong thực tế, chia thành 6 nhóm, kèm theo code block chạy được. Đọc xong, bạn sẽ không còn lo sợ khi đứng trước terminal nữa.

Cách mở terminal — Linux, macOS, Windows (WSL2)

Trước khi học lệnh, hãy xác nhận cách mở terminal trên từng hệ điều hành.

  • Linux: Nhấn Ctrl+Alt+T, hoặc chọn "Terminal" từ menu ứng dụng
  • macOS: Nhấn Cmd+Space, gõ "Terminal" rồi nhấn Enter
  • Windows (WSL2): Tìm "Ubuntu" trong Start Menu và khởi động. Nếu chưa cài, chạy lệnh dưới đây
# Nhập lệnh này trong PowerShell (chạy với quyền quản trị viên) trên Windows 10/11
wsl --install

Sau khi chạy lệnh và khởi động lại máy, Ubuntu sẽ được cài đặt tự động. Nếu bạn đang dùng VS Code, bạn có thể chạy lệnh ngay trong terminal tích hợp (Ctrl+`) mà không cần chuyển cửa sổ.

Nhóm 1 — Điều hướng thư mục (pwd, ls, cd)

Hệ thống tệp (file system) giống như một tấm bản đồ. Bước đầu tiên là biết mình đang đứng ở đâu và di chuyển đến đúng nơi cần thiết.

pwd — Kiểm tra thư mục (directory) hiện tại

Người mới hay bị "lạc đường" trong terminal. Lệnh pwd (Print Working Directory) giúp bạn biết ngay mình đang ở thư mục nào.

# Kiểm tra vị trí hiện tại
$ pwd
/home/ubuntu/myproject

Tùy chọn -L (mặc định) hiển thị symbolic link nguyên vẹn, còn -P hiển thị đường dẫn vật lý thực sự. Thông thường dùng không có tham số là đủ.

ls — Liệt kê tệp và thư mục

Lệnh ls (List) hiển thị danh sách nội dung trong thư mục. Đây là một trong những lệnh được dùng thường xuyên nhất.

# Liệt kê đơn giản
$ ls
app.py  project/  README.md

# Hiển thị thông tin chi tiết (quyền truy cập, kích thước, thời gian sửa đổi)
$ ls -l

# Hiển thị cả tệp ẩn (tệp bắt đầu bằng dấu chấm)
$ ls -la

# Hiển thị kích thước theo đơn vị dễ đọc (KB, MB)
$ ls -lh

Ý nghĩa của từng cột trong kết quả ls -la:

-rw-r--r--  1  ubuntu  ubuntu  178  Apr 16 14:37  app.py
│           │  │       │       │    │              └─ tên tệp
│           │  │       │       │    └─ thời gian sửa đổi lần cuối
│           │  │       │       └─ kích thước tệp (byte)
│           │  │       └─ tên nhóm (group)
│           │  └─ tên chủ sở hữu (owner)
│           └─ số lượng hard link
└─ quyền truy cập (rwxrwxrwx)

Trên macOS, dùng -lh có thể hiển thị kích thước kèm chữ B (ví dụ: 178B). Trên Linux chỉ hiển thị số byte.

cd — Di chuyển giữa các thư mục

Lệnh cd (Change Directory) dùng để di chuyển đến thư mục khác.

$ cd /var/www/html       # Di chuyển theo đường dẫn tuyệt đối (absolute path)
$ cd ..                  # Lên thư mục cha (parent directory)
$ cd ~                   # Về thư mục home
$ cd -                   # Quay lại thư mục vừa ở trước (rất tiện!)
$ cd project/src         # Di chuyển theo đường dẫn tương đối (relative path)

Lệnh cd - — "quay về chỗ vừa đứng" — thường bị bỏ qua nhưng cực kỳ tiện khi phải di chuyển qua lại giữa hai thư mục.

Bảng các ký hiệu đặc biệt hay dùng:

Ký hiệuÝ nghĩa
~Thư mục home
.Thư mục hiện tại
..Thư mục cha
-Thư mục trước đó
/Thư mục gốc (root directory)

Nhóm 2 — Quản lý tệp và thư mục (mkdir, touch, cp, mv, rm)

Sau khi biết điều hướng, bước tiếp theo là tạo và quản lý tệp (file) cùng thư mục.

mkdir — Tạo thư mục mới

Lệnh mkdir (Make Directory) tạo thư mục mới.

$ mkdir myproject

# Tạo thư mục lồng nhau cùng một lúc (bắt buộc dùng tùy chọn -p)
$ mkdir -p myproject/src/components

# Tạo nhiều thư mục cùng lúc
$ mkdir frontend backend database

# Ví dụ thực tế: tạo cấu trúc dự án Python chỉ một lệnh
$ mkdir -p project/{src,tests,docs}

Nếu không có -p, lệnh sẽ báo lỗi khi thư mục trung gian chưa tồn tại. mkdir -p có nghĩa là "tạo kể cả các thư mục trung gian nếu cần".

touch — Tạo tệp rỗng

Lệnh touch tạo tệp rỗng. Về bản chất đây là lệnh cập nhật timestamp, nhưng với người mới hãy nhớ đơn giản là "lệnh tạo tệp rỗng".

$ touch index.html

# Tạo nhiều tệp cùng lúc
$ touch app.py utils.py config.py

# Ví dụ thực tế: tạo hàng loạt tệp khi khởi tạo dự án
$ touch .env README.md requirements.txt

cp — Sao chép tệp và thư mục

Lệnh cp (Copy) sao chép tệp hoặc thư mục.

# Sao chép một tệp
$ cp app.py app_backup.py

# Sao chép sang thư mục khác
$ cp config.py /home/ubuntu/backup/

# Sao chép thư mục — bắt buộc dùng -r
$ cp -r project/ project_backup/

# Sao chép nhiều tệp theo pattern
$ cp *.py /home/ubuntu/backup/

Khi sao chép thư mục, tùy chọn -r (recursive — đệ quy) là bắt buộc. Quên tùy chọn này sẽ gây lỗi ngay.

mv — Di chuyển và đổi tên tệp

Lệnh mv (Move) thực hiện được cả hai việc "di chuyển" và "đổi tên" chỉ bằng một lệnh duy nhất.

# Đổi tên tệp (rename)
$ mv old_name.py new_name.py

# Di chuyển tệp vào thư mục
$ mv app.py project/src/

# Di chuyển và đổi tên cùng lúc
$ mv draft.md project/docs/README.md

# Di chuyển nhiều tệp theo pattern
$ mv *.log logs/

Nếu đích đến đã có tệp cùng tên, tệp đó sẽ bị ghi đè. Để được hỏi xác nhận trước khi ghi đè, hãy thêm tùy chọn -i.

rm — Xóa tệp và thư mục

Lệnh rm (Remove) xóa tệp hoặc thư mục.

# Xóa một tệp
$ rm temp.txt

# Xóa có xác nhận (khuyến nghị cho người mới)
$ rm -i important.txt

# Xóa thư mục và toàn bộ nội dung bên trong
$ rm -r old_project/

# Xóa nhiều tệp theo pattern
$ rm *.log

Cảnh báo: rm -rf là thao tác không thể hoàn tác

Tuyệt đối không chạy các lệnh sau:

rm -rf /          # Xóa toàn bộ hệ thống — không thể khôi phục!
rm -rf *          # Xóa tất cả mọi thứ trong thư mục hiện tại!

Linux không có thùng rác. Tệp bị xóa bằng rm là mất vĩnh viễn. Người mới hãy luôn dùng -i (có xác nhận) hoặc kiểm tra nội dung trước khi xóa.

# Quy trình an toàn trước khi xóa
$ ls -la tên-thư-mục-cần-xóa/    # Xem trước nội dung bên trong
$ rm -ri tên-thư-mục-cần-xóa/    # Xóa từng mục có xác nhận

Nhóm 3 — Xem và chỉnh sửa nội dung tệp (cat, less, head, tail, nano)

Công cụ để "đọc" tệp và "chỉnh sửa" tệp là hai thứ khác nhau. Dùng đúng công cụ sẽ giúp bạn làm việc hiệu quả hơn nhiều.

cat — Hiển thị nội dung tệp

Lệnh cat (Concatenate) in toàn bộ nội dung của tệp ngắn ra terminal.

# Hiển thị nội dung tệp
$ cat app.py

# Hiển thị kèm số dòng
$ cat -n app.py

# Ghép nhiều tệp và ghi ra một tệp mới
$ cat file1.txt file2.txt > combined.txt

# Tạo tệp nhanh từ đầu vào chuẩn (nhấn Ctrl+D để kết thúc)
$ cat > notes.txt

Dùng cat cho tệp lớn sẽ khiến nội dung cuộn qua màn hình rất nhanh. Với tệp dài, hãy dùng lệnh less ở phần tiếp theo.

less — Xem tệp dài theo từng trang

Lệnh less cho phép cuộn trang xem tệp lớn từng màn hình một. So với more, lệnh này mạnh hơn vì hỗ trợ cuộn cả hai chiều.

# Xem tệp log
$ less /var/log/syslog

# Hiển thị kèm số dòng
$ less -N access.log

Các phím điều khiển trong less:

PhímChức năng
Space / fTrang tiếp theo
bTrang trước
/patternTìm kiếm về phía trước
nKết quả tìm kiếm tiếp theo
qThoát
gNhảy về đầu tệp
GNhảy về cuối tệp

head / tail — Xem đầu hoặc cuối tệp

Lệnh head hiển thị phần đầu, còn tail hiển thị phần cuối của tệp.

# Hiển thị 5 dòng đầu
$ head -5 sample.txt

# Hiển thị 10 dòng cuối (mặc định)
$ tail sample.txt

# Hiển thị 20 dòng cuối
$ tail -20 app.py

# Theo dõi tệp log theo thời gian thực (cực kỳ quan trọng!)
$ tail -f /var/log/nginx/access.log
# Nhấn Ctrl+C để dừng theo dõi

Lệnh tail -f là không thể thiếu khi theo dõi log lúc deploy hoặc debug ứng dụng. Bạn có thể thấy log xuất hiện theo thời gian thực, giúp tìm nguyên nhân lỗi nhanh hơn rất nhiều.

nano — Chỉnh sửa tệp ngay trong terminal

Lệnh nano là trình soạn thảo văn bản trong terminal, thân thiện với người mới hơn vim vì các phím tắt luôn hiển thị ở cuối màn hình.

# Mở tệp để chỉnh sửa
$ nano config.py

# Chỉnh sửa tệp hệ thống với quyền quản trị viên
$ sudo nano /etc/hosts

Các phím tắt hay dùng (^ tương đương Ctrl):

PhímChức năng
Ctrl+OLưu tệp
Ctrl+XThoát nano
Ctrl+WTìm kiếm văn bản
Ctrl+KCắt dòng hiện tại
Ctrl+UDán (paste)

Vim sẽ được giới thiệu trong bài khác; cho đến khi quen với việc nhập lệnh, hãy dùng nano trước.

Nhóm 4 — Tìm kiếm (grep, find)

Khi dự án trở nên lớn hơn, kỹ năng tìm kiếm nhanh tệp hoặc đoạn code cụ thể là không thể thiếu.

grep — Tìm kiếm văn bản trong tệp

Lệnh grep tìm kiếm "nội dung bên trong" tệp. Dùng khi bạn muốn biết "đoạn code này nằm ở tệp nào".

# Tìm chuỗi văn bản trong tệp
$ grep "def" app.py

# Hiển thị kèm số dòng
$ grep -n "def" app.py

# Tìm không phân biệt chữ hoa/thường
$ grep -i "error" error.log

# Tìm đệ quy toàn bộ thư mục
$ grep -r "import" project/

# Kết hợp với pipe (đây mới là sức mạnh thực sự của grep)
$ ps aux | grep nginx
$ cat error.log | grep "ERROR" | tail -20
$ history | grep "git commit"

Pipe (|) là gì: Khi viết command1 | command2, đầu ra của lệnh trước được truyền làm đầu vào của lệnh sau. Nhờ đó bạn có thể kết hợp nhiều lệnh để xử lý dữ liệu rất mạnh mẽ.

Các tùy chọn hay dùng của grep:

Tùy chọnMô tả
-nHiển thị số dòng
-iKhông phân biệt chữ hoa/thường
-rTìm kiếm đệ quy trong thư mục
-cĐếm số dòng khớp
-lChỉ hiển thị tên tệp có kết quả khớp

find — Tìm tệp theo tên và điều kiện

Lệnh find tìm tệp dựa trên các thuộc tính như tên, kích thước, thời gian sửa đổi. Trong khi grep "tìm bên trong tệp", thì find "tìm bản thân tệp".

# Tìm theo phần mở rộng (extension)
$ find . -name "*.py"

# Tìm không phân biệt chữ hoa/thường
$ find . -iname "readme*"

# Chỉ tìm tệp (loại trừ thư mục)
$ find . -name "*.txt" -type f

# Tìm tệp Python được sửa đổi trong vòng 1 ngày gần đây
$ find . -mtime -1 -name "*.py"

# Tìm tệp lớn hơn 1MB
$ find /var/log -size +1M

# Tìm và xóa tệp log (cẩn thận!)
$ find . -name "*.log" -type f -delete

Nhóm 5 — Quản lý quyền truy cập (chmod, chown)

Trong Linux, mọi tệp đều có cài đặt quyền truy cập (permission) xác định "ai có thể làm gì". Đây là kiến thức nền tảng về bảo mật và là kỹ năng bắt buộc trong vận hành máy chủ.

chmod — Thay đổi quyền truy cập tệp

Lệnh chmod (Change Mode) thay đổi quyền truy cập của tệp.

Quyền được biểu diễn bằng 3 loại (r=đọc, w=ghi, x=thực thi), mỗi loại tương ứng với một giá trị số:

r = read (đọc)         = 4
w = write (ghi)        = 2
x = execute (thực thi) = 1
- = không có quyền     = 0

Ví dụ: rwx = 4+2+1 = 7
        rw- = 4+2+0 = 6
        r-- = 4+0+0 = 4

Quyền được đặt cho 3 đối tượng: chủ sở hữu (owner) / nhóm (group) / người khác (others).

# Kiểm tra quyền hiện tại
$ ls -la deploy.sh
-rw-r--r--  1 ubuntu ubuntu 512 Apr 16 deploy.sh

# Cấp quyền thực thi cho script (755 = rwxr-xr-x)
$ chmod 755 deploy.sh

# Tệp thông thường (644 = rw-r--r--)
$ chmod 644 config.py

# Tệp bí mật như .env — chỉ chủ sở hữu được đọc (600 = rw-------)
$ chmod 600 .env

# Áp dụng đệ quy cho toàn bộ thư mục
$ chmod -R 755 project/

Bảng các cài đặt quyền phổ biến:

SốÝ nghĩaDùng cho
755rwxr-xr-xThư mục, script thực thi
644rw-r--r--Tệp văn bản thông thường
600rw-------Tệp bí mật như .env
777rwxrwxrwxToàn quyền mọi người (không khuyến nghị)

Cài đặt chmod 777 cho phép mọi người dùng đọc, ghi và thực thi. Trên máy chủ, điều này tạo ra rủi ro kẻ tấn công có thể sửa đổi tệp, nên hãy tránh dùng.

chown — Thay đổi chủ sở hữu tệp

Lệnh chown (Change Owner) thay đổi chủ sở hữu hoặc nhóm của tệp. Thường dùng kết hợp với sudo.

# Thay đổi chủ sở hữu
$ sudo chown ubuntu app.py

# Thay đổi chủ sở hữu và nhóm cùng lúc
$ sudo chown ubuntu:www-data config.php

# Áp dụng đệ quy cho toàn bộ thư mục
$ sudo chown -R ubuntu:ubuntu /home/ubuntu/myproject/

# Ví dụ thực tế: cấu hình web server
$ sudo chown -R www-data:www-data /var/www/html/

Lệnh chown yêu cầu quyền quản trị viên, nên nếu không có sudo sẽ bị lỗi trong hầu hết trường hợp.

Nhóm 6 — Quản lý hệ thống (ps, kill, top, sudo)

Khi ứng dụng bị treo hoặc máy chủ chạy chậm, bạn cần biết cách kiểm tra tiến trình (process) đang chạy và xử lý chúng.

ps — Xem các tiến trình đang chạy

Lệnh ps (Process Status) hiển thị danh sách các tiến trình hiện đang hoạt động trên hệ thống.

# Hiển thị tất cả tiến trình
$ ps aux

# Lọc tiến trình cụ thể với grep (tổ hợp hay dùng)
$ ps aux | grep nginx
$ ps aux | grep python3

Giải thích các cột trong kết quả ps aux:

$ ps aux
USER         PID  %CPU %MEM    VSZ   RSS  STAT  COMMAND
#            │                              └─ lệnh đang chạy
#            │                        └─ trạng thái (S=ngủ, R=đang chạy)
#            │              └─ RAM đang dùng thực tế (KB)
#            │         └─ % sử dụng RAM
#            │    └─ % sử dụng CPU
#            └─ ID tiến trình (dùng cho lệnh kill)
ubuntu      1234  2.5  0.9  512000  36000  S  python3 app.py

Mục đích chính của việc xem PID là để dùng với lệnh kill tiếp theo.

kill — Dừng tiến trình

Lệnh kill dừng tiến trình bằng cách gửi tín hiệu kết thúc đến PID tương ứng.

# Yêu cầu kết thúc bình thường (SIGTERM — thử cái này trước)
$ kill 1234

# Buộc kết thúc (SIGKILL — chỉ dùng khi kill thường không hiệu quả)
$ kill -9 1234

# Dừng tất cả tiến trình theo tên
$ killall nginx

# Quy trình thực tế: tìm PID rồi mới kill
$ ps aux | grep "python3 app.py"
ubuntu   1234  2.5  0.9 ...  python3 app.py
$ kill 1234

Quy trình đúng: thử kill PID (SIGTERM) trước, chỉ dùng kill -9 (SIGKILL) khi tiến trình không chịu dừng.

top — Giám sát hệ thống theo thời gian thực

Lệnh top cho phép theo dõi CPU, bộ nhớ và các tiến trình đang chạy theo thời gian thực.

$ top

Các phím điều khiển chính trong top:

PhímChức năng
qThoát
MSắp xếp theo mức dùng RAM
PSắp xếp theo mức dùng CPU
kKill tiến trình (nhập PID)
1Hiển thị mức dùng từng CPU core

Ngoài ra còn có htop — trực quan và dễ dùng hơn top. Cài đặt bằng lệnh:

$ sudo apt install htop    # Ubuntu/Debian
$ htop

sudo — Chạy lệnh với quyền quản trị viên

Lệnh sudo (Superuser Do) được đặt trước lệnh cần quyền quản trị viên (root) để thực thi.

# Cài đặt package
$ sudo apt update
$ sudo apt install nginx

# Chỉnh sửa tệp hệ thống
$ sudo nano /etc/hosts

# Khởi động, dừng, khởi động lại dịch vụ (service)
$ sudo systemctl start nginx
$ sudo systemctl stop nginx
$ sudo systemctl status nginx

# Kiểm tra quyền sudo của bản thân
$ sudo -l

Ubuntu/Debian dùng apt, còn CentOS/RHEL dùng yum hoặc dnf. Phần lớn lập trình viên Việt Nam dùng Ubuntu — hệ điều hành mặc định trên AWS/GCP.

Sau khi chuyển sang root shell bằng sudo su, hãy nhớ gõ exit để quay về user thường ngay sau khi xong việc. Làm việc liên tục dưới quyền root là rất nguy hiểm.

Bảng cheat sheet — 20 lệnh Linux cơ bản

Lưu bảng này lại để tra cứu nhanh bất cứ lúc nào.

#LệnhChức năngVí dụ thực tế
1pwdHiển thị thư mục hiện tạipwd
2lsLiệt kê tệp và thư mụcls -la
3cdDi chuyển thư mụccd ~/project
4mkdirTạo thư mục mớimkdir -p src/components
5touchTạo tệp rỗngtouch index.html
6cpSao chép tệp/thư mụccp -r src/ backup/
7mvDi chuyển/đổi tên tệpmv old.py new.py
8rmXóa tệp/thư mụcrm -ri old_folder/
9catHiển thị nội dung tệpcat -n app.py
10lessXem tệp dài theo trangless /var/log/syslog
11headHiển thị phần đầu tệphead -20 app.py
12tailXem cuối tệp / theo dõi logtail -f access.log
13nanoChỉnh sửa tệp trong terminalnano config.txt
14grepTìm kiếm văn bản trong tệpgrep -rn "ERROR" logs/
15findTìm tệp theo tên/điều kiệnfind . -name "*.py"
16chmodThay đổi quyền truy cậpchmod 755 deploy.sh
17chownThay đổi chủ sở hữu tệpsudo chown ubuntu file
18psXem tiến trình đang chạyps aux | grep python
19killDừng tiến trìnhkill -9 1234
20topGiám sát hệ thống thời gian thựctop
(+)sudoChạy lệnh với quyền quản trị viênsudo apt install nginx

Ví dụ kết hợp lệnh trong thực tế

Kết hợp nhiều lệnh lại sẽ giúp bạn làm việc hiệu quả hơn rất nhiều.

# Khởi tạo dự án mới (tạo toàn bộ cấu trúc chỉ bằng vài lệnh)
$ mkdir -p myproject/{src,tests,docs}
$ cd myproject
$ touch src/main.py tests/test_main.py README.md .env
$ chmod 600 .env
$ ls -la
# Điều tra log lỗi (tận dụng pipe)
$ tail -100 /var/log/app.log | grep "ERROR"

# Quy trình dừng một tiến trình cụ thể
$ ps aux | grep "python3 app.py"
ubuntu   1234  2.5  0.9 ...  python3 app.py
$ kill 1234

Câu hỏi thường gặp (FAQ)

rm -rrm -rf khác nhau như thế nào?

  • -r: Xóa thư mục đệ quy. Trong một số trường hợp sẽ hỏi xác nhận trước khi xóa
  • -f: Buộc xóa không hỏi (viết tắt của force)
  • Kết hợp -rf có nghĩa là "xóa đệ quy không cần xác nhận" — đây là tổ hợp tùy chọn nguy hiểm nhất

Trên macOS có dùng được lệnh Linux không?

macOS dựa trên nền tảng Unix nên hầu hết các lệnh trong bài này đều hoạt động. Điểm khác biệt chính gồm:

  • ls -lh hiển thị kích thước kèm chữ B (ví dụ: 178B)
  • ls trên macOS dùng BSD ls, không phải GNU ls nên một số tùy chọn có thể khác
  • Tùy chọn -mtime của find có vài điểm khác biệt nhỏ

Làm sao dùng lệnh Linux trên Windows?

Dùng WSL2 (Windows Subsystem for Linux). Mở PowerShell với quyền quản trị viên và chạy wsl --install — Ubuntu sẽ được cài đặt tự động.

Khi nào dùng grep, khi nào dùng find?

  • grep: Tìm kiếm "nội dung văn bản bên trong tệp". Dùng khi hỏi "đoạn code này nằm ở đâu?"
  • find: Tìm kiếm "bản thân tệp theo thuộc tính (tên, kích thước, thời gian sửa đổi)". Dùng khi hỏi "tệp đó ở đâu?"

Tại sao không nên dùng chmod 777?

Cài đặt 777 cấp quyền đọc, ghi và thực thi cho tất cả người dùng — chủ sở hữu, nhóm và người khác. Trên máy chủ, điều này tạo ra rủi ro kẻ tấn công có thể sửa đổi tệp hoặc chạy script độc hại. Thay vào đó hãy dùng 755 cho thư mục/script, 644 cho tệp thông thường và 600 cho tệp bí mật.

tophtop khác nhau như thế nào?

  • top: Có sẵn trên hầu hết mọi hệ thống Linux, không cần cài thêm
  • htop: Hiển thị màu sắc, hỗ trợ thao tác bằng chuột, trực quan hơn nhiều. Cài bằng sudo apt install htop

Bước tiếp theo — Học gì sau khi nắm vững lệnh Linux cơ bản?

Đọc đến đây, bạn đã nắm được các lệnh Linux cơ bản. Dưới đây là những gì nên học tiếp theo:

  1. Bash script: Viết shell script bắt đầu từ #!/bin/bash để tự động hóa các công việc lặp đi lặp lại. Chỉ cần kết hợp các lệnh trong cheat sheet là bạn đã có thể tạo ra công cụ hữu ích rồi.
  2. Git: Kỹ năng nền tảng về quản lý phiên bản (version control). Không thể thiếu trong làm việc nhóm. Tham khảo Git là gì? để tìm hiểu chi tiết.
  3. SSH: Cách kết nối an toàn đến máy chủ từ xa. Không thể thiếu khi quản lý server trong thực tế.

Nếu muốn hiểu sâu hơn về cơ chế bên dưới của các lệnh Linux, hãy đọc bài Linux là gì?. Ngoài ra, nếu bạn đang dùng VS Code, terminal tích hợp cho phép bạn thực hành ngay các lệnh vừa học mà không cần rời khỏi trình soạn thảo.

Lệnh Linux chỉ thực sự thấm vào khi bạn tự tay gõ và thực hành. Hãy mở terminal ngay hôm nay và thử gõ một lệnh đầu tiên.

Về tác giả

Ảnh đại diện tác giả Kenji — họa tiết hình học

Kenji

Kỹ sư phần mềm full-stack (Web), hơn 5 năm kinh nghiệm thực tế

  • Python
  • DB
  • Hạ tầng
  • Đào tạo & cố vấn
  • AI

Làm việc cùng đồng nghiệp người Việt, tôi thấy thiếu tài liệu kỹ thuật rõ ràng bằng tiếng Việt. codeahoc là nơi tôi chia sẻ theo hướng thực tế, dễ áp dụng.

Nguyên tắc nội dung

  • Ưu tiên nguồn gốc và góc nhìn từ thực tế triển khai.
  • Nếu có sai sót, nội dung sẽ được cập nhật và sửa kịp thời.

Khóa học liên quan

The Complete Web Developer Bootcamp

Lộ trình từ zero cho người mới bắt đầu lập trình web.

4.7499.000 ₫
Xem khóa học →

100 Days of Code: The Complete Python Pro Bootcamp

Python thân thiện với người mới, học qua dự án.

4.7499.000 ₫
Xem khóa học →
Quảng cáo