Viblo Learning
+1

Những lệnh command shell linux cơ bản có thể bạn chưa biết - Phần 1

Bài viết này sẽ liệt kê một số command cơ bản thường được dùng trong linux, tiện dụng cho các bạn khi sử dụng linux mà có thể bạn chưa biết.

whoami

Tôi là ai, câu lệnh này sẽ cho bạn biết bạn đang sử dụng linux bằng tài khoản người dùng nào

$ whoami
leducson

pwd

Câu lệnh này sẽ trả về cho bạn đường dẫn tuyệt đối của thư mục bạn đang thao tác. Sử dụng trong trường hợp bạn muốn lấy đường dẫn tuyệt đối của thư mục sử dụng cho mục đích khác

[email protected] ~/working_space $ pwd
/home/le/working_space

ls

Câu lệnh này sẽ liệt kê tất cả thư mục và tập tin trong thư mục bạn đang đứng

[email protected] ~ $ ls
 Documents   Downloads   Music   Pictures   Public   Templates   Videos  'VirtualBox VMs'   working_space

cp

Câu lệnh này giúp bạn có thể copy thư mục, tập tin từ thư mục này sang thư mục khác

$ cp abc.txt /abc/files/

Câu lệnh trên sẽ thực hiện việc copy file abc.txt vào trong thư mục /abc/files/

mv

Câu lệnh này cho phép bạn di chuyển các thư mục và tập tin từ thư mục này sang thư mục khác. Ngoài ra nó còn có thể đổi tên file được di chuyển

mv ~/Document/document ~/Learning/NoImportant/NoAcess/

Câu lệnh trên sẽ di chuyển thư mục document sang thư mục NoAccess

Hoặc bạn muốn đổi tên 1 file hoặc thư mục thì nhập tên file hiện tại và tên file mới thôi

mv ~/Document/test.txt ~/Learning/NoImportant/demo1.txt

mkdir

Câu lệnh này cho phép bạn tạo mới 1 thư mục trống ở thư mục hiện tại

mkdir some-folder

Trong trường hợp thư mục đã tồn tại nó sẽ hiện thông báo lỗi

mkdir some-folder
mkdir: cannot create directory ‘some-folder’: File exists

rm -rf

Câu lệnh này sẽ cho phép xóa file hoặc thư mục

rm -rf abc.txt some-folder

hoặc xóa folder có thể sử dụng cả câu lệnh rmdir

rmdir some-folder

touch

Touch cho phép tạo 1 file mới mà không có nội dung bên trong

touch demo.txt

cat

Cho phép xem nội dung của file và tạo 1 file mới có nội dung từ file cũ

  • Xem nội dung của file
cat demo.txt
  • Tạo file mới
cat demo.txt > demo2.txt

chmod

Lệnh này dùng để phân quyền tập tin và thư mục

  • 0: (000) No permission.
  • 1: (001) Execute permission.
  • 2: (010) Write permission.
  • 3: (011) Write and execute permissions.
  • 4: (100) Read permission.
  • 5: (101) Read and execute permissions.
  • 6: (110) Read and write permissions.
  • 7: (111) Read, write, and execute permissions. VD: Muốn set tất cả các quyền cho thư mục demo
chmod 777 demo
drwxr-xr-x  2 le   le   4096 Thg 2 20 21:50  demo/

find

Lệnh này cho phép bạn nhanh chóng tìm kiếm 1 tập tin và thư mục. Nó hữu ích với dự án lớn, có chứa hàng nghìn tập tin và thư mục

find path -name filename
#Tìm kiếm tập tin index.js trong thư mục hiện tại
find . -name index.js
#Tìm kiếm tất cả những file .js trong thư mục hiện tại
find . -name "*.js"

alias

Câu lệnh này cho phép bạn đặt tên mình thích cho 1 câu lệnh hoặc 1 chuỗi lệnh. Sau đó bạn nhập tên viết tắt và câu lệnh sẽ được thực thi

alias cls=clear
cls
alias demo="cd ~/home/learning/demo"

chown

Câu lệnh này cho phép bạn thay đổi chủ sở hữu và nhóm sở hữu của 1 thư mục hoặc tập tin

sudo chown dave:mamy example.txt

Câu lệnh trên sẽ giữ user dave là chủ sở hiểu file và đặt user mary làm chủ sở hữu của nhom

Để thay đổi chủ sở hữu file và chủ sở hữu nhóm thành mary

sudo chown mary:mary example.txt

curl

Câu lệnh này dùng để lấy thông tin và tập tin từ url trên internet. Lệnh curl có thể không được cung cấp mặc định trong linux, để sử dụng được câu lệnh này thì bạn cần phải cài đặt curl trước

sudo apt-get install curl

Giả sử bạn muốn lấy một tệp được lưu trên github, github không hỗ trợ việc download 1 file về. Tuy nhiên sử dụng curl sẽ lấy được tập tin mà chúng ta cần

curl https://raw.githubusercontent.com/torvalds/linux/master/kernel/events/core.c -o core.c
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  313k  100  313k    0     0  1375k      0 --:--:-- --:--:-- --:--:-- 1375k

