来源:赛迪网 作者:kid
如同其他UNIX类系统,Linux本身也是基于命令行的。试试“Ctrl”+“Alt”+“F1”。这就是控制台,算是Linux的本来面目。至于使用方法,除了多出登录注销外,和前面章节所提到的“终端”差不多。在X-Window出问题或不运行X-Window的时候,操作主要在这里完成。
Linux在控制台下提供了不止一个终端,支持多用户同时登录,包括在本机同时登录。控制台“Alt”+“Fx”能够切换到第x个终端。如果需要从X-Window里跳到第x个终端,需要“Ctrl”+“Alt”+“Fx”。
一般地,Linux发行版提供7个虚拟屏幕,1~6号是控制台终端,第7个上面跑X-Window。红旗Linux桌面4.0只提供了2个控制台终端,第3个跑X-Window,如果需要更多控制台终端,可以修改“/etc/inittab”,找“# Run gettys in standard runlevels”一行,下面以数字和“#”开头的6行都是控制台终端说明。以“#”开头的行在大多数配置文件里表示注释,即该行不生效。把那几个“#”去掉,重新启动后即可获得全部6个控制台终端。
前面提到的“rxvt”,运行时会在图形界面中虚拟一个终端窗口,由于实际功效几乎完全相同,从这里起,本文档中不论是图形界面下开启的“终端”,还是控制台下登录后的终端,如没有特别说明,均以不带引号的“终端”指代。必要时则以“虚拟终端”和“控制台终端”区分。
注意,在控制台终端下登录时,“login: ”处输入帐号,“password: ”处输入口令。同样为安全起见,输入的口令不显示。控制台终端注销用命令“logout”。在控制台终端启动的后台程序不会因为注销而终止。
前面说过,控制台终端“算是Linux的本来面目”。也只能“算是”,因为各终端里运行的命令行程序并不是终端本身,更不是Linux本身。像X-Window一样,那个命令行程序实质上也是个外围程序,叫“shell”。
“shell”,壳。从名字看,也许你已经猜到一些东西。不错,它包含了用户界面功能,负责接收使用者输入的东西,翻译后发送给Linux内核处理。如果有输出信息,它也会把输出信息显示出来。相对DOS而言,shell就相当于“command.com”。
shell同样能进行由几个命令串成的“批处理”。与“command.com”不同,shell的功能要强大许多。一个功能稍强的shell脚本,已经具备高级语言的语法结构,因此编写shell脚本在很多情况下也被看作是编程。
一般情况下,在控制台终端登录或在图形界面下开启“终端”,默认都会启动一个shell来接待使用者。
可以在shell的命令行里启动另外一个shell。退出当前shell的通用命令是“exit”。如果当前使用的shell正是控制台登录后启动的,则“exit”等效于“logout”。
shell中启动的后台程序不会因正常退出而终止。所谓非正常退出,指强行杀掉这个shell;在图形界面下用“打叉”方式关闭终端也算强行终止一个shell。
shell有很多种,各有特色。目前使用比较广泛的是shell是“bash”,主要的Linux发行版均以其作为默认的shell。“bash”和其他主流shell都支持一次输入多个命令,支持启动后台程序。如果要依次执行多个命令,命令间用“;”隔开;如果要让这个程序在后台运行,在命令后面加“&”。