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?n
vd: li?t kê file và th? m?c trong ???ng d?n: /var/www |
ls | Li?t kê file và th? m?c trong th? m?c hi?n t?i |
ls -R | Li?t kê t?t c? file và th? m?c bao g?m c? các th? m?c con |
ls -a | Li?t kê nh?ng file ?n |
ls -lh filename | Xem file thu?c s? h?u c?a user nào, vd: ls -lh package.json |
ls -al | Li?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: cd [???ng d?n th? m?c c?n t?i]
chi ti?t:
cd ho?c cd~ | khi 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à /root |
cd [???ng d?n] | Di chuy?n t?i th? m?c ???c ch? ??nh theo ???ng d?n, ví d?: cd /var/www |
cd [tên th? m?c con] | Di chuy?n t?i th? m?c con có trong th? m?c hi?n t?i |
cd .. | Di chuy?n t?i th? m?c cha |
cd – | 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:
pwd
cp
Copy file ho?c th? m?c, chi ti?t:
cp file_name.jpg new_file.jpg | copy file |
cp -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?i |
mv 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.txt |
rm
Xóa file ho?c th? m?c
rm file.txt | Xóa file |
rm -rf dir_name | Xóa th? m?c, dir_name là tên th? m?c c?n xóa |
mkdir
T?o th? m?c m?i
mkdir dir_name | t?o th? m?c, dir_name là tên th? m?c t?o m?i |
mkdir -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?n |
rmdir
Xóa th? m?c, nh?ng ch? xóa ???c th? m?c r?ng
rmdir dir_name
chmod
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/storage | c?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:
sudo chown -R apache:apache /var/www/test.com/public_html
vd gán s? h?u 1 file cho user:
sudo chown -R yourusername:yourusername filename.txt
Gán quy?n s? h?u file.txt cho user1:
chown user1 file.txt
ln
T?o link t?i file ho?c th? m?c, vd t?o link t?i 1 file trong 1 th? m?c khác:
sudo ln -s /etc/nginx/sites-available/your_domain.conf /etc/nginx/sites-enabled/
t?o link t?t c? các file trong 1 th? m?c t?i 1 th? m?c khác:
sudo ln -s /etc/nginx/sites-available/* /etc/nginx/sites-enabled/
n?u mu?n xóa link thì dùng cú pháp unlink [path], vd:
sudo unlink /etc/nginx/sites-enabled/your_site.conf
Cá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:
touch filename.txt
less
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?:
less file.txt
Ctrl + 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: head test.txt
head -n 20 test.txt
tail
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:
tail file.txt
tail --line=20 test.txt
diff
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:
diff file1.ext file2.ext
wc
wc là vi?t t?t c?a word count, l?nh này s? tr? v? s? t? trong file, cú pháp:
wc test.txt
k?t qu? tr? v? ki?u nh? sau:
62 61 206 test.txt
có 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:
grep "linux" example.txt
cat
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:
cat filename.txt
less
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:
less vidu.html
shred
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:
shred file_to_shred.txt
echo
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:
echo "hello" >> filename.txt
m? 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 https://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 https://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
zip test.zip test2.html |
nén 1 file thành file zip |
zip -r ten_file.zip ten_thu_muc_can_zip | nén th? m?c thành file .zip |
unzip
Ng??c l?i v?i zip, unzip là l?nh gi?i nén file zip
unzip images.zip | gi?i nén file images.zip ra th? m?c hi?n t?i |
unzip -l test.zip | xem bên trong file zip ch?a nh?ng gì mà không c?n gi?i nén |
tar
nén các file ho?c th? m?c thành file nén .tar
tar -cvf test.tar test.txt test2.txt | t?o file nén t? các file có s?n |
tar -tvf test.tar | xem file nén .tar có nh?ng gì bên trong |
tar -xvf test.tar | gi?i nén file .tar |
gzip
nén và gi?i nén file gz
gzip test.txt | nén file, t?o ra file nén .gz |
gzip -d test.txt | gi?i nén file test.txt.gz khi gi?i nén xong s? xóa file .gz |
Cá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: top
free
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: df -h
shutdown
T?t ho?c h?n gi? t?t h? th?ng, chi ti?t:
shutdown | T?t máy ngay |
shutdown now | T?t máy sau 1 phút |
shutdown 20:40 | H?n gi? t?t máy, gi? theo ??nh d?ng 24h |
shutdown -c | H?y l?nh t?t máy tr??c ?ó |
shutdown -r | Kh?i ??ng l?i h? th?ng |
reboot
Kh?i ??ng l?i h? th?ng, cách dùng: trên terminal nh?p tr?c ti?p: reboot
uname
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
usermod
thêm user vào nhóm, vd thêm vào nhóm có quy?n su
usermod -aG wheel username
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:
whoami
#K?t qu?:
root
who
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:
history n
n 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:
man cp
exit
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:
ping hoangphu.pro
?? 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:
which php
#K?t qu?:
/usr/bin/php
whatis
L?nh này s? mô t? các l?nh khác có tác d?ng gì
vd:
whatis cp
#k?t qu?:
cp (1) - copy files and directories
find
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 --help
s? hi?n ??y ?? thông tin và h??ng d?n s? d?ng l?nh ?ó
vd:
find --help
cat /etc/os-release
Check tên h? ?i?u hành và version
ssh
L?nh này dùng ?? ?i?u khi?n t? xa máy khác
vd:
ssh [email protected]
phím t?t th??ng dùng trên terminal:
Ctrl + C
d?ng m?t l?nh ?ang ch?y
Tab
: t? ??ng hoàn thành t? ?ang gõ
done
? mây zing gut chop 😀 thank admin