df

Câu lệnh này sẽ hiển thị kích thước, % sử dụng, % còn trống của hệ thống tập tin của hệ thống Các thông số tùy chọn hữu ích -h(thông tin con người có thể đọc được ), thông số hiển thị bằng MB, GB thay vì hiển thị bằng Byte

df
Filesystem     1K-blocks     Used Available Use% Mounted on
udev             3916868        0   3916868   0% /dev
tmpfs             790860     1800    789060   1% /run
/dev/sda2      229192044 27706700 189773344  13% /
tmpfs            3954292   201516   3752776   6% /dev/shm
tmpfs               5120        4      5116   1% /run/lock
tmpfs            3954292        0   3954292   0% /sys/fs/cgroup
/dev/sda1         523248     6196    517052   2% /boot/efi
tmpfs             790856       68    790788   1% /run/user/1000
df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            3,8G     0  3,8G   0% /dev
tmpfs           773M  1,8M  771M   1% /run
/dev/sda2       219G   27G  181G  13% /
tmpfs           3,8G  188M  3,6G   5% /dev/shm
tmpfs           5,0M  4,0K  5,0M   1% /run/lock
tmpfs           3,8G     0  3,8G   0% /sys/fs/cgroup
/dev/sda1       511M  6,1M  505M   2% /boot/efi
tmpfs           773M   72K  773M   1% /run/user/1000

diff

Câu lệnh này thực hiện so sánh 2 tập tin với nhau và cho thấy sự khác biệt giữa chúng

Tùy chọn

-y cho phép tùy chọn hiển thị của các dòng khác nhau
-w cho phép tùy chọn chiều rộng của các dòng để dễ nhìn hơn
--suppress-common-lines tập trung vào các dòng có sự khác biệt

$ diff -y -W 70 demo1.txt demo2.txt --suppress-common-lines
cdf				  |	   123

free

Câu lệnh này hiển thị thông tin bộ nhớ Ram và SWap của máy tính

Tùy chọn -h cho phép thông tin hiển thị ra thân thiện với người dùng (người dùng có thể đọc được )

free
              total        used        free      shared  buff/cache   available
Mem:        7908584     1633072     3499020      551712     2776492     5442080
Swap:       2097148           0     2097148
free -h
              total        used        free      shared  buff/cache   available
Mem:           7,5G        1,5G        3,3G        567M        2,7G        5,2G
Swap:          2,0G          0B        2,0G

grep

Lệnh này dùng để tìm kiếm các dòng có nội dụng giống với nội dung search

grep abc *.txt
demo1.txt:abc
demo2.txt:abc

gzip

Dùng để tạo file nén cho tập tin thư mục. Theo mặc định khi thực hiện lệnh này nó sẽ xóa file gốc và để lại cho bạn file được nén. Để giữ lại file nén thì bạn cần thêm tùy chọn -k

gzip -k demo2.txt
ls -l demo*
-rw-rw-r-- 1 le le 39 Thg 2 20 22:32 demo1.txt.gz
-rw-rw-r-- 1 le le  8 Thg 2 20 22:32 demo2.txt
-rw-rw-r-- 1 le le 38 Thg 2 20 22:32 demo2.txt.gz

head

Lệnh này sẽ hiển thị cho bạn 10 line đầu tiên của file. Trong trường hợp bạn không muốn hiển thị nhiều như vậy thì thêm tùy chọn -n number thay number bằng số dòng của bạn

head demo1.txt
head -n 5 demo1.txt

history

Lệnh này sẽ liệt kê tất cả các lệnh mà bạn đã từng sử dụng trên command line

history
359  free
  360  free -h
  361  grep abc *.txt
  362  ls
  363  clear
  364  gzip demo1.txt
  365  ls
  366  gzip -k demo2.txt
  367  ls
  368  ls -l *demo
  369  ls -l demo*
  370  head demo2.txt
  371  head -nn 1 demo2.txt
  372  head -n 1 demo2.txt
  373  history

Bạn có thể chạy lại bất cứ lệnh nào từ lịch sử của mình bằng các thêm ! vào trước số thứ tự của lệnh trong lịch sử

VD: Bạn muốn chạy lại câu lệnh clear từ lịch sử thì gõ vào

!363

kill

Lệnh này cho phép chấm dứt 1 chương trình bằng dòng lệnh. Để thực hiện được việc này thì bạn cần cung cấp ID của chương trình (PID)

Để tìm được PID của chương trình thì chúng ta dùng lệnh

ps aux | grep teen_chuongw_trình

lệnh trên sẽ trả về pid của chương trình cần. Sau đó thưc hiện lệnh kill

kill pid hoặc kill -9 pid

less

Less cho phép xem nội dung của file mà không cần trình soạn thảo. Nó nhanh hơn và tránh được khả năng bạn vô tình sửa nội dung của file.

less demo.txt

Kết

Trên đây mình giới thiệu với các bạn một số câu lệnh thông dụng trong linux, để sử dụng linux thuận tiện hơn.

Ở bài sau mình sẽ bổ sung thêm những câu lệnh tiện dụng khác


All Rights Reserved