http://dev2dev.cnblogs.com/archive/2005/10/10/251894.aspx

Unix操作系统的入门与基础

  与大家熟悉的Windows用户界面和使用习惯不同,Unix是常使用命令运行、极具灵活性的操作系统,目前的产品主要有IBM-AIX、SUN-Solaris、HP-UNIX等。初期接触Unix操作系统,下列的问题几乎是常遇的:由图形界面操作转到以命令行方式操作的不习惯性;在短期内掌握全部命令的困难性;针对同一操作有几个命令的难选择性;不同shell命令格式的易混淆性,等等。一些初学者可能会因此而丧失继续学习的信心。根据上述的实际情况,本文遵循“避繁就简、避滥就精,不求详尽、只求适用”的原则,以初学者上机的必经过程为思路,力求用层次分明的浚理和详略得当的阐释,解读该操作系统使用的基本须知内容,以期达到便捷入门和较快精进的目的。

                                    (一)Unix操作系统概述

  Unix操作系统是一种强大的多任务、多用户操作系统。早在上世纪六十年代未,AT&T Bell实验室的Ken Thompson、Dennis Ritchie及其他研究人员为了满足研究环境的需要,结合多路存取计算机系统(Multiplexed Information and Computing System)研究项目的诸多特点,开发出了Unix操作系统。至今,Unix本身固有的可移植性使它能够用于任何类型的计算机:微机、工作站、小型机、多处理机和大型机等。 
        Unix操作系统通常被分成三个主要部分:内核(Kernel)、Shell和文件系统。 

  内核是Unix操作系统的核心,直接控制着计算机的各种资源,能有效地管理硬件设备、内存空间和进程等,使得用户程序不受错综复杂的硬件事件细节的影响。 
  Shell是Unix内核与用户之间的接口,是Unix的命令解释器。目前常见的Shell有Bourne Shell(sh)、Korn Shell(ksh)、C Shell(csh)、Bourne-again Shell(bash),本文主要以csh和bash为例。 
  文件系统是指对存储在存储设备(如硬盘)中的文件所进行的组织管理,通常是按照目录层次的方式进行组织。每个目录可以包括多个子目录以及文件,系统以 / 为根目录。常见的目录有 /etc (常用于存放系统配置及管理文件)、/dev (常用于存放外围设备文件)、/usr (常用于存放与用户相关的文件)等。

                                       (二)上机基本操作解说

  简介Unix操作系统是作必要的知识铺垫,为避免一开始就进行枯燥论理和罗列繁复的Unix命令、参数让人感到畏惧与厌烦,接下来就先让我们上机操作吧! 
  初次使用Unix,最常见的操作不外乎创建新目录、创建新文件、进入指定的目录、显示目录内容、显示当前所处的路径、查看文件内容、拷贝文件、移动文件、删除文件、删除目录、查看系统帮助等,那我们就模拟这些必经过程来练习基本操作吧。 
  (1)首先让我们在当前目录下创建两个目录dir1,dir2: 
      mkdir dir1 dir2       //输入命令后记得敲一下回车键:) 
  (2)进入目录dir1中创建文件file1,file2: 
      cd dir1                //进入目录dir1 
      touch file1 file2      //创建文件file1,file2 
  (3)再进入目录dir2中创建文件file3,file4: 
      cd ..           //返回上一级目录 
      cd dir2          //进入目录dir2 
      touch file3 file4      //创建文件file3,file4 
  (4)查看目录dir2中所含的文件及子目录情况: 
      ls            //这时会看到屏幕显示出目录dir2中有2个文件file3和file4 
  (5)往文件file3中写入信息,并将其拷贝到目录dir1中: 
      cal 5 2005 > file3     //该句命令后文会有详细讲解,此处照样输入即可 
      cp file3 ../dir1 
  (6)回到目录dir1中,查看所含的文件及子目录情况: 
      cd .. 
      cd dir1 
      ls            //这时会看到屏幕显示出目录dir1中有3个文件file1、file2、file3 
  (7)再查看一下文件file3中内容,并将该文件删除: 
      cat file3         //这时会看到屏幕显示2005年5月份的日历 
      rm file3         //删除文件file3 
  (8)将文件file1移动到目录dir2中,同时查看目录dir1、dir2所含文件及子目录情况: 
      mv file1 ../dir2 
      ls           //这时会看到屏幕显示出目录dir1中有1个文件file2 
      ls ../dir2        //这时会看到屏幕显示出目录dir2中有3个文件file1、file3、file4 
  (9)显示当前所处的路径,并删除目录dir1: 
      pwd 
      cd .. 
      rm –r dir1 
  (10)显示ls命令的系统帮助: 
      man ls 
  在进行第10步操作后,这时会觉得眼前一闪,除了有点类似“黑客帝国”的感觉之外,对于ls的解释是否啥也没看清楚啊?对了,因为我们还没有使用分屏显示信息,那使用如下的命令将会让你的眼前豁然明朗: 
      man ls | more     //对于| more的使用后文将会进行详细解释,这里只需知
                 //道使用空格键是往前翻看帮助文档即可

  看到这里,想必大家对于Unix操作系统的使用会有一定的感性认识了,已基本会使用类似于Windows操作系统中建立文件夹、建立文件、查看文件内容、复制文件、剪切文件、删除文件、删除文件夹等操作了。可且慢,这时大概会有朋友问:“兄弟,偶还没登陆系统呢,怎么进行上面的操作啊?”这个问题提得好,下面就让我们从头开始作登陆系统的操作吧。 
  如果在本机上已安装了Unix操作系统,比如安装了SUN-Solaris,则只需启动系统,稍等片刻后会看到如图1的界面。 

                                                (图1)

  我们这里主要是使用命令行方式来使用Solaris,因此点按住“Options”按钮,这时会出现选项菜单,如图2所示。 

                                                 (图2) 
  将鼠标移动到“Command Line Login”项上后弹开。然后在出现如图3中所示的画面时,敲击回车键。 

                                                       (图3) 
  这样,我们就能使用命令行来操纵操作系统了。这时会要求用户输入用户名及口令,默认情况下可使用用户名“root”、口令为空来进入系统。 
  如果用户是在本机上通过网络对远程装有Unix操作系统的主机进行操作,则可以使用telnet进行访问。假设该装有Unix操作系统主机的IP地址为198.4.30.25,用户使用的操作系统是WindowsXP,则可以进入“DOS命令提示符”状态,输入以下命令: 
      telnet 198.4.30.25 
      login: //输入登录用户名 
      password: //输入登录口令 
  倘若用户使用的是Red Hat Linux系统,则可以在桌面上右击鼠标,在弹出的菜单中选择“新建终端”项,再在随后弹出的窗口中进行相同的操作。通常用户若是第一次登入某远程主机,还需要先进行注册操作,具体情况视该远程主机操作的说明而定。 
  要注意,在每次使用完毕要退出Unix系统之前,一定要进行注销,以防止他人通过你的账号进入系统,保证系统的完整性。输入命令“exit”即可完成注销过程。

                                  (三)演进所涉知识预习

  经过前面的上机操作,大家对于如何使用Unix系统应该有了一定的感性认识。为了下一步更深入的了解掌握Unix系统及使用的一些技巧,这里再对相关的应知内容做一补叙与准备。

  一、关于Shell 
  上文中曾简要介绍过的Shell,不同Shell的命令格式会略有差异,现今最常使用的Shell是C Shell(csh)和Bourne-again Shell(bash)。Shell之间可以嵌套,即在C Shell环境中,输入命令: 
      bash 
