前往顾页
以后地位: 主页 > 精通Office > Ubuntu教程 >

Linux/Unix/Mac OS X Bash shell 别号年夜全

时候:2018-02-10 22:41来源:知行网www.zhixing123.cn 编辑:麦田守望者

bash 别号alias只不过是指向号令的疾速体例罢了。
alias 号令许可用户只输入一个单词就运行肆意一个号令或一组号令(包含号令选项和文件名)。履行
alias 号令会显现一个所有已定义别号的列表。你可以在 ~/.bashrc文件中自定义别号。利用别号可以在号令行中减少输入的时候,使事情更流利,同时增加生产率。

本文经由过程 30 个 bash shell 别号的实际案例演示了若何建立和利用别号。

bash alias 的那些事

bash shell 中的 alias 号令的语法是如许的:
alias [alias-name[=string]...]


若何列出 bash 别号

输入下面的 alias 号令:
alias


成果为:
alias ..='cd ..'
alias amazonbackup='s3backup'
alias apt-get='sudo apt-get'
...


alias 号令默许会列出以后用户定义好的别号。

若何定义或建立一个 bash shell 别号

利用下面语法 建立别号:
alias name =value
alias name = 'command'
alias name = 'command arg1 arg2'
alias name = '/path/to/script'
alias name = '/path/to/script.pl arg1'


举个例子,输入下面号令并回车就会为常常利用的clear(断根屏幕)号令建立一个别号c:
alias c = 'clear'


然后输入字母c 而不是clear 后回车就会断根屏幕了:
c


若何临时性地禁用 bash 别号

下面语法可以临时性地禁用别号:
## path/to/full/command
/usr/bin/clear
## call alias with a backslash ##
\c
## use /bin/ls command and avoid ls alias ##
command ls


若何删除 bash 别号

利用 unalias 号令来删除别号。其语法为:
unalias aliasname
unalias foo


比方,删除我们之前建立的别号c:
unalias c


你还需求用文本编辑器删失落 ~/.bashrc 文件 中的别号定义(拜见下一部分内容)。

若何让 bash shell 别号永久见效

别号c 在以后登录会话中仍然有效。但当你登出或重启体系后,别号c 就没有了。为了不呈现这个问题,将别号定义写入 ~/.bashrc file 中,输入:
vi ~/.bashrc


输入下行内容让别号c 对以后用户永久有效:
alias c = 'clear'


保存并封闭文件就好了。体系级的别号(也就是对所有效户都见效的别号)可以放在/etc/bashrc 文件中。请重视,

alias 号令内建于各种 shell 中,包含 ksh,tcsh/csh,ash,bash 和其他 shell。

关于特权权限判定

可以将下面代码插手

~/.bashrc:
# if user is not root, pass all commands via sudo #
if [ $UID -ne 0 ]; then
alias reboot='sudo reboot'
alias update='sudo apt-get upgrade'
fi


定义与操纵体系范例相关的别号

可以将下面代码插手

~/.bashrc 利用 case 语句:
### Get os name via uname ###
_myos="$(uname)"

### add alias as per os using $_myos ###
case $_myos in
Linux) alias foo='/path/to/linux/bin/foo';;
FreeBSD|OpenBSD) alias foo='/path/to/bsd/bin/foo' ;;
SunOS) alias foo='/path/to/sunos/bin/foo' ;;
*) ;;
esac


30 个 bash shell 别号的案例

你可以定义各种范例的别号来节流时候并进步生产率。

#1:节制 ls 号令的输入

ls 号令列出目次中的内容 而你可以对输入进行着色:
## Colorize the ls output ##
alias ls = 'ls --color=auto'

## Use a long listing format ##
alias ll = 'ls -la'

## Show hidden files ##
alias l.= 'ls -d . .. .git .gitignore .gitmodules .travis.yml --color=auto'


#2:节制 cd 号令的行动
## get rid of command not found ##
alias cd..= 'cd ..'

## a quick way to get out of current directory ##
alias ..= 'cd ..'
alias ...= 'cd ../../../'
alias ....= 'cd ../../../../'
alias .....= 'cd ../../../../'
alias .4= 'cd ../../../../'
alias .5= 'cd ../../../../..'


