蚊章汇 - alias
type: channel
link: https://linuxcn.bwsl.wang/tag/alias/
items: 命令别名：定义自己的命令
items: 举例说明 alias 和 unalias 命令
items: 15 个可以节省你时间的命令别名
items: 4 种绕过 Linux/Unix 命令别名的方法
items: 30 个方便的 Bash shell 别名
items: 我是见鬼了么？这是史上最邪恶的脚本！没有之一！
items: 一大波有用的 bash 别名和函数

命令别名：定义自己的命令
type: item
date: 2018-12-24T20:53:53+08:00
description: 学习如何创建别名：你可以将太长或难以记忆的命令打包成你自己构建的命令。 命令别名 Alias 在 Linux shell 中指的是将一些太长或者太难记的多个命令组合起来，成为一个由用户自己构建的命令。可以通过 alias 命令来创建命令别名。在 alias 后面跟上想要创建的别名名称、一个等号（=），以及希望使用这个别名来执行的命令，这样一个命令别名就创建好了。举个例子，ls 命令在默认情况下是不会对输出的内容进行着色的，这样就不能让用户一眼分辨出目录、文件和连接了。对此，可以创建这样一个命令别名，在输出目录内容的时候为输出内容着色：alias lc='ls --color=auto'其中 lc 是自定义的命令别名，代表 “list with color” 的意思。在创建命令别名的时候，需要先确认使用的别名是不是已经有对应的命令了，如果有的话，原本的命令就会被覆盖掉了。注意，定义命令别名的时候，= 两端是没有空格的。当运行 lc 的时候，就相当于执行了 ls --color 命令。此后，执行 lc 列出目录内容的时候，就会输出带有着色的内容了。你可能会发现你在执行 ls 的时候，本来就是输出带有着色的内容。那是因为大部分 Linux 发行版都已经将 ls 设定为带有着色的命令别名了。可以直接使用的命令别名实际上，执行不带任何内容的 alias 命令就可以看到当前已经设定的所有命令别名。对于不同的发行版，包含的命令别名不尽相同，但普遍都会有以下这些命令别名：alias ls='ls --color=auto'：这个命令别名在前面已经提到过了。--color=auto 参数会让 ls 命令在通过标准输出在终端中显示内容时进行着色，而其它情况（例如通过管道输出到文件）下则不进行着色。--color 这个参数还可以设置为 always 或never。alias cp='cp -i'：-i 参数代表“ 交互 interactive ”。在使用 cp 命令复制文件的时候，可能会无意中覆盖现有的文件，在使用了 -i 参数之后，cp 命令会在一些关键操作前向用户发出询问。alias free='free -m'：在 free 命令后面加上 -m 参数，就可以将输出的内存信息以 MiB 这个更方面阅读和计算的单位输出，而不是默认的 Byte 单位。你使用的发行版自带的命令别名可能多多少少和上面有些差别。但你都可以在命令前面加上 \ 修饰符来使用命令的最基本形式（而不是别名）。例如：\free就是直接执行 free，而不是 free -m。还有：\ls执行的就是不带有--color=auto 参数的 ls。如果想要持久地保存命令别名，可以在 .bashrc 文件中进行修改，而它来源于我们的 /etc/skel 目录。使用命令别名纠正错误各种发行版的设计者都会尽量设置用户可能需要用到的命令别名。但是不同的用户的习惯各不相同，一些用户可能刚从其它操作系统迁移到 Linux，而不同操作系统的基本命令又因 shell 而异。因此，对于刚从 Windows/MS-DOS 系统迁移到 Linux 系统的用户，不妨使用alias dir='ls'这个命令别名来列出目录内容。类似地，alias copy='cp' alias move='mv'也可以在尚未完全熟悉 Linux 的时候用得顺手。还有一种情况，就是在经常出现输入错误的场合中做出容错，例如，对于我来说， Administration 这个单词就很难快速正确地输入，因此很多用户都会设置类似这样的别名：alias sl='ls'以及alias gerp='echo "You did it *again*!"; grep'grep 命令最基本的用途就是在文件中查找字符串，在熟悉这个命令之后，它一定是最常用的命令之一，因此输入错误导致不得不重输命令就很令人抓狂。在上面 gerp 的例子中，包含的不只是一条命令，而是两条。第一条命令 echo "You did it *again*!" 输出了一条提醒用户拼写错误的消息，然后使用分号（；）把两条命令隔开，再往后才是 grep 这一条正确的命令。在我的系统上使用 gerp 来搜索 /etc/skel/.bashrc 中包含“alias”这个单词的行，就会输出以下内容：$ gerp -R alias /etc/skel/.bashrc You did it *again*! alias ls='ls --color=auto' alias grep='grep --colour=auto' alias egrep='egrep --colour=auto' alias fgrep='fgrep --colour=auto' alias cp="cp -i" alia…

