Lệnh alias trong Linux: Tự đặt tên cho câu lệnh của bạn

Trong bài này chúng ta sẽ học cách sử dụng lệnh alias trong Linux, đây là lệnh dùng để đặt một tên khác gọn hơn cho những dòng lệnh phức tạp.

Lệnh alias linux rất hữu ích trong trường hợp bạn có một dòng lệnh quá dài, và bạn muốn rút gọn lại nó để những lần sau sử dụng sẽ viết đơn giản hơn. Chi tiết thế nào thì chúng ta cùng tìm hiểu ngay nhé.

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

1. Lệnh alias trong Linux là gì?

Trong Linux có một công cụ thu gọn lệnh rất tiên lợi và ta gọi là Alias, vậy Alias là một cách khai báo các lệnh viết tắt nhằm tiết kiệm thời gian gõ phím và dễ nhớ hơn. Thay vì bạn gõ một dòng lệnh dài hàng trăm chử thì bạn chỉ việc gõ đôi ba chữ là có thể thay thế lệnh đó được.

Theo mặc định các lệnh viết tắt được lưu trữ trong file ~/.bashrc hoặc ~/.bash_profile, trong đó dấu ~ là viết tắt cho thư mục home của bạn. Ví dụ thư mục home của bạn là /home/nickfarrow/ thì file đó sẽ là /home/nickfarrow/.base_profile.

Theo nội dung hướng dẫn trong file .bash_profile như sau:

# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.
if [ -f ~/.bash_aliases ]; then
 . ~/.bash_aliases
fi

Nó nói các bạn nên viết định nghĩa các lệnh alias ra một file riêng, ví dụ như ~/.bash_aliases rồi load nó bằng câu lệnh ~/.bash_aliases. Cái này thì tùy, mình viết luôn vào file .bash_profile cũng được.

Khi muốn hiện danh sách các câu lệnh viết tắt của alias thì bạn gõ lệnh trên terminal:

alias

Thì lúc này trên màn hình terminal sẽ hiển thị danh sách các alias dạng như sau:

lenh alias trong linux 1 png

Muốn thêm một định nghĩa alias thì các bạn mở file .bash_profile hoặc .bashrc (hoặc file chứa alias mà bạn tự định nghĩa). Sau đó thêm dòng định nghĩa alias vào, có dạng:

alias tên_alias='câu_lệnh'

Sau đó lưu lại, cập nhật và thay đổi bằng lệnh:

source ~/.bash_profile

Hoặc:

. ~/.bash_profile

2. Các nhóm lệnh alias Linux hay dùng

Sau đây là một số nhóm lệnh mà mình nghĩ nó hay sử dụng nên mình đã đưa vào danh sách các Alias, nếu bạn có nhu cầu thì có thể sử dụng luôn hoặc tham khảo để biết cách tạo mới một alias trong Linux.

CD

Lệnh cd được dùng thường xuyên vì nó là lệnh di chuyển tới các thư mục làm việc. Ví dụ mình thường xuyên vào một số thư mục nên đã viết ngắn lại bằng Alias như sau:

alias cdandr='cd ~/Public/android-sdk-linux/platform-tools/'
alias cdcpd='cd /var/www/Idealive/cookpad/'
alias cddt='cd /var/www/ScriptOne/delta_v/'
alias cdfreelv='cd /var/www/Freelancer/Laravel/'
alias cdidl='cd ~/www/Idealive/'
alias cdnode='cd /home/nickfarrow/www/Script2/Nodejs/'
alias c='clear' # clear screen
alias ..='cd ..' # Lên thư mục trên 1 cấp
alias ...='cd ../..' # Lên 2 thư mục
alias cl='clear && ls' # clear screen xong list file trong mục hiện thời.

SSH

SSH - Secure Shell dùng để đăng nhập từ xa một cách an toàn. Nếu bạn muốn tiết kiệm thời gian gõ lệnh thì hãy bổ sung các Alias vào.

Ví dụ:

alias sshalpha2='ssh root@133.242.54.69'
alias sshcpad='ssh -i ~/www/Idealive/cookpad/cookpad-diet_opensshkey kpd@mgr.cookpad-diet.jp'
alias sshicts='ssh root@128.199.83.216'
alias sshredm='ssh idea_rm@133.242.60.174'

Như ở dòng số hai bạn thấy thay vì phải gõ một đoạn khá dài là:

ssh -i ~/www/Idealive/cookpad/cookpad-diet_opensshkey kpd@mgr.cookpad-diet.jp

