学bds小收获之实用alias集锦

alias命令用来设置指令的别名。我们可以使用该命令可以将一些较长的命令进行简化。使用alias时,用户必须使用单引号’‘将原来的命令引起来,防止特殊字符导致错误。

注意点

  • alias命令的作用只局限于该次登入的操作。若要每次登入都能够使用这些命令别名,则可将相应的alias命令存放到bash的初始化文件/etc/bashrc中。
  • 定义的alias 可以保存到~/.bashrc 或者~/.bash_profile文件中,但我倒是比较喜欢用单独的文件~/.bash_alias

可以用alias查看本机所用的alias


alias
alias l.='ls -d .* --color=auto'
alias ll='ls -lath'
alias ls='ls --color=auto'
alias vi='vim'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

自己日常使用的alias

1. 日期类

alias today="date +%Y%m%d"
alias week="date +%U"
alias wkday='echo "week"$(date +%U)_day`expr $(date +%w) + 1`'


 
 alias now='watch -n1 "date '+%D%n%T'|figlet -k|lolcat"' #`lolcat`是用于显示彩色字符的,骚气操作

echo $(fortune)  | cowsay | toilet --metal -f term
echo $(wkday)  | toilet -f slant | lolcat

2. 科研项目类

# 1. 用上面的wkday创造当日的目录
alias crdiary='touch $(wkday).log' 

# 2. 剪切和粘贴
alias setclip="xclip -selection c" 
alias getclip="xclip -selection c -o"

# 3. 偷懒的R操作,预装ggplot的themes
alias chRtheme='vim /nethome/whh/default/plot/ggthemes.R'  
format(Sys.time(), "%Y%d%m")

>Usage
You can now use setclip and getclip, e.g:
$ echo foo | setclip
$ getclip
foo

更进一步。。。

上一些高阶的alias用法,收着看,引用自给alias的命令传递自定义参数

alias用法格式: alias name text 在text中要得到用户传递的参数可以使用以下方式:
/!:1 表示第1个参数
/!:2* 表示第2个及余下的所有参数
/!* 表示所有参数

alias test_val '@ z = (/!*) ;echo $z' 
test_var  1 + 1
2

下面的alias将实现”查出用户名为xddai的名为用户传递参数的所有进程号,并传递给kill,将其kill掉:
alias mykill 'ps -u xddai | grep /!:1 | awk' "'"'{print $1}'"'|xargs kill"
如使用mykill java可以kill掉用户名为xddai的所有java进程

注意:单引号’内的字符串不会为shell解释掉,也就是说$1不会变成空,这样实实际的命令变成:
ps -u xddai | grep !:1 | awk '{print $1}'|xargs kill

哈哈,😏其实也就是一种变相的小脚本

  • 简易小白参考:http://man.linuxde.net/alias
  • 学习视频:https://www.rosehosting.com/blog/how-to-create-bash-aliases/

Comments