摘要:讲解如何对这个系统进行基本的操作
经过前面三个专题的学习我们的linux系统终于能够使用了下面就由我来讲解如何对这个系统进行基本的操作首先的问题当然是我们如何进入它了)
用户的登录注销与关机
摁下电源开关屏幕上刷刷闪过一串串启动内容的文字提示是不是感觉有点兴奋?如果这是你的linux第一次启动那么在服务启动的一串绿色的[OK]突然出现一个红色的false仔细一看好象是一个叫httpd的服务不要害怕这个问题我们在以后的学习中会得到解决最后系统显示
linux login:
作为系统管理员第一次进入系统当然要以超级用户的身份进入和NT中Administrators身份对应的linux帐号是root(这也是一般类UNIX系统中常见的系统管理员身份)在login后面输入root然后回车系统提示
Password:
输入当初在安装的时候选择的系统管理员密码你也许会奇怪系统为什么不显示*号来提示你已经输入好象什么也没有输入光标还在原处闪烁其实你已经输入了你的密码之所以采用这种不回显的技术也是出于安全考虑——减少周围的人知道您密码位数的概率而降低您密码被很快破解的可能性按照你心里想的输入密码然后直接回车OK成功登录系统提示
[root@linux /root]#
符号@前面的自然是你的帐号身份之后的是主机名可能根据你的主机的名称不同而不同/root是你的主目录它既是你的个人配置文件所在的地方也是你每次登录后所在的目录是你受到系统保护的私人领地——当然前提是只有你自己拥有root权限)
和NT不同的是作为多用户多任务操作系统linux在同一台主机的本地就提供了个虚拟控制台分别为tty至tty虚拟控制提供了linux在字符模式下同时运行几个程序的方法实现了多任务处理这六个虚拟控制台可以通过组合键Alt+FAlt+F……Alt+F来进行切换每一个控制台都可以看作一个完全和独立的工作站系统启动的缺省控制台为tty从一个控制台切换到新的虚拟控制台以后linux也会先显示登录提示符就象第一次登录一样在装入另一个命令解释器之前也会询问用户名和口令所以我们可以在不同的控制台以不同的用户身份登录更方便了用特定的身份执行特定的操作当用户从一个虚拟控制台切换到一个新的虚拟控制台以后在原来那个控制台运行的程序将继续运行
我们可以来做个小小的实验在第一个登录的控制台(tty)输入命令ping 这时可以看见类似windows下ping本地的输出紧接着Alt+F切换到第二个虚拟控制台登录以后使用命令ps aux|grep ping(关于这个命令将在第五个专题的进程管理中详细说明它的功能是显示运行中的程序中包含ping串的部分)我们可以看见两行输出一行表示ping在运行中一行表示你的这个查询在查询的时候也在运行)然后我们再用Alt+F切换到第一个虚拟控制台可以看见ping命令还在不停的输出——在你离开这一会它都已经刷了好几屏了用Ctrl+D来结束它吧非常清楚ping命令在我们离开控制台一的时候也并没有被挂起而一直在执行中
在同一个控制台中我们不用先注销也是可以改变我们的系统身份的这可以用命令su实现使用方法是
[root@linux /root]#su username
命令行中的username是你给su的参数例如你想改变自己的身份为bluewind(前提是您已经添加了这个系统用户操作方法可以参考《搞清linux的用户和组基础篇》)那么你可以使用su bluewind命令如果你是从root身份su的话不用输入password而从其它身份则系统会提示输入密码的简单的敲入su不带任何参数的话缺省的认为你想成为root用户身份
用户退出登录有两种方法一种是exit命令——这个命令一般的系统都会提供一种是logout——有些系统如果提供了exit就不再提供这个命令了例如redhat 执行的结果是回到上次转换身份前的用户状态例如你先用root登录再su为bluewind然后你执行exit就回到了root身份再执行exit连root也退出了回到登录提示符的状态
通过telnet登录系统和通过本地虚拟控制台登录很相似只是出于安全性考虑系统不允许直接用root身份通过telnet登录你可以先用一个普通身份登录以后再su成root——如果有必要的话
linux提供了三种关掉系统的方式shutdownhalt和reboot这三个命令在一般情况下只有系统的超级用户(一般都是指root但不全是)才可以执行输入没有参数的shutdown命令分钟之后即可关闭系统在这段时间linux将提示所有已经登录系统的用户如果需要设定等待的时间可以使用如下的选项
○now立即
○+mins在指定的分钟之后
○hh:ss在指定的时间
在关掉系统之前系统会自动产生一个/etc/nologin文件用于说明系统即将关闭用户不能登录进入在这段时间中只有系统管理员可以进入如果你需要获得有关shutdown命令的更详细的帮助可以使用man shutdown命令
halt命令相当于shutdown h now 表示立刻关机
reboot命令相当于shutown r now 表示立刻重起
Shell的使用
如果你熟悉DOS的话你可以用dos中的程序来帮助理解shell它可以被认为是一种简化的shellshell是用户和linux之间的接口用户输入的每个命令都是由shell先解释然后再传给linux内核的有些命令是shell内建的就好象dos的内部命令例如显示当前工作路径命令pwd就是bash内部的其它命令如同dos的外部命令是自己单独的程序
shell的另外一个重要特性就是它自身就是一个解释型程序设计语言shell程序设计支持在高级语言里能够见到的绝大多数程序控制结构关于这个能够单独写一本书^_^我们还是回到正题不过我们可以知道shell命令完全可以完成在dos中象bat程序一样的功能而且更强更方便更随和——随便写一个命令列表的文本文件指定一个shell执行它或者把它的属性改为可执行后直接运行就可以了
shell在用户成功的登录系统后启动并始终作为与系统内核交互的手段直至退出系统
◆常用的shell
在linux系统里可以使用多种不同类型的shell一般来说在/etc目录下会有个shells文件该文件是目前系统中可用的shell类型列表一般包括如下几行
/bin/bash
/bin/sh
/bin/ash
/bin/bsh
/bin/tcsh
/bin/csh
而最常用的主要是Bourne shell(sh)C shell(csh)和Bourne Again Shell(bash)三种
sh是UNIX最初使用的shell并且在每一种UNIX上都可以使用它在编程方面非常优秀但和用户的交互却比较逊
csh更多的考虑了界面的友好性但普遍的认为C Shell的编程接口不如sh由于它的编程语法和c比较相近所以它还是被许多C程序员所使用
bash是sh的扩展并与sh完全兼容并在吸取c和kon shell的优点的基础上对sh增加了和增强了很多特性它是大多数linux系统中默认的shell下面我们将主要介绍bash的简单使用
bash的环境变量的设置主要是在/etc/profile文件里每个用户还可以在自己的主目录(刚登录系统后的当前路径)中的bash_profile文件中定义自己的个人环境变量注意以点开头的文件在linux中是隐藏文件使用ls的a参数才能看见它们的存在
我们比较关心的可能是这样的一行
PATH=$PATH:/usr/XR/bin:/usr/sbin/:/
通过下边的export语句这一句就象dos中设置path路径一样所不同的主要有以下三点
a形式上用冒号分隔各个路径单元不象dos是用分号分隔
b内容上可以使用$PATH代替这个赋值等式前的路径设置(注意linux是区分大小写的)
c效果上这个路径决定了bash查找的绝对范围不要认为bash会象dos自动先查找当前路径除非你在PATH中进行了设置
你可以使用echo $PATH来显示自己的当前PATH设置
关于bash更详细的帮助可以通过man bash命令获得
修改用户缺省shell设置可以参考《搞清linux的用户和组基础篇》的有关内容