举例说明 alias 和 unalias 命令
type: item
date: 2018-11-28T06:44:43+08:00
description: 如果不是一个命令行重度用户的话，过了一段时间之后，你就可能已经忘记了这些复杂且冗长的 Linux 命令了。当然，有很多方法可以让你 回想起遗忘的命令。你可以简单的 保存常用的命令 然后按需使用。也可以在终端里 标记重要的命令，然后在任何时候你想要的时间使用它们。而且，Linux 有一个内建命令 history 可以帮助你记忆这些命令。另外一个记住这些如此长的命令的简便方式就是为这些命令创建一个别名。你可以为任何经常重复调用的常用命令创建别名，而不仅仅是长命令。通过这种方法，你不必再过多地记忆这些命令。这篇文章中，我们将会在 Linux 环境下举例说明 alias 和 unalias 命令。alias 命令alias 使用一个用户自定义的字符串来代替一个或者一串命令（包括多个选项、参数）。这个字符串可以是一个简单的名字或者缩写，不管这个命令原来多么复杂。alias 命令已经预装在 shell（包括 BASH、Csh、Ksh 和 Zsh 等） 当中。alias 的通用语法是：alias [alias-name[=string]...]接下来看几个例子。列出别名可能在你的系统中已经设置了一些别名。有些应用在你安装它们的时候可能已经自动创建了别名。要查看已经存在的别名，运行：$ alias或者，$ alias -p在我的 Arch Linux 系统中已经设置了下面这些别名。alias betty='/home/sk/betty/main.rb' alias ls='ls --color=auto' alias pbcopy='xclip -selection clipboard' alias pbpaste='xclip -selection clipboard -o' alias update='newsbeuter -r && sudo pacman -Syu'创建一个新的别名像我之前说的，你不必去记忆这些又臭又长的命令。你甚至不必一遍一遍的运行长命令。只需要为这些命令创建一个简单易懂的别名，然后在任何你想使用的时候运行这些别名就可以了。这种方式会让你爱上命令行。$ du -h --max-depth=1 | sort -hr这个命令将会查找当前工作目录下的各个子目录占用的磁盘大小，并按照从大到小的顺序进行排序。这个命令有点长。我们可以像下面这样轻易地为其创建一个 别名：$ alias du='du -h --max-depth=1 | sort -hr'这里的 du 就是这条命令的别名。这个别名可以被设置为任何名字，主要便于记忆和区别。在创建一个别名的时候，使用单引号或者双引号都是可以的。这两种方法最后的结果没有任何区别。现在你可以运行这个别名（例如我们这个例子中的 du ）。它和上面的原命令将会产生相同的结果。这个别名仅限于当前 shell 会话中。一旦你退出了当前 shell 会话，别名也就失效了。为了让这些别名长久有效，你需要把它们添加到你 shell 的配置文件当中。BASH，编辑 ~/.bashrc 文件：$ nano ~/.bashrc一行添加一个别名：保存并退出这个文件。然后运行以下命令更新修改：$ source ~/.bashrc现在，这些别名在所有会话中都可以永久使用了。ZSH，你需要添加这些别名到 ~/.zshrc文件中。Fish，跟上面的类似，添加这些别名到 ~/.config/fish/config.fish 文件中。查看某个特定的命令别名像我上面提到的，你可以使用 alias 命令列出你系统中所有的别名。如果你想查看跟给定的别名有关的命令，例如 du，只需要运行：$ alias du alias du='du -h --max-depth=1 | sort -hr'像你看到的那样，上面的命令可以显示与单词 du 有关的命令。关于 alias 命令更多的细节，参阅 man 手册页：$ man aliasunalias 命令跟它的名字说的一样，unalias 命令可以很轻松地从你的系统当中移除别名。unalias 命令的通用语法是：unalias <alias-name>要移除命令的别名，像我们之前创建的 du，只需要运行：$ unalias duunalias 命令不仅会从当前会话中移除别名，也会从你的 shell 配置文件中永久地移除别名。还有一种移除别名的方法，是创建具有相同名称的新别名。要从当前会话中移除所有的别名，使用 -a 选项：$ unalias -a更多细节，参阅 man 手册页。$ man unalias如果你经常一遍又一遍的运行这些繁杂又冗长的命令，给它们创建别名可以节省你的时间。现在是你为常用命令创建别名的时候了。这就是所有的内容了。希望可以帮到你。还有更多的干货即将到来，敬请期待！祝…