Thì mình chỉ cần gõ sshcpad là xong.

Grep, find

Các lệnh grep, find rất hay dùng khi tìm kiếm file, từ khóa trong file. Ví dụ bạn muốn tìm tất cả các từ "menber" trong thư mục project:

grep -rl "menber" ig_project/

Trong đó tham số:

  • -r lặp lại cho mọi file trong thư mục
  • -l list các file thỏa mãn chứa từ khóa thành các dòng.

Nếu bạn muốn giới hạn chỉ tìm các file .php, rồi sau đó sửa "menber" thành "member" thì như sau:

find . -name "*.php" | xargs grep -rl "menber" $1 | xargs sed -i 's/menber/member/' $1

Sau đây các lênh viết tắt mình hay đặt cho grep, find:

alias grl='grep -rl'
alias grn='grep -rn'
alias grr='grep -r'
alias grrex='grep -r --exclude=-s.3'

Apache, MySQL, PHP (LAMP), MAMP

Một số Alias trong Linux khi sử dụng với Apache:

alias apc_rld='sudo service apache2 reload' # Reload apache 
alias apc_rst='sudo service apache2 restart'
alias tail_apch_err='tail -f /var/log/apache2/error.log' # see error log apache 
alias tailphp='tail -f /var/log/apache2/error.log'
alias vimsite='cd /etc/apache2/sites-available/ && sudo vim $1' # Edit virtual host name

Trên OSX web developer hay dùng MAMP hoặc vagrant. Với MAMP có các lệnh sau hay dùng thường xuyên nên mình đã thu gọn lại:

alias mampsql='/Applications/MAMP/Library/bin/mysql -u root -p'
alias mampctl=' sudo /Applications/MAMP/Library/bin/apachectl restart'
alias vimphost=' vim /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf'
alias tailsql='tail -f /Applications/MAMP/logs/mysql_sql.log'
alias tailsql2='tail -f /Applications/MAMP/logs/mysql_error_log.err'
alias tailphp='tail -f /Applications/MAMP/logs/php_error.log'
alias tailapache='tail -f /Applications/MAMP/logs/apache_error.log'

Git

Phần này đòi hỏi bạn đã có kiến thức cơ bản về Git. Bản thân git đã có tính năng alias. Các bạn có thể tham khảo link này.

Ví dụ: bạn muốn xem thông tin last commit, bạn setting như sau:

git config --global alias.last 'log -1 HEAD'

Như vậy bây giờ chỉ cần gõ “ git last “ là xong. Còn theo cách alias thông thường:

alias gitbr='git branch'
alias gitcm='git commit -m'
alias gitcmnr='git log |grep commit |wc -l' # Đếm số lượng commit 
alias gitco='git checkout'
alias gitdif='git diff'
alias gitpod='git push origin develop'
alias gitpom='git push origin master'
alias gitpuod='git pull origin develop'
alias gitpuom='git pull origin master'
alias gitst='git status'

alias gitcofr='/Users/dungnv/bin/merge_arg.sh' # Lệnh này hơi phức tạp nên mình gọi 1 file script khác

Ví dụ: các bạn có các branch sau trong một project dùng Git:

  • codeception
  • develop
  • feature/accounts
  • feature/encrypt-password
  • feature/front_footer
  • feature/front_list
  • feature/front_profile
  • feature/front_top
  • feature/gui_firefox_install
  • feature/localForVn
  • ...

Rõ ràng việc phải gõ nhiều lần feature/... sẽ tốn thời gian nên mình đặt gọn lại qua đoạn mã sau:

File merge_arg.sh:

#!/bin/bash
FEATURE_FRONT_BRANCH="feature/front_"
FEATURE_FRONT_BRANCH+="$1"
git checkout $FEATURE_FRONT_BRANCH

Bây giờ muốn checkout 1 branch front_profile, đơn giản như sau:

gitcofr profile # Tương đương với ~ git checkout feature/front_profile.

Các lệnh khác

Sau đây là một số lệnh alias khác.

Ping:

alias fastping='ping -c 100 -s.2'
alias ping='ping -c 5'
alias ping100='ping 192.168.100.1'
alias pinggg='ping -n google.com'
alias pinglocal='ping 192.168.1.1'
alias pinglocal0='ping 192.168.0.1'
alias pingyh='ping -n yahoo.com'

Disk use:

alias duh='du -sh' # Đo dụng lượng ổ đĩa sử dụng.
alias dus='du -sh * |sort -n' # Đo dung lượng các thư mục con.

