peri hokiperihokiclarustologisticsrimashaop.compola taktis menang gates of olympus x1000 perihokipemain perihoki bongkar trik jepep starlight princess x1000perihoki beri panduan lengkap bermain mahjong ways 2 pgsofttips cara penghasil uang pgsoft mahjong ways 2 perihokimahjong wins 3 perihoki memberikan penggali terbesarfenomena gates of olympus buka peluang besar bagi duta76cara dapat pola emas rahasia di duta7 wild west goldtrik menang pgsoft mahjong ways 2 modal receh maxwin duta76duta76 main pgsoft mahjong ways 2 di sela istirahatscatter hitam mahjong wins 3 spin pasti jepe duta76perihoki spin mahjong ways 2 pgsoft scatter hitam maxwinsimbol mahjong wins 3 yang sering muncul di awal perihokitrik gampang menang mahjong winscuan mahjong wins 3 tanpa hentipola spin taruhan kecil mahjong winsstrategi kunci scatter hitam beruntungacor total mahjong wayskemenangan maksimal mahjong wayskemenangan pria pekanbaru mahjong waysmahjong wins3 fenomena baru sumatera baratmenangkan mahjong dengan lincahmenembus batas keberuntungan mahjong waysmenjajal keberuntungan di mahjong wayspola gratis mahjong ways1scatter hitam senjata rahasia mahjong winsteknik spinning menguntungkan untuk scatter hitamanalisis rtp tertinggi mahjong winsfenomena scatter hitam mahjong winsibu rumah tangga dan keberuntungan mahjongkeseruan main mahjong wins3menang mahjong pengguna baru di sosial mediamenghargai setiap momen di mahjong waysserunya main mahjong di warung internetspin slow motion mancing scatterstrategi jitu maxwin mahjong waysstrategi jitu menang mahjong modal kecil jackpot besaranak kampung papua menggemparkan mahjongkeajaiban scatter hitam mahjong wayskeberhasilan joni mahjong winskejaiban mahjong ways di ujung jalanketua mahjong wins3 kehadiran kemenangan dimulai dari balimahjong kehadiran yang menguntungkanmahjong menggila adat88panduan kilat raih 108 jutatips memenangkan mahjongbarista kopi menang 110 juta spin mahjongdakota76 scatter hitam mahjong wins 3gagal cpns menang mahjong wins 3 rp120 jutakisah karyawan minimarket dapat thr lebih awal mahjong winskisah pelajar sma kuasai mahjong wins 3 inspirasi sekolahkisah penjaga parkir tanah abang motor baru mahjong winskisah sukses ibu rumah tangga bandung mahjong winsmahasiswa kkn beli iphone15 mahjong wins3 dakotamantan anak band influencer mahjong scatter hitampola rtp senin gates of olympus guru matematikaidola scatter hitam gampang meledakidola sensasi jackpotidola pola scatter hitamidola hasilkan jackpot dalam waktu singkatidola mahjong wins 3 bocortukang cuci motor menemukan keberuntungan di mahjong

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time

Filename: Session/Session.php

Line Number: 282

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: session_set_cookie_params(): Cannot change session cookie parameters when headers already sent

Filename: Session/Session.php

Line Number: 294

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time

Filename: Session/Session.php

Line Number: 304

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time

Filename: Session/Session.php

Line Number: 314

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time

Filename: Session/Session.php

Line Number: 315

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time

Filename: Session/Session.php

Line Number: 316

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time

Filename: Session/Session.php

Line Number: 317

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time

Filename: Session/Session.php

Line Number: 375

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: ini_set(): Headers already sent. You cannot change the session module's ini settings at this time

Filename: drivers/Session_files_driver.php

Line Number: 108

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: session_set_save_handler(): Cannot change save handler when headers already sent

Filename: Session/Session.php

Line Number: 110

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: session_start(): Cannot start session when headers already sent

Filename: Session/Session.php

Line Number: 143

Backtrace:

File: /home/blogchuabenh/domains/freetuts.net/public_html/site/controllers/Main_controller.php
Line: 10
Function: __construct

File: /home/blogchuabenh/domains/freetuts.net/public_html/sources/index.php
Line: 299
Function: require_once

File: /home/blogchuabenh/domains/freetuts.net/public_html/index.php
Line: 26
Function: require_once

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

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.

test php

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.

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é.

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.

Bài viết này được đăng tại [free tuts .net]

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:

Hướng dẫn cấu hình Mail Server trên CentOs 6.5

Hướng dẫn cấu hình Mail Server trên CentOs 6.5

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

Top