A 概念 一 linux 终端
linux 终端也称为虚拟控制台,是 linux 从 UNIX 集成来的标准特性。显示器和键盘合称为终端,因为他们可以对系统进行控制所以又称为控制台。通常情况下, linux 默认开启6个虚拟终端。如果默认启动界面选择了图形界面,类似于 windows 桌面系统,那么X Window 在第1个虚拟终端上。
二 shellshell 是一个命令解释器,它可以用来启动、挂起、停止程序,还允许用户编写由 shell 命令组成的程序。
1 shell 种类shell 有多种不同的版本,在 linux 的 /etc 目录下的 shells 文件中列出了系统可以接受的 shell 以及他们的命令。
cat /etc/shells # 列举系统可以接受的 shell chsh -l
其中,“/bin/nologin“ 并不是一种 shell,它是作为被禁用用户 shell 的替代物(不用 shell 的用户所用的),用来显示账号不可用信息。
bash 是指 GUN 的 Bounre Again shell,是 GNU 操作系统上默认的 shell.
系统变量 $ SHELL 记录系统当前正在使用的 shell。
linux 系统默认的 bash 是对 ksh 和 ash 的改进,增加和增强了许多特性,还包含了许多其他 shell 的特点,具有灵活和强大的编程接口,同时又有很好的用户界面
shell 命令解释程序包含了一些内置命令,由 shell 自身执行。除了内置命令,还有一部分独立的程序实现的命令,用于对 linux 功能进行扩展,成为外置命令,由 shell 调用这些程序执行命令,例如命名 vi 是 vi 编辑器软件对应的命令,是外置命令。
bash 有40多个内置命令,最多可以有12个命令行参数,同时支持对命令行进行编辑。
方括号代表可选。命令可能具有0个或多个参数。
[选项] 是对命令的特别定义,可以理解为更具体的告诉命令做什么。以 “-” 开始的选项通常只有一个字母,多个选项可以用一个 "-" 连接起来。比如 "ls -a-l" 和 "ls -al"是相同的。有的选项以 “--” 开头,这些选项通常是一个单词,比如 --number,很多 "--" 格式的选项都有用 “-” 加上第一个字母的简写形式。
在命令、选项和参数之间用空格或制表符(tab)隔开。连续的空格被 shell 解释为一个空格。
输入命令,然后回车执行命令。命令完成后会返回到提示符状态。如果没有此命令,会提示 "bash:....:command not found"
linux 命令是严格区分大小写的,同一个单词大写和小写作为不同的命令。
可以用 ";" 将两个命令隔开,从而可以在一行中输入多个命令,按回车后 shell 将依次执行这些命令。
shell 到达行位时会自动换行,可以使用反斜杠 "" 或者分号 ";"在多个命令行上输入很长的单个命令或者多个命令。
命令、目录名或者文件名的一个或几个字母时,按下 tab 键,shell 会在相关的目录下自动查找匹配的项,自动补全命令、目录名或者文件名。如果一次 tab 出不来就按两次。用自动补全可以提高效率。
5 shell 提示符"#" 符号结尾的命令提示符,表明该 shell 的用户是 root 用户。
"$" 符号结尾的命令提示符,表明是 root 以外的用户。
默认的其他提示符:[登录用户名 @ 主机名 当前目录]
"~" 表示当前目录是该用户的主目录。
可以定制 shell 的提示符,以显示系统信息或正在进行的工作。 可以参考文档 Bash Prompt HOWTO,或者 bash 自己的帮助文档。
shell 命令是控制台命令,使用标准输入输出设备,即从键盘接受输入,将结果显示在显示器上。可以将 shell 命令的输入输出重定向到其他文件或设备。
X # 某一个命令 X < file # < 输入重定向符。 X 命令在执行过程中需要从控制台输入数据,该命令可从文件 file 中读取数据。 x > file # > 输出重定向符。 X 命令的输出结果写入文件 file 中,如果file中原来有数据,则将原有数据清除。 x >> file # >> 不清除 file 文件中的原有内容,而是将新数据附加在原数据之后。 ls -l > lsresult # 控制台不显示目录信息。会将信息存储到 lsresult 中 7 管道