Khác:

alias mysqllogin='mysql -u dungnv -p'
alias temp='sensors' # Đo nhiệt độ, cần cài sensors trước.
alias vimbashrc='vim ~/.bashrc' # Sửa file chứa aliases 
alias sourcebash='source ~/.bashrc && source ~/.bash_profile' # Cập nhật file aliases.

3. Lời kết

Trên đây mình đã trình bày các câu lệnh của một số phần mềm thông dụng trên linux như git, apache, grep ... Do là các câu lệnh thường dùng nên người ta hay viết gọn lại để tiết kiệm thời gian gõ phím. Bài này rất đơn giản nhưng mình nghĩ khá hữu ích. Các bạn có gì bổ sung hay thắc mắc vui lòng comment bên dưới ha.

Tài liệu tham khảo: https://github.com/dungnv53/Hittie/blob/master/Code/.bash_profile

Cùng chuyên mục:

Cách dùng lệnh Users trong Linux để xem user đang online

Cách dùng lệnh Users trong Linux để xem user đang online

Nếu bạn đang là quản trị viên thì việc quản lý thông tin / xem…

Cách sử dụng lệnh Wall trong Linux

Cách sử dụng lệnh Wall trong Linux

Wall là một công cụ dòng lệnh giúp hiển thị thông báo đến tất cả…

Cách dùng lệnh Whereis trong Linux

Cách dùng lệnh Whereis trong Linux

Whereis là một tiện ích dòng lệnh command line, nó cho phép bạn tìm ..

Cách sử dụng lệnh Which trong Linux

Cách sử dụng lệnh Which trong Linux

Linux dùng lệnh which để xác định vị trí file thực thi của lệnh mà…

Cách sử dụng lệnh whoami trong Linux

Cách sử dụng lệnh whoami trong Linux

Giống như tên gọi của nó, lệnh whoami in tên người dùng đang chạy ...

Cách dùng lệnh zcat trong Linux

Cách dùng lệnh zcat trong Linux

Mặc dù tính năng nén file rất hữu ích vì nó giúp ta tiết kiệm…

Hiểu rõ hơn về chmod 777 trong Linux

Hiểu rõ hơn về chmod 777 trong Linux

Bạn đang xây dựng một website và sử dụng tính năng upload ...

Cách sử dụng lệnh tail trong Linux

Cách sử dụng lệnh tail trong Linux

Mặc định thì lệnh tail sẽ hiển thị 10 dòng cuối cùng của file, thông…

Cách sử dụng lệnh Head trong Linux

Cách sử dụng lệnh Head trong Linux

Trong quá trình quản trị dữ liệu trên Linux đôi khi bạn muốn xem nhanh…

Cách sử dụng lệnh Whatis trong Linux

Cách sử dụng lệnh Whatis trong Linux

Trong bài này chúng ta sẽ tìm hiểu lệnh whatis trong ...

Cách sử dụng lệnh kill trong Linux

Cách sử dụng lệnh kill trong Linux

Linux là một hệ điều hành rất nhanh nhưng không phải lúc nào nó không…

Cách dùng lệnh who trong Linux

Cách dùng lệnh who trong Linux

Who là một công cụ dòng lệnh command-line, được ...

Cách dùng lệnh basename trong Linux

Cách dùng lệnh basename trong Linux

basename là một tiện ích dòng lệnh (command line) dùng để lấy ...

Cách sử dụng lệnh gzip trên Linux

Cách sử dụng lệnh gzip trên Linux

Gzip là một trong những thuật toán nén file phổ biến nhất, nó cho phép…

Cách dùng lệnh wait trong Linux

Cách dùng lệnh wait trong Linux

Wait là lệnh dùng để đợi một thời gian cho tới khi công việc nào…

Cách dùng lệnh ping trong Linux

Cách dùng lệnh ping trong Linux

Lệnh ping là một trong những công cụ được sử dụng nhiều nhất để khắc…

Cách dùng lệnh sleep trong Linux

Cách dùng lệnh sleep trong Linux

sleep là một tiện ích command line cho phép lập trình viên ..

Các ví dụ học Bash Script trong Linux cơ bản nhất

Các ví dụ học Bash Script trong Linux cơ bản nhất

Bash Script đuọc xem là mã code lập trình trên Linux ...

Vòng lặp until trong Shell Script

Vòng lặp until trong Shell Script

Vòng lặp while trong Shell Script

Vòng lặp while trong Shell Script

Trong Linux script, vòng lặp while được sử dụng trong ...

Top