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系统命令集合及其使用技巧

Unix操作系统的入门与基础的更多相关文章

  1. Git 快速入门--Git 基础

    Git 快速入门 Git 基础 那么,简单地说,Git 究竟是怎样的一个系统呢? 请注意接下来的内容非常重要,若你理解了 Git 的思想和基本工作原理,用起来就会知其所以然,游刃有余. 在开始学习 G ...

  2. 1.Docker容器学习之新生入门必备基础知识

    0x00 Docker 快速入门 1.基础介绍 描述:Docker [ˈdɑ:kə(r)] 是一个基于Go语言开发实现的遵循Apache 2.0协议开源项目,目标是实现轻量级的操作系统虚拟化解决方案: ...

  3. Qt入门之基础篇 ( 二 ) :Qt项目建立、编译、运行和发布过程解析

    转载请注明出处:CN_Simo. 题解: 本篇内容主讲Qt应用从创建到发布的整个过程,旨在帮助读者能够快速走进Qt的世界. 本来计划是讲解Qt源码静态编译,如此的话读者可能并不能清楚地知道为何要静态编 ...

  4. Qt入门之基础篇(三):掌握Qt4的静态编译基本方法

    转载载请注明出处:CN_Simo. 导语: 前两章都提到过“静态编译”(Static Compilation),在Windows下一次静态编译差不多需要长达三个小时才能完成,而且还非常容易由于各种原因 ...

  5. Spring Boot 入门之基础篇(一)

    原文地址:Spring Boot 入门之基础篇(一) 博客地址:http://www.extlight.com 一.前言 Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是 ...

  6. Python之路,第一篇:Python入门与基础

    第一篇:Python入门与基础 1,什么是python? Python 是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言. 2,python的特征: (1)易于学习,易于利用: (2)开 ...

  7. 8 张脑图入门 JavaScript - 基础面试不倒

    8 张脑图入门 JavaScript - 基础面试不倒 转载请注明出处 第一:JavaScript 的变量 第二:JavaScript 运算符 第三:JavaScript 数组 第四:JavaScri ...

  8. Qt入门之基础篇 ( 一 ) :Qt4及Qt5的下载与安装

    转载请注明出处:CN_Simo. 导语: Qt是一个跨平台的C++图形界面应用程序框架.它提供给开发者建立图形用户界面所需的功能,广泛用于开发GUI程序,也可用于开发非GUI程序.Qt很容易扩展,并且 ...

  9. Python入门篇-基础数据类型之整型(int),字符串(str),字节(bytes),列表(list)和切片(slice)

    Python入门篇-基础数据类型之整型(int),字符串(str),字节(bytes),列表(list)和切片(slice) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Py ...

随机推荐

  1. windows 下面的grep awk 命令

    windows 下面的grep awk 命令 grep 学习了:http://blog.csdn.net/chengfans/article/details/53784936 awk学习了:http: ...

  2. CLion注冊码算法逆向分析实录(纯研究)

    声明 CLion程序版权为jetBrains全部.注冊码授权为jetBrains及其付费用户全部,本篇仅仅从兴趣出发,研究其注冊码生成算法. 不会释出不论什么完整的源码. 网上查了下.已有注冊机,所以 ...

  3. codeforces248(div1) B Nanami's Digital Board

    q次询问,每次询问能够对矩阵某一个值改变(0变1.1变0) 或者是查询子矩阵的最大面积,要求这个这个点在所求子矩阵的边界上,且子矩阵各店中全为1 用up[i][j]表示(i,j)这个点向上能走到的最长 ...

  4. The broken pedometer-纯暴力枚举

    The broken pedometer Time Limit: 3000MS   Memory Limit: Unknown   64bit IO Format: %lld & %llu i ...

  5. 【Unity】近期整理Unity4.x 项目升级Unity5.0 过程中出现的各种常见问题,与大家共享。

    近期整理Unity4.x 项目升级Unity5.0 过程中出现的各种常见问题,与大家共享. 1:Unity4.x 项目中3D模型其材质丢失,成为"白模"?       解决方式:手 ...

  6. hdoj--5569--matrix(动态规划)

    matrix Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Sub ...

  7. 转】关于cgi、FastCGI、php-fpm、php-cgi

    首先,CGI是干嘛的?CGI是为了保证web server传递过来的数据是标准格式的,方便CGI程序的编写者. web server(比如说nginx)只是内容的分发者.比如,如果请求/index.h ...

  8. E. Reachability from the Capital(tarjan+dfs)

    求联通分量个数,在dfs一次 #include <iostream> #include <algorithm> #include <cstring> #includ ...

  9. Embedding Flash Fullscreen in the Browser Window

    For Developers‎ > ‎Design Documents‎ > ‎ Embedding Flash Fullscreen in the Browser Window Auth ...

  10. softwares我的软件列表(转载)

    [TOC] 个人在archlinux下的日常使用经验列出,故而在archlinux及其衍生发行版中,以下所列软件几乎可以从archlinux官方源或者aur中搜索下载安装,所列出名字一般即是其包名,使 ...