Linux là thuật ngữ để chỉ 1 họ các hệ điều hành mã nguồn mở được phát triển dựa trên Linux kernel, các bản phân phối phổ biến của Linux là: Ubuntu, Debian, CentOs, Fedora…
Tuy không phổ biến trên máy tính cá nhân nhưng các hệ điều hành họ Linux được dùng rất nhiều trên máy chủ. Theo thống kê có đến hơn 90% máy chủ dùng các hệ điều hành họ Linux. Và để quản lý remote máy chủ thì tất nhiên chủ yếu sẽ dùng các câu lệnh thông qua các giao thức như SSH [Secure Shell]. Bài viết này sẽ giới thiệu một số lệnh Linux cơ bản thường dùng, cho dù bạn là 1 Sysadmin nhiều kinh nghiệm hay người mới bắt đầu dùng Linux thì cũng sẽ cần dùng đến những lệnh cơ bản này.
Các lệnh Linux liên quan tới file và thư mục
ls
Chắc hẳn ls là một trong những lệnh Linux thường được dùng nhiều nhất. Lệnh này có tác dụng liệt kê các file và thư mục trong 1 thư mục được chỉ định, nếu không có đường dẫn kèm theo thì lệnh ls sẽ liệt kê file và thư mục trong thư mục hiện tại
chi tiết:
ls [đường dẫn]Liệt kê file và thư mục trong đường dẫnvd: liệt kê file và thư mục trong đường dẫn: /var/www
wget //files.phpmyadmin.net/phpMyAdmin/5.2.0/phpMyAdmin-5.2.0-all-languages.zip
8lsLiệt kê file và thư mục trong thư mục hiện tạils -RLiệt kê tất cả file và thư mục bao gồm cả các thư mục conls -aLiệt kê những file ẩnls -alLiệt kê file và thư mục kèm thông tin chi tiết như dung lượng, phân quyền…cd
Nếu bạn từng dùng Dos hoặc cmd trên window thì có lẽ không lạ gì lệnh này, cd là lệnh di chuyển tới 1 thư mục nào đó trong hệ thống, đây cũng là lệnh được dùng rất nhiều.
Cú pháp:
wget //files.phpmyadmin.net/phpMyAdmin/5.2.0/phpMyAdmin-5.2.0-all-languages.zip
9chi tiết:
cdkhi không kèm theo đường dẫn thì lệnh cd sẽ di chuyển tới thư mục gốc của hệ thống, thường là /rootcd [đường dẫn]Di chuyển tới thư mục được chỉ định theo đường dẫn, ví dụ:free -m
0cd [tên thư mục con]Di chuyển tới thư mục con có trong thư mục hiện tạicd ..Di chuyển tới thư mục chacd –Di chuyển tới thư mục trước đópwd
Tác dụng hiển thị đường dẫn thư mục hiện tại, cách dùng: chỉ cần nhập trên terminal:
free -m
1cp
Copy file hoặc thư mục, chi tiết:
cp file_name.jpg new_file.jpgcopy filecp -r old_dir/ new_dir/copy thư mục, old_dir là tên thư mục cần copy, new_dir là thư mục paste ra, trong linux thư mục được quy ước kết thúc bằng dấu /mv
Di chuyển file hoặc thư mục, ngoài ra lệnh mv còn có thể dùng để đổi tên
mv source_file destination_folder/Di chuyển file hoặc thư mục vào thư mục khác, source_file là file hoặc thư mục cần di chuyển, destination_folder là thư mục sẽ chứa file di chuyển tớimv file.txt new_name.txtđổi tên file hoặc thư mục, trong vd này file.txt đổi tên thành new_name.txtrm
Xóa file hoặc thư mục
rm file.txtXóa filerm -rf dir_nameXóa thư mục, dir_name là tên thư mục cần xóamkdir
Tạo thư mục mới
mkdir dir_nametạo thư mục, dir_name là tên thư mục tạo mớimkdir -p images/2021/Tạo thư mục mới, bao gồm cả các thư mục con dựa theo đường dẫnrmdir
Xóa thư mục, nhưng chỉ xóa được thư mục rỗng
free -m
2chmod
Lệnh chmod có tác dụng thiết lập quyền trên thư mục và file
chmod -R 777 /public_html/storagecấp quyền đọc ghi cho thư mục và các file và thư mục bên trong nóchmod -R 777 ./cấp quyền cho thư mục hiện tại và các file và thư mục bên trong nóchown
Các file và thư mục trên Linux đều được sở hữu bởi user cụ thể, lệnh chown cho phép bạn thay đổi hoặc chuyển quyền sở hữu file sang tên người dùng được chỉ định.
Gán quyền sở hữu thư mục public_html và toàn bộ mọi thứ bên trong cho user apache:
free -m
3Gán quyền sở hữu file.txt cho user1:
free -m
4Các lệnh tạo file và đọc ghi nội dung file
touch
Lênh này có tác dụng tạo file mới, cú pháp:
free -m
5less
in ra nội dung của file theo từng trang trong trường hợp file lớn, cú pháp ví dụ:
free -m
6Ctrl + F để chuyển trang tiếp theo, Ctrl + B để trở lại trang trước
head
Lệnh head dùng để in ra n dòng đầu tiên của file, mặc định n=10
cú pháp:
free -m
7free -m
8tail
Lệnh tail có tác dụng in ra n dòng cuối cùng của file, mặc định n=10
cú pháp:
free -m
9du /path/to/directory
0diff
So sánh nội dung của 2 file theo từng dòng và xuất ra những dòng không khớp nhau
cách dùng đơn giản nhất:
du /path/to/directory
1wc
wc là viết tắt của word count, lệnh này sẽ trả về số từ trong file, cú pháp:
du /path/to/directory
2kết quả trả về kiểu như sau:
du /path/to/directory
3có nghĩa là test.txt có 62 dòng, 61 từ, 206 byte
grep
Grep là một trong những tiện ích mạnh mẽ nhất để làm việc với các tệp văn bản. Nó tìm kiếm các kết quả phù hợp với chuỗi cần tìm và in chúng, vd:
du /path/to/directory
4cat
lệnh cat viết tắt của “concatenate”, cho phép bạn tạo, xem và nối các tệp trực tiếp từ terminal, chủ yếu dùng để xem trước một file mà không cần mở trên trình soạn thảo khác
vd:
du /path/to/directory
5less
Lệnh less cho phép xem các file mà không cần mở editor. Bằng lệnh less, ta có thể cuộn trước hoặc sau trong file bằng cách phím mũi tên lên xuống, PgUP – PgDn hoặc Home – End. Nhấn Q để có thể quit khỏi lệnh less.
1Trước hết, cung cấp cho lệnh một tên như sau:
du /path/to/directory
6shred
Nếu bạn muốn một tệp gần như không thể khôi phục được, shred có thể giúp bạn thực hiện tác vụ này. Lệnh này sẽ ghi đè nhiều lần nội dung của một tệp và kết quả là tệp đã cho trở nên cực kỳ khó khôi phục.
cách dùng:
du /path/to/directory
7echo
lệnh này đơn giản nhất là in ra đoạn văn bản lên terminal, hoặc nối một câu vào cuối file, vd:
du /path/to/directory
8mở xem filename.txt sẽ thấy dòng hello ở cuối
vi
Vi là trình soạn thảo có sẵn trên linux dùng để tạo hoặc chỉnh sửa file có nội dung text, vi có 2 chế độ thường dùng, chế độ command để nhập các lệnh và chế độ insert để soạn thảo
nano
Nano cũng là trình soạn thảo có sẵn trên linux như Vi, thay vì chuyển qua lại các chế độ, Nano có các phím tắt thao tác trực tiếp trong quá trình soạn thảo nên tiện dụng hơn Vi
Các lệnh Linux liên quan tới tải file, nén và giải nén
curl
curl là một công cụ để truy xuất thông tin và file từ url trên internet.
vd:
curl -O //code.jquery.com/jquery-3.6.0.min.js
câu lệnh trên sẽ tải file từ url và lưu vào thư mục hiện tại.
wget
Lệnh wget có tác dụng tải file từ internet và lưu vào thư mục hiện tại:
vd:
wget //files.phpmyadmin.net/phpMyAdmin/5.2.0/phpMyAdmin-5.2.0-all-languages.zip
zip
Lệnh zip có tác dụng nén file hoặc thư mục thành file .zip
du /path/to/directory
9nén 1 file thành file zipzip -r ten_file.zip ten_thu_muc_can_zipnén thư mục thành file .zipunzip
Ngược lại với zip, unzip là lệnh giải nén file zip
unzip images.zipgiải nén file images.zip ra thư mục hiện tạiunzip -l test.zipxem bên trong file zip chứa những gì mà không cần giải néntar
nén các file hoặc thư mục thành file nén .tar
tar -cvf test.tar test.txt test2.txttạo file nén từ các file có sẵntar -tvf test.tarxem file nén .tar có những gì bên trongtar -xvf test.targiải nén file .targzip
nén và giải nén file gz
gzip test.txtnén file, tạo ra file nén .gzgzip -d test.txtgiải nén file test.txt.gz khi giải nén xong sẽ xóa file .gzCác lệnh hệ thống
top
hiển thị thông tin về các tiến trình đang chạy, sắp xếp theo hiệu suất CPU
cách dùng: gõ trực tiếp trên terminal:
uname -a
Kết quả:
Linux Test 3.10.0-1160.66.1.el7.x86_64 #1 SMP Wed May 18 16:02:34 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
0free
xem thông tin về bộ nhớ: bộ nhớ đã sử dụng, bộ nhớ còn trống trên hệ thống, swap, dùng free -m để xem dưới đơn vị tính là mb
cách dùng: gõ trực tiếp trên terminal:
free -m
du
là công cụ xem dung lượng ổ đĩa được sử dụng bởi các thư mục và file
cách dùng cơ bản:
du /path/to/directory
df
xem thông tin về dung lượng đĩa cứng [đã sử dụng, còn trống, …]
cách dùng: trên terminal gõ lệnh:
uname -a
Kết quả:
Linux Test 3.10.0-1160.66.1.el7.x86_64 #1 SMP Wed May 18 16:02:34 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
1shutdown
Tắt hoặc hẹn giờ tắt hệ thống, chi tiết:
shutdownTắt máy ngayshutdown nowTắt máy sau 1 phútshutdown 20:40Hẹn giờ tắt máy, giờ theo định dạng 24hshutdown -cHủy lệnh tắt máy trước đóshutdown -rKhởi động lại hệ thốngreboot
Khởi động lại hệ thống, cách dùng: trên terminal nhập trực tiếp:
uname -a
Kết quả:
Linux Test 3.10.0-1160.66.1.el7.x86_64 #1 SMP Wed May 18 16:02:34 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
2uname
Lệnh này trả về thông tin phiên bản Linux của hệ thống:
uname -a
Kết quả:
Linux Test 3.10.0-1160.66.1.el7.x86_64 #1 SMP Wed May 18 16:02:34 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
ps
hiển thị thông tin về các tiến trình đang chạy.
kill
Lệnh kill cho phép thoát một process từ command line. Ta có thể sử dụng lệnh này bằng cách nhập process ID [PID] của process đó vào trong lệnh kill hoặc tên ứng dụng
vd:
kill 533494
kill nginx
hostname
Lệnh hostname có tác dụng khi bạn cần biêt tên máy hoặc ip
hostname
#kết quả trả về tên của máy
hostname -I
#Kết quả trả về địa chỉ ip
w
Lệnh w liệt kê những user đã đăng nhập hiện tại, uptime server và load average.
finger
Lệnh finger trả về các thông tin về người dùng, thời gian truy cập lần cuối, home directory, tên tài khoản.
Các lệnh về user
sudo
sudo là viết tắt của “SuperUser Do”, cho phép bạn thực hiện các tác vụ yêu cầu quyền quản trị hoặc quyền root
useradd
Tạo user, cách dùng:
useradd username
passwd
Lệnh passwd cho phép bạn thay đổi mật khẩu của tài khoản người dùng. Đầu tiên, nó sẽ nhắc bạn nhập mật khẩu hiện tại, sau đó yêu cầu bạn nhập mật khẩu mới và xác nhận
userdel
Xóa user, cách dùng:
userdel username
whoami
Khi bạn không biết đang đăng nhập bằng user nào, đó là lúc lệnh này có tác dụng:
wget //files.phpmyadmin.net/phpMyAdmin/5.2.0/phpMyAdmin-5.2.0-all-languages.zip
0who
Lệnh này gần giống whoami, kết quả ngoài tên user còn kèm theo vài thông tin khác như thời gian đăng nhập…
Các lệnh Linux khác
clear
Xóa làm sạch terminal
history
xem lại những lệnh đã chạy
cú pháp:
wget //files.phpmyadmin.net/phpMyAdmin/5.2.0/phpMyAdmin-5.2.0-all-languages.zip
1n là số câu lệnh đã chạy gần nhất
alias
Đặt tên tạm thời cho 1 lệnh hoặc 1 chuỗi lệnh thường dùng để lần sau gọi lại chỉ cần gõ tên đã đặt, sau khi đóng terminal alias sẽ hết tác dụng
unalias
Xóa alias đã được đặt trước đó
man
hiển thị trang hướng dẫn sử dụng của bất kỳ lệnh nào khác
vd:
wget //files.phpmyadmin.net/phpMyAdmin/5.2.0/phpMyAdmin-5.2.0-all-languages.zip
2exit
Thoát khỏi phiên làm việc, nếu đang remote terminal sẽ disconnect
apt, yum
công cụ cài đặt các ứng dụng
jobs
jobs sẽ hiển thị tất cả jobs hiện tại và trạng thái jobs
ping
Lệnh ping dùng để kiểm tra trạng thái kết nối của hệ thống với server của 1 website nào đó, vd:
wget //files.phpmyadmin.net/phpMyAdmin/5.2.0/phpMyAdmin-5.2.0-all-languages.zip
3Để kết thúc lệnh ping, bạn cần nhấn Ctrl+C để ngừng gửi packet tới host
which
Lệnh which xuất ra đường dẫn đầy đủ của các app đã cài trên hệ thống
vd:
wget //files.phpmyadmin.net/phpMyAdmin/5.2.0/phpMyAdmin-5.2.0-all-languages.zip
4whatis
Lệnh này sẽ mô tả các lệnh khác có tác dụng gì
vd:
wget //files.phpmyadmin.net/phpMyAdmin/5.2.0/phpMyAdmin-5.2.0-all-languages.zip
5find
Lệnh find tìm kiếm các tệp trong hệ thống dựa trên biểu thức regex
help
Nếu lệnh nào bạn cần xem lại thông tin, mỗi câu lệnh thêm flag
uname -a
Kết quả:
Linux Test 3.10.0-1160.66.1.el7.x86_64 #1 SMP Wed May 18 16:02:34 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
3 sẽ hiện đầy đủ thông tin và hướng dẫn sử dụng lệnh đó