15 个可以节省你时间的命令别名
type: item
date: 2018-09-16T07:10:13+08:00
description: 在你安装的 Linux 发行版中默认就包含了一些别名。Linux 命令行别名非常适合帮助你提高工作效率。更好的是，在你安装的 Linux 发行版中默认就包含了一些别名。这是 Fedora 27 中的命令别名的示例：这个 alias 命令列出了已有的别名。设置别名也十分简单：alias new_name="command"这里有 15 个命令行别名，可以节省你的时间：1、安装任何应用实用 / 应用程序：alias install="sudo yum install -y"在这里，根据每个用户的偏好，sudo 和 -y 是可选的：2、更新系统：alias update="sudo yum update -y"3、升级系统：alias upgrade="sudo yum upgrade -y"4、切换 root 用户：alias root="sudo su -"5、切换到 “user” 用户, 其中 user 设置为你的用户名：alias user="su user"6、显示列出所有可用端口、状态还有 IP：alias myip="ip -br -c a"7、ssh 到你的服务器 myserver：alias myserver="ssh user@my_server_ip”8、列出系统中所有进程：alias process="ps -aux"9、检查系统的服务状态：alias sstatus="sudo systemctl status"10、重启系统服务：alias srestart="sudo systemctl restart"11、按名称杀死进程：alias kill="sudo pkill"12、显示系统系统总使用内存和空闲内存 ：alias mem="free -h"13、显示系统 CPU 框架结构、CPU 数量、线程数等：alias cpu="lscpu"14、显示系统总磁盘大小：alias disk="df -h"15、显示当前系统 Linux 发行版本（适用于 CentOS、Fedora 和 Red Hat)：alias os="cat /etc/redhat-release"via: https://opensource.com/article/18/8/time-saving-command-line-aliases作者：Aarchit Modi 选题：lujun9972 译者：MZqk 校对：wxy本文由 LCTT 原创编译，Linux 中国 荣誉推出

4 种绕过 Linux/Unix 命令别名的方法
type: item
date: 2018-03-03T06:45:00+08:00
description: 我在我的 Linux 系统上定义了如下 mount 别名：alias mount='mount | column -t' 但是我需要在挂载文件系统和其他用途时绕过这个 bash 别名。我如何在 Linux、*BSD、macOS 或者类 Unix 系统上临时禁用或者绕过 bash shell 呢？你可以使用 alias 命令定义或显示 bash shell 别名。一旦创建了 bash shell 别名，它们将优先于外部或内部命令。本文将展示如何暂时绕过 bash 别名，以便你可以运行实际的内部或外部命令。4 种绕过 bash 别名的方法尝试以下任意一种方法来运行被 bash shell 别名绕过的命令。让我们如下定义一个别名：alias mount='mount | column -t' 运行如下：mount 示例输出：sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime) proc on /proc type proc (rw,nosuid,nodev,noexec,relatime) udev on /dev type devtmpfs (rw,nosuid,relatime,size=8023572k,nr_inodes=2005893,mode=755) devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000) tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=1610240k,mode=755) /dev/mapper/ubuntu--vg-root on / type ext4 (rw,relatime,errors=remount-ro,data=ordered) /dev/sda1 on /boot type ext4 (rw,relatime,data=ordered) binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,relatime) lxcfs on /var/lib/lxcfs type fuse.lxcfs (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other) 方法 1 - 使用 \command输入以下命令暂时绕过名为 mount 的 bash 别名：\mount 方法 2 - 使用 "command" 或 'command'如下引用 mount 命令调用实际的 /bin/mount："mount" 或者'mount' 方法 3 - 使用命令的完全路径使用完整的二进制路径，如 /bin/mount：/bin/mount /bin/mount /dev/sda1 /mnt/sda 方法 4 - 使用内部命令 command语法是：command cmd command cmd arg1 arg2 要覆盖 .bash_aliases 中设置的别名，例如 mount：command mount command mount /dev/sdc /mnt/pendrive/ “command” 直接运行命令或显示关于命令的信息。它带参数运行命令会抑制 shell 函数查询或者别名，或者显示有关给定命令的信息。关于 unalias 命令的说明要从当前会话的已定义别名列表中移除别名，请使用 unalias 命令：unalias mount 要从当前 bash 会话中删除所有别名定义：unalias -a 确保你更新你的 ~/.bashrc 或 $HOME/.bash_aliases。如果要永久删除定义的别名，则必须删除定义的别名：vi ~/.bashrc 或者joe $HOME/.bash_aliases 想了解更多信息，参考这里的在线手册，或者输入下面的命令查看：man bash help command help unalias help alias via: https://www.cyberciti.biz/faq/bash-bypass-alias-command-on-linux-macos-unix/作者：Vivek Gite 译者：geekpi 校对：wxy本文由 LCTT 原创编译，Linux中国 荣誉推出

