You are on page 1of 34

Tìm Hiểu Về

Command Line
Trên Linux
Bảng Phân Công Các
thành Viên Trong Nhóm

Họ Tên MSSV
Lê Hoài Phong 2001181259
Phạm Song Toàn 2001181369
Võ Thanh Quy 2001180394
Nội Dung
Terminal là
Sử Dụng
gì ?
Command Line

Shell là gì ? Ví Dụ & Demo


GIỚI
THIỆU
Bài thuyết trình này sẽ đưa ra cách sử dụng terminal, một
số command cơ bản, giúp các bạn mới sử dụng Linux
không còn các câu hỏi ngớ ngẩn như "em cài composer
rồi mà gõ lệnh không được", "em chạy lệnh bị lỗi, thử
chạy bằng sudo cũng không được", "người ta bảo em
chạy câu lệnh này nhưng em chạy không được", "em
search ra lệnh này nhưng chạy cũng không được", hay
"HELP! HELP!! Sau khi chạy lệnh thì máy tính không khởi
động được"
01
Terminal là
gì ?
Terminal là gì ?

Nếu bạn là người dùng Linux hay đang bắt đầu tìm hiểu về Linux thì sẽ không
còn xa lạ với từ terminal, trong các hướng dẫn thường có các câu kiểu như
"mở terminal lên và chạy lệnh" hay "mở terminal để compile chương trình"...
Cái tên terminal được bắt nguồn từ một loại máy tính trong những thập niên
1960, 1970. Vì thế, các chương trình terminal trong Linux thường được gọi là
terminal emulator (giả lập terminal). Windows cũng có một dạng terminal gọi là
"command prompt" hay "cmd" có nguồn gốc từ HĐH MS-DOS trong những
năm 1980.
Open Command
Line
Terminal Emulator Console mode

CRTL + ALT + T CRTL + ALT + F4


Môi ➢ Ubuntu
trường ➢

MacOS
Windows(git bash hoặc WSL)
thực ➢ Android(app Termux)

hành
Các thuật ngữ hay Command Line
gặp
thao tác dòng lệnh, thao tác
bằng cách gõ text, làm việc
với text...

Termina
Shell
l
phần mềm (app) để gõ lệnh và hay command line interpreter,
xem kết quả của lệnh (command) đọc input, thực thi lệnh và trả
về output, còn được gọi là,
bash, zsh <=> php, ruby,...
Cấu trúc Command
Ngăn cách
bằng space

$ command ப [-options] ப [arguments]

arguments
command
- ls, pwd, npm, php,... - php artisan make:models Game
- ./vendor/bin/phpunit - rm file.a 'file has space.b'
- /home/ubuntu/command/fortune - mkdir New\ Folder
Option - git add *.php

- php artisan serve --port=8008


- sudo docker ps -a
- git commit -m 'Initial commit'
Cấu trúc command

- Xem gợi ý cách dùng command: command --help hoặc command -h hoặc man command
- Options hoặc arguments mà đặt trong [] có nghĩa là không bắt buộc, còn <> là bắt buộc.
VD: lệnh trên yêu cầu bắt buộc nhập argument name,còn các options là không bắt buộc
Các biện pháp chống
mỏi tay
- Sử dụng TAB completion

- Tìm kiếm lệnh đã chạy lần trước: dùng up/down arrow key hoặc tổ hợp

CTRL + R, CTRL + S, CTRL + G

- Sử dụng argument của lần chạy trước:


vi app/Model.php
gift diff !$

- Dùng wildcard: `ls ?.php` => a.php, b.php, `ls *.php` => a.php, abc.php
- Sử dụng phím up/down array hiệu quả
https://askubuntu.com/questions/59846/bash-history-search-partial-up-arro
w

## arrow up
+ Edit file ~/.inputrc
"\e[A":history-search-backward
## arrow down
"\e[B":history-search-forward
Sử dụng phím tắt
02
Shell là gì ?
Đầu tiên ta cần hiểu shell là gì. Shell hiểu một cách đơn giản là 1
chương trình nhận và phiên dịch các câu lệnh (command-line) dưới
dạng text, nó là interface để ta tương tác với hệ thống.
Linux cung cấp cho ta rất nhiều shell nhưng các shell phổ biến nhất hiện
nay là: bash, sh, tcsh, csh, ksh, zsh. Các bạn chỉ cần lưu tâm 2 điều:
bash shell là shell phổ biến nhất, sẽ nằm trong nội dung chương trình và
sh đóng vai trò là pointer trỏ đến bash shell hoặc các shell khác.

Shell có hai kiểu:

● Default interactive shell:


○ user nhập lệnh và chạy chương trình trên shell này
● Default system shell:
Tương tác với Shell

Nếu các bạn cài Linux không có giao diện GUI thì khi khởi động máy bạn được đưa
trực tiếp vào default shell. Ngược lại nếu bạn có GUI thì bạn hãy tìm chương trình
terminal và chạy nó. Hãy bắt đầu với các câu lệnh đơn giản:

