一波实用的Bash Shell整理

2019-09-23 09:25:36王振洲

  alias genpasswd="strings /dev/urandom | grep -o '[[:alnum:]]' | head -n 30 | tr -d 'n'; echo" 

只是瞬间产生一个强壮的密码。

2015629113917494.jpg (283×57)

  alias c="clear"

清除你终端屏幕不能更简单了吧?

  alias histg="history | grep"

快速搜索你的命令输入历史:histg [关键字]

  alias ..='cd ..'

回到上层目录还需要输入 cd 吗?

  alias ...='cd ../..'

自然,去到上两层目录。

  

 extract() { 
    if [ -f $1 ] ; then 
     case $1 in 
      *.tar.bz2)  tar xjf $1   ;; 
      *.tar.gz)  tar xzf $1   ;; 
      *.bz2)    bunzip2 $1   ;; 
      *.rar)    unrar e $1   ;; 
      *.gz)    gunzip $1   ;; 
      *.tar)    tar xf $1   ;; 
      *.tbz2)   tar xjf $1   ;; 
      *.tgz)    tar xzf $1   ;; 
      *.zip)    unzip $1    ;; 
      *.Z)     uncompress $1 ;; 
      *.7z)    7z x $1    ;; 
      *)   echo "'$1' cannot be extracted via extract()" ;; 
       esac 
     else 
       echo "'$1' is not a valid file" 
     fi 
  }

很长,但是也是最有用的。解压任何的文档类型:extract: [压缩文件]
系统信息

想尽快地知道关于你的系统一切信息?

  alias cmount="mount | column -t"

按列格式化输出mount信息。

2015629113941637.jpg (640×344)

  alias tree="ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^/]*//--/g' -e 's/^/  /' -e 's/-/|/'" 

以树形结构递归地显示目录结构。

  sbs() { du -b --max-depth 1 | sort -nr | perl -pe 's{([0-9]+)}{sprintf "%.1f%s", $1>=2**30? ($1/2**30, "G"): $1>=2**20? ($1/2**20, "M"): $1>=2**10? ($1/2**10, "K"): ($1, "")}e';} 

安装文件在磁盘存储的大小排序,显示当前目录的文件列表。

  alias intercept="sudo strace -ff -e trace=write -e write=1,2 -p" 

接管某个进程的标准输出和标准错误。注意你需要安装了 strace。

  alias meminfo='free -m -l -t'

查看你还有剩下多少内存。

2015629114001693.jpg (640×157)

  alias ps? = "ps aux | grep"

可以很容易地找到某个进程的PID:ps? [名字]。

  alias volume="amixer get Master | sed '1,4 d' | cut -d [ -f 2 | cut -d ] -f 1"

    显示当前音量设置。

2015629114043981.jpg (127×59)