就能进入Bourne-again Shell的使用环境。同理在Bourne-again Shell环境中,输入命令: 
      csh 
就能进入C Shell的使用环境。大家可依据自己的使用习惯来选择相应的Shell。

  二、Unix命令格式 
  1、Unix命令提示符 
  在命令行操作环境下,Unix系统会显示一提示符,提示用户可以在此提示符后输入一行命令。不同的Shell有不同的缺省提示符,如B Shell、Bourne-again Shell的缺省提示符为"$",C Shell的缺省提示符为"%"。但当以root用户登录时,系统提示符统一缺省为"#"。 
  2、基本命令格式 
  Unix命令的基本格式如下: 
      Command [option(s)] [argument(s)] 
Unix命令由一个命令(command)和零到多个参数构成。Unix的命令区分大小写,且命令和参数之间、参数与参数之间都应用空格隔开。

  三、Unix文件系统 
  1、Unix文件系统分类 
  Unix操作系统可由多个可以动态安装及拆卸的文件系统组成。Unix文件系统主要分为两大类:根文件系统和附加文件系统。根文件系统是Unix系统至少应含有的一个文件系统,它包含了构成操作系统的有关程序和目录,由“/”符号来表示。附加文件系统是除根文件系统以外的其它文件系统,它必须挂(mount)到根文件系统的某个目录下才能使用。本文中若无特别声明,则都是针对根文件系统来进行说明的。

  2、Unix文件类型 
  在Unix中文件共分为四种: 
  (1)普通文件(-):又分为文本文件、二进制文件、数据文件; 
  (2)目录文件(d); 
  (3)设备文件(l); 
  (4)链接文件(b/c):又可分为块设备文件、字符设备文件。 
  普通文件中的文本文件主要包括ASCII文本文件、英文文本文件和一些可执行的脚本文件等;二进制文件主要是32位的可执行文件等;数据文件主要是系统中的应用程序运行时产生的文件。
  目录文件是用来存放文件目录的。 
  设备文件代表着某种设备,一般放在/dev目录下。它分为块设备文件和字符设备文件,块设备文件以区块为输入输出单元,如磁盘;字符设备文件是以字符作为输入输出单元,如串口。 
  链接文件类似于Windows系统中的快捷方式,它指向链接文件所链接着的文件。 
  值得注意的是,与Windows系统不同,Unix系统中目录本身就是一个文件,另外文件类型与文件的后缀名无关。 
  不同类型的文件有着不同的文件类型标识(可使用“ls -l”命令来进行查看),它们使用下列符号来表示相应的文件类型: 
    -  普通文件 
    d  目录文件 
    b  块设备文件 
    c  字符设备文件 
    l   链接文件

  3、Unix目录结构 
  Unix系统采用树型的目录结构来组织文件,每一个目录可能包含了文件和其他的目录。该结构以根目录“/”为起点向下展开,每个目录可以有许多子目录,但每个目录都只能有一个父目录。

  4、Unix文件名称 
  Unix文件名称的最大长度为256字符,其对字母大小写敏感,比如file1和File1是表示两个不同的文件。要说明的是,如果用“.”作为文件名的第一个字母,则表示此文件为隐含文件,如“.cshrc””文件(对于此文件,后文将有介绍)。 
  值得说明的是,当创建了一个目录或文件时所赋予它的名字并非它的全名。一个目录的全名就是它的完整路径名,而一个文件的全名应该是由根目录到该文件所在目录的这条路径上的所有目录名再加上此文件的名称组成,相互之间用“/”分隔。如有一文件resume处于目录/export/home/ray中,则该文件的全名应为:/export/home/ray/ resume。 
  此外,对于路径名还会有绝对路径和相对路径这样两个概念。绝对路径是指一个目录或文件的全路径名,即以根目录为起始的路径。相对路径则以用户当前工作目录为起始,它是一个相对于用户的工作目录的文件路径。由于从根目录到用户的主目录的绝对路径可能会比较复杂,在csh和bash中可以使用一种特殊字符“~”来代表用户的主目录的绝对路径名。另外,“.”可用来表示当前工作目录,“..”可用来表示当前工作目录的父目录。

  说明:

 工作目录是指用户当前正在其中进行操作的目录。
 用户主目录是Unix系统管理员为每位用户分配的使用空间,该目录名与用户登陆账户同名。用户如以任何除“root”外的账户登入系统,则用户自动登入的就是该用户主目录。

  在了解掌握上述应知应会内容之后,下一步就可深入到Unix系统命令集合及其使用技巧

