我发现
this文章讨论了一种快速排序bash历史记录并查看最常用命令的方法:
cut -f1 -d" " .bash_history | sort | uniq -c | sort -nr | head -n 30
它真的打开了你的眼睛,你应该为哪些任务创建别名,以及你应该完全忘记哪些任务.
我很想看到一个推荐的命令行别名的ServerFault列表,可以节省您的工作时间.你有什么?
在我们之间,我敢打赌,我们可以每天至少10分钟保存每个阅读此帖子的用户. (减去第一天他们浪费所有时间阅读ServerFault而不是当然做他们的工作!)
我处理了很多不同的机器,所以我最喜欢的是我需要经常SSH到的每台机器的别名:
alias claudius="ssh dinomite@claudius"
设置好的.ssh/config
和ssh keys也可以使机器之间的跳跃变得更加容易.
另一个我最喜欢的别名是移动目录:
alias ..="cd .." alias ...="cd ../.." alias ....="cd ../../.." alias .....="cd ../../../.."
还有一些常用的ls(和拼写错误)变种:
alias ll="ls -l" alias lo="ls -o"alias lh="ls -lh" alias la="ls -la" alias sl="ls" alias l="ls" alias s="ls"
我几乎总是想要egrep:
alias grep="egrep"
从所有部分获取手册页
alias man="man -a"
我经常发现自己通过awk输出输出以获得输出的某一列,如df -h | awk'{print $2}’查找每个磁盘的大小.为了使这更容易,我在.bashrc中创建了一个函数fawk:
function fawk { first="awk '{print " last="}'" cmd="${first}\$${1}${last}" eval $cmd }
我现在可以运行df -h | fawk 2,它可以节省很多打字.
我使用很多Perl,需要知道系统上安装的模块版本:
function perlmodver { perl -M$1 -e 'print "Version " . $ARGV[0]->VERSION . " of " . $ARGV[0] . " is installed.\n"' $1 }