Skip to content

Instantly share code, notes, and snippets.

@oNguyenNgocTrung
Last active February 22, 2019 06:47
Show Gist options
  • Save oNguyenNgocTrung/fa32d09168b16cca4d63081824afead5 to your computer and use it in GitHub Desktop.
Save oNguyenNgocTrung/fa32d09168b16cca4d63081824afead5 to your computer and use it in GitHub Desktop.
Bash Command

Một số phím tắt cơ bản khi sử dụng

  • Up/Down Arrows: Dùng mũi tên lên xuống để di chuyển qua lại các câu lệnh đã thực hiện trước đây.
  • Home và End: Di chuyển con trỏ lên đầu or cuối dòng trong câu lệnh hiện tại.
  • Ctrl+A và Ctrl+E: tương tự với 2 phím HomeEnd
  • Ctrl+K: Xóa từ vị trí con trỏ đến cuối dòng.
  • Ctrl+W: Xóa từ vị trí con trỏ đến đầu dòng.
  • Crtl+Left và Ctrl+Right: Di chuyển giữa các từ trong câu lệnh.
  • Ctrl+U: Xóa lệnh.
  • Ctrl+L: Clear Screen tượng tự với lệnh clear
  • Ctrl+H: Xóa chữ trước con trỏ tương tự phím xóa(backspace)
  • Ctrl+T: Đổi chỗ 2 chũ cuối cùng trước con trỏ.
  • Esc+T: Đổi chỗ cho 2 từ cuối cùng trước con trỏ.

Tìm kiếm các lệnh đã chạy trong history

Show các lệnh trong quá khứ với history.

Ví dụ:

Nhập 2 lệnh:

$ cd
$ ls

Sau đó truy vấn bằng lệnh history

$ history
379 cd
380 ls

379, 380 là id của lệnh đã được nhập. Bạn có thể gọi lại bằng cách !<history line number>, ví dụ:

$ !379

Lệnh này sẽ gọi lại lệnh cd vừa gõ ở trên.

Ngoài ra có thể gõ lại lệnh trước đó bằng shortcut !-1 thay vì dùng phím mũi tên lên.

Để xóa history:

$ history -c

TÌm kiếm history với grep {#grep}

$ history | grep 'từ cần tìm'

Lệnh trên sẽ trỏ toàn bộ output của history vào grepgrep sẽ trích ra các từ cần tìm. (Tìm hiểu thêm về lệnh grep tại đây)

Sử dụng chức năng tìm kiếm của shell

  • Ctrl+r: Dùng shortcut trên để trả về prompt:
(reverse-i-search)`': gõ từ khoá muốn tìm ở đây
  • Ctrl+g: Thoát chức năng tìm kiếm.

Tìm kiếm history với tiện ích peco

Peco là một tiện ích giúp pipe output vào một màn hình mà ở đó bạn có thể filter được các chuỗi kí tự tuỳ ý.

Để tìm hiểu thêm bạn có thể đọc tại https://github.com/peco/peco

  • Cách cài đặt

Trên Ubuntu:

install golang:

$ sudo add-apt-repository -y ppa:ubuntu-lxc/lxd-stable
$ sudo apt-get -y update
$ sudo apt-get -y install golang

Thêm 2 dòng sau vào file .bashrc(.zshrc nếu bạn dùng zsh)

export GOPATH="$HOME/.go"
export PATH=$PATH:$HOME/.go/bin

Cài đặt peco

wget https://github.com/peco/peco/releases/download/v0.2.9/peco_linux_amd64.tar.gz
tar -C -xzf peco_linux_amd64.tar.gz
sudo mv /peco_linux_amd64/peco /usr/local/bin/

Trên Mac chỉ cẩn cài đăt:

$ brew install go
$ brew install peco

Để sử dụng peco lấy thông tin trong history và gắn shortcut Ctrl+r để select history ta thêm đoạn code sau vào file .bashrc(.zshrc nếu bạn dùng zsh)

function peco-select-history() {
  local tac
  if which tac > /dev/null; then
      tac="tac"
  else
      tac="tail -r"
  fi
  BUFFER=$(\history -n 1 | \
      eval $tac | \
      awk '!_[$0]++' | \
      peco --query "$LBUFFER")
  CURSOR=$#BUFFER
  zle clear-screen
}
zle -N peco-select-history
bindkey '^r' peco-select-history
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment