初识UNIX操作系统

这篇博客介绍了UNIX操作系统的基础知识,包括其历史起源、特点、优势和系统组成。UNIX作为多任务、多用户操作系统,以其强大的功能和可移植性著称。文章详细讲述了从 MULTICS项目到UNIX的诞生,以及UNIX的三个主要派生版本:System V、Berkley和GNU/Linux、Minix、QNXUnix。此外,还探讨了UNIX的基本操作,如登陆系统、创建和管理文件、使用Shell等,为初学者提供了入门指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

初识UNIX操作系统

前言:

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

概述:

​ Unix操作系统是一种强大的多任务、多用户操作系统。按照操作系统的分类,属于分时操作系统。早在上世纪六十年代未,AT&T Bell实验室的Ken Thompson、Dennis Ritchie及其他研究人员为了满足研究环境的需要,结合多路存取计算机系统(Multiplexed Information and Computing System)研究项目的诸多特点,开发出了Unix操作系统。目前商标权有国际开发标准组织(The Open  Group)所拥有。至今,Unix本身固有的可移植性使它能够用于任何类型的计算机:微机、工作站、小型机、多处理机和大型机等。

UNIX——历史起源:

​ 美国电话及电报公司、通用电器公司及麻省理工学院计划开发一个多用途、分时及多用户的操作系统,即MULTICS操作系统。1969年2月,贝尔实验室推出这个项目。  贝尔实验室有个叫Ken Thompson的人,他为这个系统写了一个叫“SpaceTravel”的游戏,为了让这个游戏能玩,后来他找来Dennis Ritchie为这个游戏开发一个极其简单的操作系统,即Unix。

​ 1971年,Ken Thompson写了申请报告,申请到了PDP-11/24的机器,第一版Unix出现了。Unix占用了12KB的内存。1973年,Ken Thompson与Dennis Ritchie用高级语言完成了第三版。此时他们将B语言改良成为现在使用的C语言。

​ 1974年7月他们在 the Communications of the ACM发表的“The UNIX Time Sharing System”,是UNIX与外界的首次接触。

​ 1978年,伯克利大学在第六版的基础上,推出了新功能和改进的Unix,开创了Unix的一个分支:BSD系列,同时期,AT&T成立USG将Unix产品商业化,和BSD的Unix相互抗衡,因此Unix就分为System IV和4.x BSD这两大主流

​ 1979年发布的Unix 第七版被称为是“最后一个真正的Unix”,该版本内核只有40KB

UNIX——特点:

​ 多任务、多用户并行处理能力,安全保护机制,功能强大的shell,强大的网络支持,Internet上各种服务器的首选操作系统,稳定性好,系统源代码用C语言写成,移植性强,出售方源代码,软件厂家自己增删。

UNIX——优势:

  1. UNIX是最早出现的操作系统之一,发展趋于成熟  C语言因UNIX而出现,具有强大的可移植性,适合多种硬件平台;
  2. UNIX具有良好的用户界面;
  3. 提供了完美而强大的文本处理工具,如vi,pico,nano,emacs,为用户提供良好的开发环境;
  4. 好的文件系统,如ufs,AFS,EAFS;
  5. 强大的网络功能,集群和分布式计算;
  6. 完善的系统审计;
  7. 增强的系统安全机制;
  8. 系统备份功能完善;
  9. 系统结构清晰,有利于操作系统的教学和实践;
  10. 系统的专业性和可定制性强;
  11. UNIX系统具有强稳定性和健壮的系统核心;
  12. 系统的规范性;
  13. 功能强大的帮助系统。

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——三大派生版本:

System  V:

​ 主要有A/UX,AIX,HP-UX,IRIX,LynxOS,SCOOpenServer,Tru64,Xenix

​ A/UX是苹果电脑公司所开发的UNIX操作系统,A/UX于1988年首次发表,最终的版本为3.1.1版

​ AIX是IBM开发的一套UNIX操作系统

​ Solaris是SUN公司研制的类Unix操作系统。目前最新版为Solaris 10

​ HP-UXHP-UX是惠普科技公司以SystemV为基础所研发成的类UNIX操作系统

​ IRIX是由硅谷图形公司以System V与BSD延伸程序为基础所发展成的UNIX操作系统

Xenix是由微软公司在1979年从美国电话  电报公司获得授权,为Intel处理器所开发,后来,SCO公司收购了其独家使用权

Berkley:

​ 主要有386BSD,DragonFly BSD,FreeBSD,NetBSD,NEXTSTEP,Mac OS X,OpenBSD,Solaris

​ FreeBSD是由经过BSD、386BSD和4.4BSD发展而来的Unix的一个重要分支

NetBSD 是免费的、安全的具有高度可定制性的类Unix操作系统

​ OpenBSD是从NetBSD衍生出来的类Unix操作系统

​ DragonFly是以与 FreeBSD 采用的实现方式不同的方式来实现并发、SMP、集群以及其他操作系统特性的 BSD 分支

​ Mac OS X是苹果公司(原苹果电脑公司)为麦金塔电脑开发的专属操作系统Mac OS的最新版本

(3)主要有GNU / Linux,Minix,QNXUnix

​ Linux是一类Unix计算机操作系统的统称,后面再主要介绍。

​ Minix是一个迷你版本的类Unix操作系统,其它类似的系统还有Idris,Coherent,和Uniflex等,它是荷兰阿姆斯特丹的Vrije大学计算机科学系的Andrew S. Tanenbaum教授所发展的一个类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
      man ls | more     //对于| more的使用后文将会进行详细解释,这里只需知道使用空格键是往前翻看帮助文档即可。