Thể hiện thông tin hệ thống:

$ uname -a
Linux localhost.localdomain 3.10.0-957.el7.x86_86_64 #1 SMP Thu Nox 8 23:39:32 UTC 2018
x86_64 GNU/Linux
Tính thời gian thực thi xong một lệnh

$ time pwd
real 0m0.000s
user 0m0.000s
sys 0m0.000s
Chấm dứt 1 shell:

Thoát khỏi shell bất kỳ nào

$ exit
File cấu hình Shell

Ta cấu hình Shell thông qua file có định dạng plain-text.


File cấu hình của bash thực chất là một bash shell scipts.
Một vài ví dụ về các file cấu hình shell có thể kể đến như:
~/.bashrc và /etc/profile. Các bạn có thể tùy chỉnh các file
cấu hình này mà không cần biết nhiều shell script, nhưng
hãy backup file gốc chạy thử nếu có gì đó không ổn thì
restore.
Linux Help

Linux có đến hàng tá lệnh và


không phải lúc nào bạn cũng
có thể nhớ hết các lệnh cũng
như các option của nó, nên
hệ thống hỗ trợ bạn với lệnh
man (manual) như là cuốn
hướng dẫn sử dụng các lệnh
vậy.
03
Sử dụng
Command
Line
Một Số Lệnh Cơ Bản

https://speakerdeck.com/62gerente/bash-introduction?slide=8

- ls, mkdir, cd, pwd, touch, realpath, cp, mv, rm, rmdir

- cat, less, more, head, tail, wc, grep, nano, vim

- find, locate

- df, du, top, htop, ps, uname, lsb_release

- time, cal, date

- diff, colordiff, json_pp


Đường dẫn tuyệt
đối và tương đối
- Absolute path
- Relative path
+ Đường dẫn bắt đầu từ
thư mục gốc / + Không bắt đầu từ thư
mục gốc /
VD:
/home/ubuntu/php/proje VD: ~/php/project
ct hoặc ./vendor/bin/phpunit
hoặc vendor/autoload.php
Các lệnh sinh ra ở đâu

Debug:

- which php: xem đường dẫn tuyệt đối đến lệnh `php`

- type php: xem lệnh `php` thuộc loại nào


Các lệnh sinh ra ở đâu

4 loại lệnh:

- Executable file: file thực thi được, git, php, docker, go…

- Shell builtin: command do shell cung cấp

- Shell function: giống như các function thông thường trong lập
trình, nhưng thực thi được bởi shell

- Alias: tạo thành từ các lệnh khác, VD: alias gst='git status'
Các lệnh sinh ra ở đâu

Biến môi trường PATH


- Chứa đường dẫn đến các thư mục chứa executable file
- VD, khi bạn gõ lệnh `ls` ➡️shell sẽ tìm trong các thư mục được chỉ
định trong PATH xem có file nào tên là `ls` hay không ➡️nếu có
shell sẽ thực thi file đó.
- Những thư mục được khai báo trước sẽ được ưu tiên hơn

PATH=/home/ubuntu/.config/composer/vendor/bin:/home/ubuntu/.npm-
global/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin
“Thêm” Lệnh

- Thêm thư mục vào biến môi trường PATH:


Sửa file ~/.bashrc hoặc ~/.zshrc tương ứng với Bash hoặc Zsh shell
(Kiểm tra shell đang dùng bằng lệnh: echo $0)

PATH=/home/myhome/custombin:$PATH

Restart terminal hoặc dùng lệnh để update: source ~/.bashrc

Kiểm tra
echo $PATH
PATH='' ls
“Thêm” lệnh

- Tạo symbolic link vào một trong các thư mục trong PATH:
Tức là tạo shortcut của file vào 1 trong các thư mục trong PATH

sudo ln -s ~/Downloads/composer.phar /usr/local/bin/composer


“Thêm” lệnh

- Tạo alias

Giống như việc khai báo biến môi trường, alias cũng được khai báo trong các file
~/.bashrc, ~/.zshrc:

alias composer="~/Downloads/composer.phar"

Thamkhảo:
https://viblo.asia/p/back-to-basic-linux-command-line-part-2-m68Z0MXNlkG
Chuyển hướng I/O

- git diff > diff.patch

- php artisan command >> storage/logs/command.log

-<

- ls -1 | wc -l
Cài đặt phần mềm

- apt

- yum

- *.deb

- *.tar.gz => chmod +x

- ppa
Bored panda

- `fortune | cowsay`
- `cowsay -f tux 'Wat du ju thinh'`, `/usr/share/cowsay/cows/`
- pipes.sh
- neofetch
- screenfetch
- cmatrix
- edex-ui
04
Ví Dụ & Demo
Thanks!
Do you have any questions?

phongle05052000@gmial.com
songtoan@gmail.com

CREDITS: This presentation template was created by Slidesgo,


including icons by Flaticon, and infographics & images by Freepik.

You might also like