Professional Documents
Culture Documents
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
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
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
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
- 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
- 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.
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:
$ 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:
$ exit
File cấu hình Shell
https://speakerdeck.com/62gerente/bash-introduction?slide=8
- ls, mkdir, cd, pwd, touch, realpath, cp, mv, rm, rmdir
- find, locate
Debug:
- which php: xem đường dẫn tuyệt đối đến lệnh `php`
4 loại lệnh:
- Executable file: file thực thi được, git, php, docker, go…
- 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
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
PATH=/home/myhome/custombin:$PATH
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
- 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
-<
- ls -1 | wc -l
Cài đặt phần mềm
- apt
- yum
- *.deb
- 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