Unix操作系统的入门与基础

摘要:
(一)Unix操作系统概述Unix操作系统是一种强大的多任务、多用户操作系统。内核是Unix操作系统的核心,直接控制着计算机的各种资源,能有效地管理硬件设备、内存空间和进程等,使得用户程序不受错综复杂的硬件事件细节的影响。如果用户是在本机上通过网络对远程装有Unix操作系统的主机进行操作,则可以使用telnet进行访问。要注意,在每次使用完毕要退出Unix系统之前,一定要进行注销,以防止他人通过你的账号进入系统,保证系统的完整性。

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操作系统的入门与基础第1张
内核是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的界面。
Unix操作系统的入门与基础第2张
(图1)
我们这里主要是使用命令行方式来使用Solaris,因此点按住“Options”按钮,这时会出现选项菜单,如图2所示。
Unix操作系统的入门与基础第3张
(图2)
将鼠标移动到“Command Line Login”项上后弹开。然后在出现如图3中所示的画面时,敲击回车键。
Unix操作系统的入门与基础第4张
(图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操作系统的入门与基础》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇ping内网一台虚拟机延时很大(hyper-v虚拟机)的解决办法谷歌浏览器安装POSTMAN下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Linux/Unix 桌面趣事:文字模式下的 ASCII 艺术与注释绘画

boxes 命令不仅是一个文本过滤器,同时是一个很少人知道的有趣工具,它可以在输入的文本或者代码周围框上各种ASCII 艺术画。你可以用它快速创建邮件签名,或者在各种编程语言中留下评论块。这个命令可以在 vim 文本编辑器中使用,但是也可以在各种支持过滤器的文本编辑器中使用,同时也可以在命令行中单独使用。 任务: 安装 boxes 使用 apt-get 命...

centos 系统下安装FastDFS+nginx+fastdfs-nginx-module安装配置

前言: 以前的项目上传的文件都是保存到本地或者是局域网内的共享文件夹下,由于数据量,服务器的负载均衡(分机的某些图片无法访问的问题处理)等因素的情况下,就想到用fastdfs来文件管理,花了几天时间硬着头皮去学习怎样安装配置,由于linux基础不好,安装配置起来感觉有点费力,不得不随时去查找一些资料,好在经过这几天的努力安装配置fastdfs最终还是搞定了...

将Eclipse代码导入到AndroidStudio的两种方式

说到使用AndroidStudio,除了新建的项目,我们都会面临的问题是原先Eclipse的代码该怎么导入到AndroidStudio中使用。这方面相关的资料还比较少,自己摸索了一下,总结出这篇博客,希望能让开发者少走些弯路。OK,进入正题。 Google为了让我们更加方便的使用AndroidStudio,提供了两种导入Eclipse代码的方式:一种兼容...

前端构建之NPM

NPM的由来 现代前端开发已经离不开Node了。大家都知道在安装Node时会附赠一个命令行工具Node Package Manager,即npm。或许你已经照着教程输入过好多遍”npm install xxx”,并且你发现npm的命令林林总总几十条,package.json的配置项令人眼花缭乱,但不知你有没有认真想过,我们为什么需要npm?如果没有它,世界...

转:用jupyter notebook打开指定目录下的.ipynb文件

如果直接用命令行或者用快捷方式打开jupyter,默认的环境是anaconda的默认root环境,且打开的目录是默认的工作目录,不是我们的目标目录。 要想用jupyter打开的目录是目标目录,共有两个方法,一个是可以修改jupyter的默认工作目录路径,另一个是用命令行进入指定目录,然后切换到指定的环境,然后启动jupyter,就可以在网页里显示指定目录并...

shell一键安装zabbix

shell     一键部署zabbix服务 (注:脚本当中要注意标点符号的中英文切换) !/bin/bash #关闭防火墙,关闭selinux systemctl stop firewalld setenforce 0 #配置yum源 rpm -ivh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zab...