使用 TAB 键,bash 将尝试自动为您补全命令。您可以使用它来补全命令(工具)名称。您还可以在使用文件系统、更改目录、复制文件等操作时使用它。
还有其他不太为人所知的自动命令补全方法(例如补全用户名):[1]
测试自动索引 将尝试为您补全命令名称。如果失败,它将列出可能的补全项(如果存在)。如果没有,它将只会发出蜂鸣声(和/或)闪烁屏幕。
列出可能的补全项(它不会尝试为您补全)或者在没有可能的补全项时发出蜂鸣声。
特殊字符
将以下特殊字符与 ESC-Y 或 CTRL-X-Y 结合使用,其中 Y 是某个特殊字符。例如,ESC-$ 或 CTRL-X-$ 用于补全环境变量名。
~(波浪号)补全用户名
@(at 符号)补全机器名
$(美元符号)补全环境变量名
!(感叹号)是一个用于补全命令名或文件名的神奇字符。! 特殊字符的功能与 TAB 键相同。它在其他一些情况下也有效;例如,在补全 man 手册页名称时。
alias 命令将列出您当前的别名。您可以使用 unalias 来移除别名(如果只想为一个命令禁用它,请在命令前添加一个“\”(反斜杠))。。。
别名允许用一个命令替换另一个命令。这用于使一个命令执行其他操作或自动添加某些选项。这可以在一个会话期间使用 alias 命令(见下文)完成,或者可以将信息添加到 .bashrc 文件(位于用户主目录中)。
下面是一个别名部分(在您的 .bashrc 文件中)可能看起来像什么样的示例
# my personal aliases alias cp='cp -vi' #to prompt when copying if you want to overwrite and will tell you where information is going alias rm='rm -i' #Prompts you if you really want to remove it. alias mv='mv -i' #Prompts you if you are going to overwrite something |
在任何 Mandriva GNU/Linux 系统上,全局别名(针对所有用户)都位于 /etc/profile.d/alias.sh 中。上面列出的命令以及其他几个常用命令已经有别名。
set 是 bash 的内置命令之一,请尝试在 bash 手册中查找其许多用法选项。
将 set 与 -x 选项一起使用将使 bash 在运行每个命令之前先打印出来。
这对于找出某些命令正在发生什么很有用,例如包含可能导致问题的通配符或特殊符号的引用,或者复杂的别名。使用 set +x 重新关闭此功能。
示例
在使用 set -x 之后,您可以运行命令
ls |
命令运行前打印的输出(例如)
+ ls -F --color=auto |
这意味着该命令实际上是运行 ls 并带有 -F 和 --color=auto 选项的别名。在命令前使用“\”(反斜杠)可以在不使用别名的情况下运行它。
反斜杠转义字符可以在 shell 命令之前使用,以覆盖任何别名。
例如,如果 rm 被设置为 rm -i 的别名,那么键入“rm”实际上会运行 rm -i。
但是,键入 \rm 会让 shell 忽略别名并直接运行 rm(它完全按照您键入的内容运行),这样它就不会确认您是否要删除内容。
![]() | 使用 rm |
---|---|
请注意,删除命令的别名是有原因的。不正确地使用它可能会删除您不想删除的文件。 仅在您确切知道自己在做什么时才使用 \rm(恢复文件并不容易,rm 不会将内容发送到回收站)。 |
“\”字符可以在特殊字符(例如空格或通配符)之前使用,以阻止 bash 尝试展开它们。您可以使用反斜杠在空格前创建一个包含空格的目录名。例如,您可以键入 cd My\ Directory\ With\ Spaces,这通常是行不通的。
“\”字符也可以用于阻止 bash 展开某些符号(作为替代方法,您可以使用单引号,尽管您可能需要同时使用两者)。
![]() | TAB 键 |
---|---|
请注意,使用 TAB 键(自动命令补全)将自动为空格使用转义符(因此您不必手动键入它们)。 |
“script”命令创建一个 typescript,或者 shell 会话的“捕获日志”——它将您的会话副本写入文件,包括您键入的命令及其输出。
波浪号字符用作用户主目录的别名。
例如,如果您的用户名是“fred”,您可以简单地键入 cd ~,而不是键入 cd /home/fred。或者要进入 fred 的 tmp 目录(在他的主目录下面),您可以键入 cd ~/tmp。
![]() | 主目录快捷方式 |
---|---|
~(波浪号)也可以用作其他用户主目录的快捷方式,只需键入:~用户名,它就会带您到该用户的主目录。请注意,您需要准确拼写用户名,不能使用通配符。 |
�
这个特定的 set 命令将从命令行关闭系统铃声(对于 X windows,请使用 xset -b)。如果您希望铃声永久关闭(没有声音铃声),那么您可以将此命令添加到您的“.bashrc”或“.bash_profile”中(只需将其添加到您放置别名的同一个文件中即可)。
reset 命令重新初始化您当前的终端。当您终端中的文本变得乱码时,这可能很有用,只需键入“reset”即可修复您的终端。
关闭您当前的终端(对于 x-terminals)或注销。也可以尝试 CTRL-D。
从终端注销,也可以尝试 CTRL-D。
一个重复您键入的任何内容的简单命令。
示例
echo “hello world” |
简单地显示 “ hello world”。
示例
echo rm -R * |
这将输出将传递给 rm 命令的内容(以及因此将被删除的内容),在命令前放置 echo 使其无害(它只是展开通配符,以便您知道它将做什么)。
还可以尝试将 -e 选项与 echo 一起使用。这将允许您使用转义字符序列来格式化行的输出。例如,'\t' 代表制表符,'\n' 代表换行符等。
![]() | 使用 echo 预防意外 |
---|---|
键入:echo 命令(s) 可以避免您意外执行某些您不期望的操作的麻烦。 使用 echo 可以让您展开通配符,以便在实际运行命令之前了解将发生什么。 |
[1] | 此信息经过编辑后改编自 Mandrakesoft 的命令行手册,有关更多信息,请参阅参考书目中的 [7]。 |