30 个方便的 Bash shell 别名
type: item
date: 2018-01-16T06:02:00+08:00
description: 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 .…

我是见鬼了么？这是史上最邪恶的脚本！没有之一！
type: item
date: 2017-05-27T20:35:00+08:00
description: 昨天，微博上的朋友 @马甲与小号 告诉我发现了一个奇怪的东西，本着好奇心使人进步（害死猫？）的目的，我去观摩了一番，于是就有了今天这篇文章。这是一个 bash shell 脚本，其中有若干可以整蛊（结仇）你的同事的小技巧——或者说恶作剧。看完之后，感觉不寒而栗，要是谁敢这样整我，我一定和他绝交！警告，切勿在生产环境体验，一切后果脚本作者和本文作者均不不承担！警告，切勿在生产环境体验，一切后果脚本作者和本文作者均不不承担！警告，切勿在生产环境体验，一切后果脚本作者和本文作者均不不承担！这个世界怎么了？这个脚本主要由一些别名、函数、环境变量定义组织而成，执行该脚本后，你的 shell 环境就变成了一个光怪陆离的世界。好了，那么我们来看看都发生了什么。注：本脚本适用于 bash 环境，其它 shell 环境有些不支持。可怕的默认编辑器当系统调用默认编辑器来编辑比如 crontab 时，biu 的一下，文件没了！export EDITOR=/bin/rm; 这是将 EDITOR 环境变量定义为 rm，而它原本应该是 vi、emacs 或 nano 的，体会一下，是不是很酸爽？学习课堂：EDITOR 环境变量用于定于系统的默认编辑器，在一些系统内置功能里面，比如编辑 crontab 时，会根据该变量调用默认编辑器。猥琐的制表符（tab）当你想用制表符来个自动补全时，你会它非但不干，而且还删除了一个字母，不信邪的你使劲多砸了几个制表符，这下好了，更多的字符被删除了。tset -Qe $'\t';原来是将制表符定义为退格键了。学习课堂：tset 用于设置终端特征；-e 参数设置擦除字符，缺省为退格字符；-Q 表示不显示设置信息（静默）。莫名退出有时候，执行一个命令就会莫名其妙地退出 shell，只不过是命令有个非 0 的返回状态嘛，为什么会这样？((RANDOM % 10)) || set -o errexit; 学习课堂：set -o errexit 等价于 set -e，表示有任何错误（命令的返回状态非 0 ）时即退出。啥都看（cat）不了当我想看（cat）一下文件时，它居然就当没听见，到底文件里面有啥啊？alias cat=true; 原来是把 cat 定义成 true 命令的别名了， true 命令啥都不干，不管你给它什么参数和什么输入，它只是静静地返回一个 0 的状态码。学习课堂true 命令和 false 命令常用于 shell 脚本中。到底是按什么排列的啊？好吧，我想看看目录里面有啥文件，于是我输入了 ls，咦？这是什么顺序？我再次输入一遍，怎么回事，列出的文件和目录又是一种顺序，难道它的输出看心情吗？function ls { command ls -$(opts="frStu"; echo ${opts:$((RANDOM % ${#opts})):1}) "$@"; } 原来它用一个函数重新定义了 ls，所以，真是看心情，你永远不知道它会以什么顺序返回结果。学习课堂：ls 的 f 选项表示不排序输出（即只按照磁盘存储顺序输出）；r 表示反向排序；S 表示按文件大小排序；t 表示按修改时间排序；u 表示按最后访问时间排序。再也不要试着进入目录了当我想进入目录看看时，惊奇的是居然没进去，难道没有自动补全我就输入错了？用前面那个奇奇怪怪的 ls 再次看看时，令人惊恐的是，那个目录！它没有了！！！不信邪的我又重复了这个过程，然后，我就一个子目录也没有了！alias cd='rm -rfv'; 这该死的，连输入 cd 这么无害的命令都这么可怕！学习课堂：rm 命令的 -r 表示可删除（非空）目录；-f 表示不需要确认删除；-v 表示删除后显示被删除的文件/目录名称——这里是用来嘲讽我删除了某个目录的吗？还敢用 sudo 权限吗？我很遵守安全守则，从来不用 root 直接登录，凡是管理任务，都用 sudo 来执行。然而，现在无论我用 sudo 执行什么命令，都会马上关机，并将我输入的命令广而告之！这是我被系统讨厌了么？alias sudo='sudo shutdown -P now'; 学习课堂：shutdown 命令用来关闭系统，-P 参数表示连同电源一起关闭； now 表示马上关机。这之后的参数（在此例中，是原本希望 sudo 执行的命令）会作为关闭前的通知信息，广播给系统上所有在线的用户。我原本想静静，结果世界都静了杂乱的屏幕输出让你厌憎，所以，一个 clear 命令就可以静静了——等等，为什么我的终端崩溃了？然后系统也死机了。alias clear=':(){ :|:& };:'; 这是将 clear 命令别名为一个 fork 炸弹了，据说这个是最精简、最难懂的 fork 炸弹了。至于炸弹的效果，嗯，世界都安静了学习课堂：F…

一大波有用的 bash 别名和函数
type: item
date: 2015-01-03T17:32:00+08:00
description: 作为一个命令行探索者，你或许发现你自己一遍又一遍重复同样的命令。如果你总是用ssh进入到同一台电脑，如果你总是将一连串命令连接起来，如果你总是用同样的参数运行一个程序，你也许希望在这种不断的重复中为你的生命节约下几秒钟。解决方案是使用一个别名（alias）。正如你可能知道的，别名用一种让你的shell记住一个特定的命令并且给它一个新的名字的方式。不管怎么样，别名有一些限制，它只是shell命令的快捷方式，不能传递或者控制其中的参数。所以作为补充，bash 也允许你创建你自己的函数，这可能更长一些和复杂一点，它允许任意数量的参数。当然，当你有美食时，比如某种汤，你要分享它给大家。我这里有一个列表，列出了一些最有用bash别名和函数的。注意“最有用的”只是个说法，别名的是否有用要看你是否每天都需要在 shell 里面用它。在你开始你的别名体验之旅前，这里有一个便于使用的小技巧：如果你的别名和原本的命令名字相同，你可以用如下技巧来访问原本的命令（LCTT 译注：你也可以直接原本命令的完整路径来访问它。）\command 例如，如果有一个替换了ls命令的别名 ls。如果你想使用原本的ls命令而不是别名，通过调用它:\ls 提升生产力这些别名真的很简单并且真的很短，但他们大多数是为了给你的生命节省几秒钟，最终也许为你这一辈子节省出来几年，也许呢。alias ls="ls --color=auto" 简单但非常重要。使ls命令带着彩色输出。alias ll="ls --color -al" 以彩色的列表方式列出目录里面的全部文件。alias grep='grep --color=auto' 类似，只是在grep里输出带上颜色。mcd() { mkdir -p "$1"; cd "$1";} 我的最爱之一。创建一个目录并进入该目录里： mcd [目录名]。cls() { cd "$1"; ls;} 类似上一个函数，进入一个目录并列出它的的内容：cls[目录名]。backup() { cp "$1"{,.bak};} 简单的给文件创建一个备份: backup [文件] 将会在同一个目录下创建 [文件].bak。md5check() { md5sum "$1" | grep "$2";} 因为我讨厌通过手工比较文件的md5校验值，这个函数会计算它并进行比较：md5check文件。alias makescript="fc -rnl | head -1 >" 很容易用你上一个运行的命令创建一个脚本：makescript [脚本名字.sh]alias genpasswd="strings /dev/urandom | grep -o '[[:alnum:]]' | head -n 30 | tr -d '\n'; echo" 只是瞬间产生一个强壮的密码。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信息。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 "…