UNIX与因特网有着很深的渊源,因为因特网的骨干协议TCP/IP原来是UNIX操作系统中的一个通讯模块。事实上,在今天的因特网上提供的服务主机中,运行UNIX类操作系统的主机仍要占绝大多数。
因为许多提供因特网服务的计算机运行UNIX类操作系统,对于需要在UNIX主机上运行和调试网络应用程序的程序员必须具备必要的网络知识。由于目前大部分读者可能得到的类UNIX环境。
1 UNIX基本概念
UNIX帐户
与DOS操作系统不同,我们在使用UNIX前,需要得到一个用户名和口令。通常需要通过系统管理员预先在系统中进行注册。由于UNIX是多用户操作系统,作为系统管理员设立新用户的工作的一部分,系统将为新用户建立一个用户主目录和一个电子邮箱(这个邮箱与因特网的邮箱不完全一样,但至少为在同一主机上注册的用户和管理员之间提供了交流手段),在UNIX中的用户主目录,如同在敞开式办公大厅中的隔断,把磁盘空间用目录的形式分配给每个用户,每个用户可以在自己的目录中进行文件的处理和建立新的子目录以便文件的存档,但未经许可不得进入他人的主目录。
当用户的UNIX帐户建立后,系统管理员通常确定一个Shell (UNIX操作系统和用户之间的接口),通常为Bourne Shell(sh)其命令提示符为’$’,或C Shell(csh)其提示符为百分号(%)之一,对初学者来说,这两种Shell之间的差异所可能带来的影响是可以忽略的。
UNIX登录
用户可以通过拨号访问或从局域网上的计算机登录到另一个UNIX帐户,在我们的实验环境下是使用Windows #系统中的Telnet将PC机仿真为终端后再登录网上的UNIX主机,用户需要有登录用户名和口令。下面是我们登录到一台运行Linux的主机的基本过程:
注意,在使用Telnet进行登录时,一般情况下,可以使用以下格式,例如:
c:>telnet 202.117.35.171 //直接使用UNIX主机的IP地址登录;
c:>telnet mail.xjtu.edu.cn //使用UNIX主机的域名地址登录;
c:>telnet 202.117.35.58 3558 //使用UNIX主机的IP地址加端口号登录。
更改口令
口令是进入用户帐户的钥匙,是防止他人对UNIX系统作未授权的非法访问。为了UNIX系统的安全,保护用户口令是十分重要的。
用户如何管理好自己的口令呢?下面是我们的一些建议:
易于记忆,难以猜测;
至少用六个字符,其中包括两位数字,一个特殊字符;
用六到八个字符(超过八个被忽略);
UNIX口令是大小写敏感的,可以在口令中分别使用大小写字母、数字
可以在口令中使用一或多个特殊符号:
~!$%^&*()-=[]{}|/,.<>;:
不要用可以在英语或外语字典中找到的单词,常用短语;
周期性地改变口令
如果用户忘记了口令,可以同系统管理员接洽并重新设置。用户也可以自行修改,命令为:
$passwd
UNIX文件系统
UNIX文件系统由三种不同类型文件的集合组成:
1.普通文件:包括文本数据、二进制程序或以八位字节存储的信息。
2.特殊文件:如设备文件,提供用户对终端、打印机、软驱和光驱的访问。
3.目录:就是包含连接其他文件、目录的指针的文件。
与DOS类的操作系统采用以卷(盘符)为单位来管理文件的思路不同,UNIX目录组织看上去只有一个(!)倒置的树,倒置树的高层是根目录,用’/’表示。根的分支(或顶级目录)是几个标准的UNIX目录,通常称为bin、etc、usr、tmp和lib,这些标准目录是非常重要的,每个都会包括一些特殊用途的文件。所有用户的用户主目录经常配置在’/usr’目录内部(在Linux系统中,通常为’/home’中)。
UNIX文件系统中特别重要的目录有:
/bin —— 这儿bin代表二进制。二进制是可执行程序。所以该目录包含许多基本的UNIX程序。
/usr —— 它包含用户导向的目录。例如,docs目录包含UNIX信息, man或查阅的联机指南页,等等。
/usr/bin —— 包含面向用户的UNIX程序。
/usr/spool —— 包含几个子目录。例如,mail保存着邮件文件,spool包含了等待打印的文件,uucp包含了已经从一个UNIX机器拷贝到另一个上的文件。
/dev —— 包含设备文件UNIX把任何系统资源,包括设备,当作文件来对待。设备文件用于访问系统的硬件组件。例如,/dev/tty 是系统上的终端。/dev/floppy 是指系统上的软盘。
/etc —— 包含许多UNIX配置文件。例如,passwd文件就包含在这个目录中。系统口令文件包含用户ID,每个用户的密码的加密备份,以及必须在用户登录进系统后立即执行的程序的名称。/etc目录下的大多数文件是文本文件,可以编辑这些文件来更改系统的配置。
在UNIX文件系统中文件和目录的位置可以用路径名加文件名表示。路径名的表示法可以是绝对的,如’/usr/home/guest/.profile’。也可以是相对的,如’../httpd/bin/apachectl’。所谓绝对路径是从根目录到需求目录所经过的目录的精确描述,而相对目录是指相对于用户当前所在工作目录的经过路径指示符和其他文件目录计算所得的目录,当用户登录到UNIX时,用户就处在预先设置在用户主目录之内。了解和掌握下列目录指示符是十分重要的:
’.’ 表示用户所在的当前目录;
’..’ 表示用户所在的当前目录的上一层目录;
’/’ 单独使用或放在路径名的开始表示UNIX的根目录;在目录名中间作为不同层次目录之间的分隔(注意这个符号与DOS系统中的不一样,DOS系统中的类似符号为’’)。
创建和命名文件
用户可以在自己主目录中使用编辑器和Shell命令创建文件,也可以从远程主机输入文件。尽管在UNIX创建文件时的命名的规则是非常自由的,但是仍需要注意一些指导原则:
文件和目录可以使用字母和0~9数字进行命名。用户会发现用小写字母命名普通文件,用大写字母命名目录是很有帮助的,这样当用ls命令来显示文件名时,很容易区分目录和文件。
避免文件名用’.’(英文中的句号)开头。用’.’开头的文件名在UNIX中将作为隐含文件,如果该文件存在用户主目录中,将会被作为用户登录时的初始化文件处理。这类文件必须用ls -a命令才能显示。
使用连字号、下划线在文件名内部分离单词,可增加文件名的可读性。
虽然UNIX允许使用,还是建议文件名中避免空格。文件名有空格会带来显示和操作上的麻烦。
对不同类型的文件,采用标准的文件名后缀。
创建和命名目录
在UNIX中,一个目录实际上是一个文件,但不同于一般文件。目录中包含了链接到其他文件和目录的指针,为了创建一个目录,要用mkdir命令。例如,输入如下命令创建一个目录,名字叫做files.to.get,可能希望保存获取的因特网文件:
$mkdir file.to.get
路径和目录
当用户登录到个UNIX帐户时,用户已经自动进入了用户的主目录。当用户移动到不同的目录时,用户所处于的目录称为工作目录。
如果用户想知道当前工作目录是什么,可使用pwd命令来显示(显示结果为绝对路径形式)。如果用户不知当前自己的工作目录在何处而又想要尽快返回用户主目录,可使用cd 命令返回。
目录选择命令cd是用来进入各个目录的主要方法,使用时要注意根据需要使用绝对或相对路径名,如:
$cd / //移动到UNIX的根目录;
$cd .. //移动到当前工作目录上一层的目录
$cd public_html //移动到当前工作目录下的一个称为’public_html’的目录
列出文件和目录
与DOS系统中的’DIR’命令一样, UNIX使用’ls’命令列出目录中的文件(Linux目前也支持’dir’命令,这可能也预示着类UNIX系统的发展方向)。
当使用这一命令列文件时,目录名和文件名同时出现。Ls命令使用的形式(或选项参数很多,在许多类UNIX系统中,ls命令的选项可能超过26种,而一般的选项都只用一个字母,这就意味着同一字母的大小写不同其作为选项使用的意义也有差别)。但常用ls命令选项的意义并不复杂,如:
$ls //以简约格式列出文件及目录,相当于DOS中的’DIR /W’;
$ls -l //以长格式列出文件及目录,相当于DOS中的’DIR’;
$ls -la //长格式列出,包括目录中的隐含文件(文件名以’.’开头的文件);
查看文件
为了察看文件内容,在UNIX中有几种选择。如:
$cat myfile
该命令(类似DOS系统中的Type命令)可使文件内容在屏幕上连续滚动地显示,使用Ctrl+s可以暂停屏幕滚动。另一中方法是more命令。如:
$more myfile
用more命令时,在屏幕右下方会出现’more’字样,同时显示剩余页数的百分比。为继续显示下一屏,可按空格键。要中途退出显示,单击’q’键。
重命名或移动文件
如果想重命名一个文件,或者更正在文件名中的拼写错误,可使用mv命令:
$mv holle hello //这里用hello替代holle,hello成为新文件名
当mv命令在个目录内部使用时,它将用新文件名替换旧的文件名(此时该命令的功能类似于DOS中的Ren命令)。我们也能使用这个命令移动将文件到目录中(此时该命令的功能类似于DOS中的Move命令)。如:
$mv index.html public_html //public_html为网页发布目录
删除文件和目录
删除文件和目录需要使用两个命令:rm和rmdir。为了从一个目录中删除文件,输入rm后跟着目录或文件名(注意:UNIX一般不提供undelete的功能)。
为删除目录,输入rmdir,后而跟着目录名,但这条命令只能删除空目录(即目录下无子目录或文件,该命令的功能类似于DOS中的Rd命令))。如:
$rm test.c //删除test.c文件(该命令功能类似于DOS中的Del命令);
$rm * //删除当前目录下所有文件,这条删除命令很危险;
$rm -I * //这条命令对每个文件是否删除会出现交互性提示;
$rmdir Testdir //删除Testdir目录(假设该目录为空);
$rm -r /tmp //该命令由管理员发出,可删除/tmp和其中的所有文件和子目录
(此时该命令功能类似于DOS中的Deltree命令);
UNIX联机帮助
常用的UNIX帮助命令为man。如:
$man ls //查询ls命令的用法,基本上是一个命令参数的查询手册;
$man -k keyword //使用关键词查找相关命令,属于查询向导。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
作者
相关推荐
-
关于apt-get:非Linux管理员应该知道的那些事
Apt-get是广泛应用在Unix和Linux系统中的应用程序管理器,Windows和Linux管理员也可以受益于其功能。
-
Unix与Linux之间的差异不可忽视
Unix与Linux看起来非常相似,但如果没有知晓Unix和Linux之间众多细微与定义差异,可能会造成一些问题。
-
Unix在现代数据中心的份额与角色是什么?
已经40岁的Unix操作系统似乎已经廉颇老矣,但在现代数据中心中可能还有价值所在。那么今天Unix的位置在哪呢?
-
克服多重挑战 成功从Unix迁移到Windows
和Unix正在失去企业市场相对应的是,企业也在为他们的工作负载寻找新的承载平台, 微软Windows是备选目标之一。在处理Unix到Windows的迁移工作时规避许多障碍。