#3:节制 grep 号令的输入

grep 号令是一个用于在纯文本文件中搜刮婚配正则表达式的行的号令行东西:
## Colorize the grep command output for ease of use (good for log files)##
alias grep = 'grep --color=auto'
alias egrep = 'egrep --color=auto'
alias fgrep = 'fgrep --color=auto'


#4:让计较器默许开启 math 库
alias bc = 'bc -l'


#4:天生 sha1 数字署名
alias sha1 = 'openssl sha1'


#5:主动建立父目次

mkdir 号令 用于建立目次:
alias mkdir = 'mkdir -pv'


#6:为 diff 输入着色

你可利用 diff 来一行行第比较文件 而一个名为

colordiff 的东西可以为 diff 输入着色:
# install colordiff package 🙂
alias diff = 'colordiff'


#7:让 mount 号令的输入更标致,更便利人类浏览
alias mount = 'mount |column -t'


#8:简化号令以节流时候
# handy short cuts #
alias h = 'history'
alias j = 'jobs -l'


#9:建立一系列新号令
alias path = 'echo -e ${PATH//:/\\n}'
alias now = 'date +"%T"'
alias nowtime =now
alias nowdate = 'date +"%d-%m-%Y"'


#10:设置 vim 为默许编辑器
alias vi = vim
alias svi = 'sudo vi'
alias vis = 'vim "+set si"'
alias edit = 'vim'


#11:节制收集东西 ping 的输入
# Stop after sending count ECHO_REQUEST packets #
alias ping = 'ping -c 5'

# Do not wait interval 1 second, go fast #
alias fastping = 'ping -c 100 -i.2'


#12:显现翻开的端口

利用 netstat 号令 可以疾速列出办事区中所有的 TCP/UDP 端口:
alias ports = 'netstat -tulanp'


#13:唤醒休眠的办事器

Wake-on-LAN (WOL) 是一个以太网标准,可以经由过程收集动静来开启办事器。你可利用下面别号来疾速激活 nas 装备 和办事器:
## replace mac with your actual server mac address #
alias wakeupnas01 = '/usr/bin/wakeonlan 00:11:32:11:15:FC'
alias wakeupnas02 = '/usr/bin/wakeonlan 00:11:32:11:15:FD'
alias wakeupnas03 = '/usr/bin/wakeonlan 00:11:32:11:15:FE'


#14:节制防火墙 (iptables) 的输入

Netfilter 是一款 Linux 操纵体系上的主机防火墙。它是 Linux 发行版中的一部分,且默许环境下是激活状况。这里列出了年夜多数 Liux 老手防护入侵者最常常利用的 iptables 体例。
## shortcut for iptables and pass it via sudo#
alias ipt = 'sudo /sbin/iptables'

# display all rules #
alias iptlist = 'sudo /sbin/iptables -L -n -v --line-numbers'
alias iptlistin = 'sudo /sbin/iptables -L INPUT -n -v --line-numbers'
alias iptlistout = 'sudo /sbin/iptables -L OUTPUT -n -v --line-numbers'
alias iptlistfw = 'sudo /sbin/iptables -L FORWARD -n -v --line-numbers'
alias firewall =iptlist


#15:利用 curl 调试 web 办事器 / CDN 上的问题
# get web server headers #
alias header = 'curl -I'

# find out if remote server supports gzip / mod_deflate or not #
alias headerc = 'curl -I --compress'


#16:增加宁静性
# do not delete / or prompt if deleting more than 3 files at a time #
alias rm = 'rm -I --preserve-root'

# confirmation #
alias mv = 'mv -i'
alias cp = 'cp -i'
alias ln = 'ln -i'

# Parenting changing perms on / #
alias chown = 'chown --preserve-root'
alias chmod = 'chmod --preserve-root'
alias chgrp = 'chgrp --preserve-root'

顶一下
(0)
0%
踩一下
(0)
0%
------分开线----------------------------
标签(Tag):Linux Ubuntu 操纵体系 Unix Android fedora debian
------分开线----------------------------
颁发评论
请自发遵循互联网相关的政策法规,严禁公布色情、暴力、革命的谈吐。
评价:
神色:
考证码:点击我更换图片
猜你感兴趣