linux汇总整理-alias篇

###################################################################################################
# 1、修改方式: #
# 在$HOME下加入自己的.alias文件 #
# 在$HOME/.bash_profile或.bashrc中加入语句: #
# if [ -f ~/.alias ]; then #
# . ~/.alias #
# fi #
# #
# 2、有些情况,我们想使用原生的命令,而不是别名修改后的命令 #
# 在命令前加反斜杠 #
# $\ls #调用的是原始的ls #
# #
###################################################################################################
##################### ls 命令重命名 #####################
# 显示所有目录(只显示父目录)
alias lf='ls -Gl | grep ^d'
# 显示所有目录(显示父目录及子目录)
alias lsd='ls -Gal | grep ^d'
# 显示所有文件
alias l='ls -lAh --color'
# 显示隐藏文件
alias l.='ls -d .* --color=auto'
##################### ls 命令重命名 #####################

##################### cd 命令重命名 #####################
# cd命令重命名
alias ..='cd ..'
alias ...='cd ../../'
alias ....='cd ../../../'
alias .....='cd ../../../../'
alias ......='cd ../../../../../'
##################### cd 命令重命名 #####################

# 显示最常用的30个命令
alias freq='cut -f1 -d" " ~/.bash_history | sort | uniq -c | sort -nr | head -n 30'

alias ll='ls -lh'
alias nicemount="(echo \"DEVICE PATH TYPE FLAGS\" && mount | awk '\$2=\$4=\"\";1') | column -t"
alias du1="du -h --max-depth=1"
alias du2="du -h --max-depth=2"
alias ipaddr="ifconfig -a|grep inet|grep -iv inet6|grep -iv 127.0.0.1 |awk '{print \$2}'"
######################### 类型1: 修改加入默认选项,输入命令不变 ################################
## -v参数,用于操作后显示操作过程。make sure everything under control
alias vi="vim"
alias grep="grep -rnE --color"
alias mkdir="mkdir -pv"
alias cp='cp -rv'
alias mv='mv -v'
alias chmod='chmod -v --preserve-root'
alias chown='chown -v --preserve-root'
alias df="df -h"
alias du="du -h"
alias last="last -a"
alias free='free -m'
alias lftp="lftp user:pwd@ftpip"
#alias ln='ln -s'
######################### 类型2-1:减短命令长度—快速跳转 ###################################
## cds和cdb,主要用作保存当前的工作目录,到其他地方处理事情,搞完之后,cdb再跳转回来,十分好用
## cds:s代表save cdb:b代表back
alias ..="cd .."
alias cdd="cd .."
alias cd..="cd .."
alias ...="cd ../.."
alias ....="cd ../../.."
alias .....="cd ../../../.."
alias -- -='cd -'
alias cds='echo "`pwd`" > ~/.cdsave'
alias cdb='cd "`cat ~/.cdsave`"'


###################### 类型2-2:减短命令长度—其他 ######################################
alias s='sudo'
# 两种类型编码转换
alias gu='iconv -f gbk -t utf-8'
alias ug='iconv -f utf-8 -t gbk'
alias ssh='ssh -2'
alias m='mysql -u root'
# 用sudo编辑文件时
alias sv="sudo vim"
# vim diff两个文件
alias vd='vimdiff'
# 动态查看文件变化
alias tf='tail -f'
# 查看文件列数,用\t分隔,最常用,其实也可以搞个通用的,接收参数
alias af="awk -F '\t' '{print NF}'"
# 统计行数
alias wl='wc -l'
# 用scp时,展示hostname和pwd
alias hpwd='echo -n "`hostname`:";eval pwd'
# 清屏
alias cls="clear"
# 磁盘
alias dus="du -s"
alias du0="du --max-depth=0"
alias du1="du --max-depth=1"
# ls相关,这里--color需要根据终端设
alias ll='ls -al --color=tty'
# sort by extension
alias lx='ls -lhBX --color=auto'
# sort by size
alias lz='ls -lhrS --color=auto'
# sort by date 最常用到,ls -rt,按修改时间查看目录下文件
alias lt='ls -lhrt --color=auto'
# 列出所有目录
alias lsd='find . -maxdepth 1 -type d | sort'
# ping,限制
alias pong='ping -c 5 '
# 查找文件夹
alias dfind='find -type d -name'
# 查找文件
alias ffind='find -type f -name'
# 该权限
alias chux='chmod u+x'
# 查看
alias psg='ps aux|grep'
###svn operation
# 递归删除目录下所有.svn
alias rmsvn='find . -name ".svn" -exec rm -rf {} \; >> /dev/null 2>&1'
# 便捷操作,适用一些不重要文件的,不建议适用哈
alias svnci='svn ci -m "commit by $USER" '
# 少一个空格,少一个是一个......囧
alias svnst='svn st'


###################### 类型3:其他扩展 ######################################
####以下是为了修改这几个文件方便.....
alias reload='source ~/.bashrc'
alias bashrc='vim ~/.bashrc && source ~/.bashrc'
alias bashpr='vim ~/.bash_profile && source ~/.bash_profile'
alias bashal='vim ~/.alias && source ~/.alias'

###################### 类型4: 自定义命令 ######################################
###注意,这个相当与自定义一个函数,只是在登录时 source进来了而已,用which cmd查不到,也不能tab自动补全
###主要是涉及参数传入,复杂操作的,可以搞成脚本
# 计算
calc(){
   echo "$*" | bc
}

# 根据文件类型解压
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 xjvf $1 ;;
             *.tgz) tar xzvf $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
}
# 压缩
mktar(){ tar cvf "${1%%/}.tar" "${1%%/}/"; }
mktgz(){ tar cvzf "${1%%/}.tar.gz" "${1%%/}/"; }
mktbz(){ tar cvjf "${1%%/}.tar.bz2" "${1%%/}/"; }

# 分屏同时打开多个文件
#vim -oN filea fileb filec
vimo(){
   vim -o$# $*
}
# 创建一个目录并跳转到
#make a dir and cd into it
mcd(){
    mkdir -pv "$@"
    cd "$@"
}
# 挪到回收站.....
#move to trash
del()
{
    mv "$@" "~/.trash/"
}

#修复文件权限
# recursively fix dir/file permissions on a given directory
fix() {
  if [ -d $1 ]; then
    find $1 -type d -exec chmod 755 {} \;
    find $1 -type f -exec chmod 644 {} \;
  else
    echo "$1 is not a directory."
  fi
}
# 一个时钟,用到不多
clock () {
  while true; do
    clear;
    echo "";
    echo " $(date +%r)";
    echo "";
    sleep 1;
  done
}
# 保存一个文件到tmp
saveit() {
  cp $1 ${HOME}/tmp/${1}.saved
}
# 交换两个文件
switchfile() {
  mv $1 ${1}.tmp && mv $2 $1 && mv ${1}.tmp $2
}

# 查看自己常用命令top n
function used {
if [[ $1 ]]
then
    history | awk '{print $4}' | sort | uniq -c | sort -nr | head -n $1
else
    history | awk '{print $4}' | sort | uniq -c | sort -nr | head -n 10
fi
}
# 最常用,复制一个路径过来时,不用修改,可以到达路径的最深一层目录
goto(){ [ -d "$1" ] && cd "$1" || cd "$(dirname "$1")"; }
# 临时文件
mvtmp(){
  mv $1 ~/tmp/
}
cptmp(){
  cp -r $1 ~/tmp/
}

# Make and cd into directory
function mcd() {
  mkdir -p "$1" && cd "$1";
}

# Find text in any file
ft() {find . -name "$2" -exec grep -il "$1" {} \;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值