最新文章

  1. yum只下载不安装:yumdownloader
  2. Android Studio-设置代码自动提示
  3. Mysql的常用用法
  4. sql server 添加字段并且赋默认值和说明
  5. MapReduce编程系列 — 3:数据去重
  6. js数组内置方法
  7. HDU 2389 Rain on your Parade
  8. valgrind用于检测内存泄露
  9. 关于虚拟机打开ubuntu黑屏的问题
  10. Word操作——通配符
  11. matlab的Deep Learning的toolbox 中的SAE算法
  12. python django基础三 模版渲染
  13. 关于Jonathan S. Weissman与RIT(罗切斯特理工学院,位于纽约)
  14. javaBean转为json
  15. dev accordionControl panelcontorl 使用
  16. Python自动化开发 - 面向对象(二)
  17. Vue:v-on自定义事件
  18. MariaDB MariaDB、MySQL存储过程、游标基础应用举例说明
  19. OpenGl 知识一
  20. 如何使用STM32F4的BootLoader和APP程序

热门文章

  1. Linux学习总结(12)——Linux必须学会的60个命令
  2. PNG文件结构分析
  3. Maven集成jetty插件
  4. Java 深拷贝和浅拷贝 利用序列化实现深拷贝
  5. blog_html
  6. centos7 更改网络后 无法重启network (解决办法)
  7. Objects and values
  8. JDK5新特性:可变参数方法
  9. iOS开发下对MVVM的理解
  10. cygwin下调用make出现的奇怪现象