下面就让我们从头开始作登陆系统的操作吧

登陆系统的操作:

如果在本机上已安装了Unix操作系统,比如安装了SUN-Solaris,则只需启动系统

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

将鼠标移动到“Command Line Login”项上后弹开。然后在出现画面时,敲击回车键。

这样,我们就能使用命令行来操纵操作系统了。这时会要求用户输入用户名及口令,默认情况下可使用用户名“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章 UNIX操作系统概述 7 1.1 UNIX操作系统简介 7 1.2 UNIX系统组成 7 1.3 UNIX启动过程 8 1.4 UNIX用户登录过程 8 1.5 与UNIX有关的几个名词 9 第2章 UNIX基本常识 11 2.1 启动终端 11 2.2 登录 11 2.3 初始化文件 11 2.4 注销(退出UNIX系统) 12 第3章 UNIX文件系统 13 3.1 文件系统分类 13 3.2 文件类型 13 3.2.1 正规文件 13 3.2.2 目录文件 14 3.2.3 字符和块设备文件 15 3.2.4 套接字文件 15 3.2.5 命名管道文件 16 3.2.6 链接文件 16 3.3 树型目录结构 16 3.4 文件和目录的命名 18 3.5 UNIX文件存取权限 18 3.6 重定向与管道 21 3.6.1 UNIX重定向 21 3.6.2 UNIX管道 22 3.7 常用配置文件 22 3.7.1 /etc/passwd文件 22 3.7.2 /etc/group文件 22 3.7.3 /etc/hosts 23 3.7.4 /etc/services 23 3.8 文件系统管理 23 3.8.1 mount 23 3.8.2 umount 24 3.8.3 加载配置文件 24 3.8.4 fsck 25 第4章 UNX系统常用命令 27 4.1 UNIX命令基础 27 4.1.1 UNIX命令的一般格式 27 4.1.2 特殊功能键和字符 28 4.1.3 查看帮助信息 30 4.1.4 在后台运行程序 31 4.1.5 在指定时间执行指定程序 31 4.2 vi编辑器的最基本用法 32 4.2.1 vi简介 32 4.2.2 vi的启动和退出 33 4.2.3 vi的两种模式 33 4.2.4 vi的基本操作 34 4.2.5 vi的高级操作 36 4.3 目录操作命令 38 4.3.1 pwd 38 4.3.2 mkdir 38 4.3.3 cd 38 4.3.4 rmdir 39 4.4 文件操作命令 39 4.4.1 ls 39 4.4.2 cat 40 4.4.3 head 41 4.4.4 tail 41 4.4.5 more 41 4.4.6 cp 43 4.4.7 mv 44 4.4.8 rm 44 4.4.9 chmod 44 4.4.10 chown 46 4.4.11 chgrp 46 4.4.12 cmp 46 4.4.13 diff 47 4.4.14 wc 47 4.4.15 split 47 4.4.16 touch 48 4.4.17 file 48 4.4.18 pack 48 4.4.19 pcat 49 4.4.20 unpack 49 4.4.21 find 49 4.4.22 grep 51 4.4.23 pg 52 4.4.24 ln 52 4.4.25 sort 53 4.4.26 compress 53 4.4.27 uncompress 54 4.4.28 gzip 54 4.4.29 gunzip 54 4.4.30 tar 54 4.4.31 cpio 55 4.4.32 tee 56 4.5 状态信息命令 57 4.5.1 w 57 4.5.2 who 57 4.5.3 whodo 57 4.5.4 logname 58 4.5.5 whoami 58 4.5.6 whereis 58 4.5.7 which 58 4.5.8 date 58 4.5.9 cal 59 4.5.10 time 59 4.5.11 id 59 4.5.12 hostid 60 4.5.13 hostname 60 4.5.14 df 60 4.5.15 du 60 4.5.16 stty 61 4.5.17 tty 61 4.5.18 history 61 4.5.19 alias 61 4.5.20 echo 62 4.5.21 uname 62 4.5.22 clear 62 4.6 网络命令 62 4.6.1 arp 62 4.6.2 finger 63 4.6.3 wall 63 4.6.4 mesg 63 4.6.5 write 63 4.6.6 ping 63 4.6.7 netstat 64 4.6.8 telnet 64 4.6.9 ftp 64 4.7 进程管理命令 65 4.7.1 kill 65 4.7.2 ps 66 4.7.3 sleep 68 4.7.4 nice 68 4.7.5 shutdown 68 4.7.6 halt 69 4.7.7 poweroff 69 4.7.8 reboot 69 4.8 用户管理命令 69 4.8.1 su 69 4.8.2 groupadd 69 4.8.3 groupdel 70 4.8.4 useradd 70 4.8.5 userdel 70 4.8.6 passwd 71 第5章 shell的基础知识 72 5.1 什么是shell 72 5.2 别名化 73 5.3 shell变量 74 5.3.1 shell变量的存储机制 74 5.3.2 变量替换 74 5.3.3 命令替换 76 5.4 用户环境 76 5.5 两个重要的环境变量 77 5.6 shell启动文件 78 5.7 监控进程 78 第6章 附录 79 6.1 ftp命令参考 79 6.2 vi命令参考 80 6.3 find命令详解 85 6.3.1 Find命令形式 85 6.3.2 Find命令参数 85 6.3.3 Find命令举例 87 6.4 grep命令详解 99
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sisyphuss

一个人能走多远,在于与谁同行。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值