unix系统学习_如何学习基于linux/unix 系统环境下的c++软件开发 - CSDN
  • unix系统学习总结

    2019-01-24 11:15:02
    学习unix系统的基本文件系统,了解每个文件的用法,其中用到最多的是/etc目录,配置文件所存放的地方,一般的命令都存在/bin目录中,然后是一些基本的命令,如mv,ls,tree,which等,查找文件有find操作,find有...

    第一天:
        学习了unix系统的基本文件系统,了解每个文件的用法,其中用到最多的是/etc目录,配置文件所存放的地方,一般的命令都存在/bin目录中,然后是一些基本的命令,如mv,ls,tree,which等,查找文件有find操作,find有三种模式,一个是根据名字,参数为 -name(find [dir] -name [filename]),根据大小,参数为-size(find [dir] -size [+10M] -size [-1000M])(在dir目录中查找大于10M小于1000M的文件),根据类型,参数为-type(find [dir] -type [f])(查找dir目录中所有的普通文件),如果查找内容的话需要用grep(grep [option] [pattern] [file]),用来查找file中存在pattern字符串的信息。接下来就是chmod权限修改,目录的删除创建操作,如果创建多级目录需要加 -p 参数,head和tail查看文件内容,more,less查看文件等,chown和chgrp来修改所有者和所属组的命令。
    第二天:
        tar命令的使用,针对bz2和gzip两种压缩方式,z表示gzip方式的压缩,j表示bz2的方式压缩,需要在后缀名字获得,ps命令来查看进程,常用ps aux 来查看具体信息,kill命令来发送信号,查看具体有哪些信号,可以使用kill -l 命令来查看,然后是env查看环境变量,通过管道(|)来过滤信息,top命令相当于windows下面的任务管理器,接下来是网络的相关命令,如ifconfig查看网卡信息,ping来查看网络情况,nslookup查看域名对应的服务器地址,然后是ssh和scp的运用,ftp服务区的实名匿名登陆。
    第三天:
        上午学了vim的相关知识,基本命令,和各种模式的讲解,常用分屏模式 sp(横向分屏),vsp(竖向分屏),然后是vimrc文件的一些配置选项,因为学过vim所以感觉讲的有点便基础,接下来是gcc和g++的一些参数解释和工作原理,从预处理(-E),编译(-s),汇编(-c),指定输出文件(-o)入手,然后简介了如何生成和使用静态库,详情见另一篇博客即可,然后是动态库的制作和使用,各自的优缺点,动态库的使用方法方面在mac和linux有些不同,具体参考另一篇博客
    第四天:
        学习了gdb调试(见另一个博客),makefile的操作(见另一篇博客),然后讲解了程序运行时的虚拟地址空间,然后是open函数和read,write的函数的使用,对FILE*进行了讲解,里面的三个内容,文件描述符,文件读写指针,缓冲区。
    第五天:
    着重于文件和目录的操作,从lseek函数开始讲解,到stat获取文件的各种信息,通过与lstat比较发现stat具有穿透性具体体现在通过获取软连接信息的时候,stat能找到源文件,但是lstat只能找到软连接并不穿透,他们的信息都存放在stat的一个结构体中。接下来下午学习了使用ulink创建临时文件,然后是opendir,readdir等目录操作,dup,dup2复制文件描述符,fcntl函数修改已经打开文件的权限,具体修改常用的为O_APPEND和O_NONBLK,分别为增添追加写的功能,然后为非阻塞模式。

    展开全文
  • http://www.docin.com/p-237128610.html 2011-09-20 1.
    http://www.docin.com/p-237128610.html

    2011-09-20
    1.
    展开全文
  • unix操作系统概述 概述:UNIX操作系统是一款非常流行的多任务、多用户操作系统。 特点:1、多任务——区别DOS(单任务)  2、多用户—— 区别DOS(单用户)  3、并行处理能力——允许多个处理器协调运行 UNIX...

    unix操作系统概述

    概述:UNIX操作系统是一款非常流行的多任务、多用户操作系统。

    特点:1、多任务——区别DOS(单任务)

               2、多用户——  区别DOS(单用户)

               3、并行处理能力——允许多个处理器协调运行

    UNIX流派:

    UNIX产品
    计算机
    生产厂家
    SCOUNIX PC兼容机 SCO公司
    XENIX PC兼容机 微软、SCO公司
    DigitalUnix DecAlpha机 Digital公司
    Solaris Sun公司 Sun公司
    AIX IBM公司 IBM公司

    UNIX系统组成

    1、  Unix内核(Kernel):系统核心,指挥调度机器运行,直接控制计算机资源。

    2、  Unix外壳(Shell):内核与用户的接口。

    3、  工具以及应用程序:vi编辑器、文件查找、备份。

    UNIX命令

    命令格式

    1、  基本命令格式:Command参数1 参数2 参数3 …

    2、  命令区分大小写,命令和参数必须隔开

    3、  一行可执行多条命令,“;”隔开

    特殊按键


    1、  ctrl+d :结束键盘输入或退出当前shell

    2、  del:停止当前动作回到shell

    3、  ctrl+s:暂停屏幕输出

    4、  ctrl+q:继续屏幕输出

    5、  ctrl+u:删除光标所在行所有字符

    6、  Esc:结束当前操作状态(如vi)

    简单命令

    1、  man命令——查看帮助   eg:man finger

    2、  date——显示修改时间日期

    3、  cal——显示日历

    cal 2010 显示全年日历      cal 8 2010 显示8月日历

    4、  banner ——显示大写

    banner “apple”

    5、  bc——简单计算器   ctrl+d退出bc

    6、  passwd——修改口令

    7、  who——查看当前正在使用UNIX的用户

    8、  who am i——查看用户自己信息

    9、  finger——显示用户信息

    finger smith

    10、             clear——清屏

    11、             exit  logout ctrl+d 注销退出

    UNIX文件系统

    UNIX文件类型

    ls  -d (目录文件)b(块设备文件) c(字符设备文件) l(符号链接文件)

    家目录:UNIX在创建用户名时,会创建一个目录专门供用户使用,称为家目录。


    UNIX文件名称

    1、  最长255字节

    2、  区分大小写(eg:file1和File1是两个文件

    3、  通配符 ?代表以为  *代表多位(eg:ab?    Ab*10)

    UNIX文件存取权限

    文件存取权限


    r 读  w  写(创建删除改名)  x执行文件

    文件权限修改

    格式:chmod  [who] op  permision  filename

     

    Who:表示用户类型

    u  文件属主

                       g  用户组

                       o  其他人

                       a  所有人

    op :表示动作

                       +  加权限

    -         减权限

    Permision:权限

                       r   读

                       w  写

                       x   可执行

     

    eg:chmod u+rwxfile1  修改file1权限 可读可写可执行

    改变文件属主

    格式:chown  属主名  文件名

    改变文件所在组

    格式:chgrp  组名  文件名

    重定向与管道

    重定向:

    将文件的标准输出重新定向输出到文件,或将数据文件作为另一个文件的标准输入内容。

    <       重定向输入

             >       重定向输出,若文件存在,删除原有内容

             >>     重定向输出并追加到尾部,若文件存在,删除原有内容

     

    例如:

             ls –l >  file1       将ls  -l   的内容存到file1中

             ls >> file1            将ls显示的内容附加存到file1尾部

             grepabc < file1         将file1的内容作为grep abc指令的输入

    管道:将一文件的输出作为另一文件的输入。

    |       将左边命令的输出作为右边命令的输入

    例如:

             Ls| more 将ls输出作为more的输入

    UNIX文件系统中常用命令:

    UNIX命令

    示义

    举例

    pwd

    显示当前目录

    pwd

    cd

    改变目录

    cd /usr

    cd

    进入家目录

    cd

    mkdir

    创建目录

    mkdir abc

    rmdir

    删除空目录

    rmdir abc

    rm -r

    删除目录及内容

    rm –r abc

    ls

    显示目录

    Ls abc

    cat

    显示文本文件内容

    cat file.c

    more

    一次一屏显示文本文件内容

    more file.c

    cp

    拷贝文件

    cp file1 file2

    mv

    移动(重命名)文件

    mv call.text call.list

    rm

    删除文件

    rm call.list


    文件系统常用工具以及实用程序

    VI编辑器

    功能:建立修改文件

    1、  编辑器的进入: vi 文件名

    2、  文本输入方式退出:按ESC键进入命令方式

    3、  退出编辑器:退出前,最好按下ESC键,以防止出错。

    a)        :wq   存盘退出

    b)        :q    不存盘退出

    c)        :q!   不存盘强制退出

    d)        :w    只存盘不退出

    利用find命令查询文件

    功能:指定目录及其子目录下查找符合条件的特定文件。

    1、  命令格式           find 目录名 条件

    2、  条件

    a)        –name name   文件或目录名称,可用通配符     -name “.*c”

    b)        –print 将符合条件的路径打出来

    c)        –size n 寻找占用n个block的文件

    d)        –type x 寻找文件类型,x

                            i.             d 目录

                          ii.             f 文件

                         iii.             b 块(block)

                         iv.             c 字符

                          v.             p 管道(pipe)

    e)        –user user 属于用户拥有的文件,user为用户名或者uid

    f)         –group group 用户组或者gid

    g)        –links n  寻找连接数等于n的所有文件

    h)        –atim n  寻找n天之前曾被存取的文件

    i)          –mtime m 寻找m天之前曾被修改的文件

    j)          !条件逻辑运算符 非 例如:-name “*.c”

    k)        –o 或 例如:-size +10  -o  -links3

    l)          空格与 例如:-size +10  -links 3

    3、  用法举例:

    a)        Find /temp –name  “abc*” –print          temp目录下查找abc开头的文件并打印目录

    Find. –name test –print                              当前目录下查找test文件

    grep命令基本用法

    功能:在整个文本文件中寻找特定字符串,并将所有出现该字符串的行打印

    1、  命令格式:grep 字符串 文件名

    2、  用法举例:

    a)        grep abcd temp

    b)        grep “hello world” temp  此处由于字符串有空格,故要用引号引起

    cmp命令比较文件

    功能:可比较文本文件或非文本文件,cmp命令显示两文件第一次数据不同位置,若相同则不显示

    1、  命令格式:cmp [-ls]file1 file2

    a)        –l     显示每个不同之处不同字节的内容

    –s     只显示cmp命令返回值(相同为0,不相同为1)

    UNIX简单维护与管理

    UNIX开机举例

    1、打开开机电源

    2、出现boot  回车

    3、ctrl+d 进入多用户模式  输入用户名root密码进入单用户模式

    4、输入时间日期

    5、出现login 开机成功

    UNIX关机举例

    在root用户下键入shutdown –g0 –y

    注意:必须在执行完shutdown命令,并出现允许关机的信息时,再关掉主机电源。未出现允许关机的信息,千万不要关主机电源

    修改系统时间

    date –t 201701011800

    控制后台进程

    1、  显示进程信息

    a)        ps            显示使用终端有关的进程信息

    b)        ps  -u  用户名                       显示某用户的进程

    c)        ps  -e                                                  显示所有正在运行的进程信息

    d)        ps  -f                                                    长列表显示每个进程信息

     

     

    ps  -ef   长列表显示所有正在运行的进程信息

    2、  kill 杀掉后台进程

    a)        kill pid               删除进程号

    b)        kill -9 pid    强制删除进程号

    3、  停止失控进程步骤

    a)        在未锁死的终端以root登录

    b)        用ps –ef  和  grep 关键字  找到失控的pid

    c)        Kill pid 若杀不掉  执行kill -9 pid

    若还杀不死,执行shutdown

    查看磁盘使用情况

    df -v    查看磁盘自由空间

    du  [文件名]  查看磁盘使用情况

    查看网上用户信息

    Finger 显示正在使用UNIX系统的用户信息

    格式: finger  [用户名]  [@主机域名或ip地址]

    用法举例:

             Finger       查看本地所有用户信息

             Finger  root    查看root用户的信息

             Finger  @abc  查看主机abc上的所有用户信息

             Finger abc @192.168.1.32 查看主机192.168.1.32上abc用户信息

    Telnet和 ftp在网络上登录和拷贝

    1、  telnet:通过网络远程登录unix的软件

    a)        telnet运行格式:

    telnet  IP地址或域名

    2、ftp:telnet允许在远程主机上登录并使用其资源,ftp允许在本地计算机和远程主机之间传递文件。

    展开全文
  • 与一般操作系统一样,UNIX系统也是运行在计算机系统的硬件和应用程序之间,负责管理硬件并向应用程序提供简单一致的调用界面,控制应用程序的正确执行。UNIX与其他操作系统的不同之处主要有两点:UNIX与其他操作系统...
    1.UNIX操作系统简介 

    UNIX操作系统是一个多用户、多任务的操作系统,它于1974年问世。与一般操作系统一样,UNIX系统也是运行在计算机系统的硬件和应用程序之间,负责管理硬件并向应用程序提供简单一致的调用界面,控制应用程序的正确执行。UNIX与其他操作系统的不同之处主要有两点:UNIX与其他操作系统的内部实现不同; UNIX与其他操作系统的用户界面不同。

    除了提供内核来完成传统操作系统的功能外,UNIX还为用户提供了一组系统库和标准应用。这一标准的界面不仅可以使应用程序方便地移植,还可以让用户方便地使用。标准界面的优点是应用的可移植性,即一个应用程序可以不加修改地运行在不同硬件结构的各种机器上。

    2.文件系统基础

    UNIX内核有两个基本的子系统:文件子系统和进程控制子系统。文件子系统负责文件的相关操作和管理进程控制子系统则负责与进程相关的操作与管理

    文件子系统管理
    UNIX内核有两个基本的子系统:文件子系统和进程控制子系统。文件子系统负责文件的操作与管理;进程控制子系统则负责与进程相关的操作与管理。本部分我们介绍文件子系统的管理。
       几个术语
      逻辑盘:物理实盘在内核中的简化。用户使用逻辑盘不必了解物理实盘的具体情况。因此系统管理员必须了解逻辑盘。
      分区:内核在使用逻辑盘时。常常为了各种需要将逻辑盘分成几个部分,每个部分就成为一个分区。
      文件系统:文件系统存在于分区之中,它只是经过处理的分区,是UNIX系统在磁盘上可以存放数据的一种机制。
      设备项:就是与设备对应的文件。存放在/dev目录下。
    针对多数使用的IDE硬盘,UNIX以如下形式定义一个IDE硬盘/dev/hd[drive][partition],每个IDE驱动器从0开始标记,分区从0开始标记。如/dev/hd00 为第一条线上的主硬盘。对SCSI硬盘,表示机制相同,只是把/dev/hd换成/dev/sd。

    2.1文件系统的构成
    文件系统的结构如下图所示。
       引导块(boot block):位于文件系统的头部,一般占一个扇区,它含有引导和启动操作系统的代码,虽然引导系统只需要一个引导块,但是每个文件系统都有一个(可能为空)的引导块。
       超级块(super block):用于描述文件系统的状态,包括文件系统的大小,可以存储的文件的数量,空闲空间的位置及其他一些有用的信息。
       索引节点表(inode table):存放文件系统中文件的索引节点,内核通过索引节点表中的索引来访问索引,从而访问文件。有一个节点是根索引节点,通过它就可以访问文件系统的目录结构。

      数据块(data block):存储文件系统中文件的数据及进行文件系统管理必须的管理数据。


    3.文件系统高级管理
    主要包括对文件系统的创建、安装、拆卸、监控和重组等。
    3.1 与文件系统管理相关的文件
    l /etc/mnttab文件:当前系统中已经被安装的文件系统的列表。存储格式如下
    special: mount-point: fstype:mount-option: mount-time
    其中
    special:文件系统的设备项名
    mount-point:文件系统被安装的目录名
    fstype:文件系统的类型
    mount-option:文件系统被安装时的一些参数
    mount-time:文件系统的安装时间
    3. 2 创建文件系统
    文件系统的创建必须在硬盘的一个分区上进行。因此创建文件系统分为两步:一是对硬盘进行分区;二是创建文件系统。
    硬盘分区采用fdisk命令,其使用方法基本和dos下的fdisk类似,其中有专门创建UNIX分区的选项。
    创建文件系统使用mkfs命令。
    3.3 安装与拆卸文件系统
    l mount命令:实现对文件系统的安装
    mount [-f Fstype] [-v][-r][-m] [-o specific-options] {special | mount-point}
    没有任何参数时,mount命令列出所有来自安装表(/etc/mnttab文件)的备安装的文件系统。Mount命令结束后,将在文件/etc/mnttab文件中加入相应一项。
    l umount命令:实现对指定文件系统的拆卸。
    umount [-m] {special | mount-point}
    该命令实现对已经安装在mount-point上的文件系统或设备项为special的拆卸,命令结束后,文件/etc/mnttab中对应的项被删除。
    3.4 监控文件系统
    系统管理员对文件系统进行管理的一件日常工作就是对文件系统的监控。常用命令如下:
    l du命令:对磁盘分区上的文件系统的使用情况进行统计,并显示出来。
    du [-sar] [name…]
    给出指定文件name或指定目录name下所有(递归的)文件所占用的磁盘块数。如果不指定name,则显示当前目录的磁盘块数。
    -s:对每一个指定的name,只给出总的站用磁盘块数
    -a:对每一个文件都产生行输出
    -r:du命令不能打开或读某个目录和文件时给出相应的提示信息
    l df命令:报告磁盘空间的使用情况
    df [Fstype] [-beIklnt] [-o specific-options] [dir|special]
    显示指定目录或文件dir所在文件系统或指定设备项special对应文件系统使用磁盘分区的情况。如果不指定,则报告所有已经安装的文件系统
    Fstype:指定文件系统的类型
    -I:显示文件系统的inode信息
    -l:仅报告本地文件系统的信息
    -t:显示完整的清单和总计
    l ff命令:列出指定文件系统中的文件名和统计信息
    ff [Fstype]

    4 进程管理
    UNIX系统中所有的操作都是通过进程来实现的,因此对进程的管理是UNIX系统管理中一个十分重要的部分。
    1.进程管理
    UNIX系统提供了一套与进程管理密切相关的命令。
    1.1 报告进程状态
    ps命令:显示有关的活动进程的信息,它所给出的信息是命令执行一瞬间的进程状态。
    ps [options]
    没有任选项时,只显示与执行命令的控制终端有关的进程的信息。常用任选项如下:
    -e:显示当前运行的所有进程的信息
    -f:以full格式产生指定进程的完整的信息清单
    -l:以长格式产生指定进程的详细信息清单
    -t termlist:显示与termlist中所列终端相关的所有进程的信息
    -u uidlist:显示在uidlist中所列用户的所有进程的信息
    -p proclist:显示在proclist中所列的所有进程的信息,proclist为进程id的列表
    1.2 进程调度命令
    nice命令:将较低执行命令的优先级。
    nice [-increment ] command [arguments]
    该命令将降低命令command的CPU调度优先级,若使用increment参数(取值范围为1~19),则优先级降低值为increment,默认值为10。当increment为负数时,则将提高命令command的优先级。
    nohup命令:该命令使得命令的执行将不受挂起和退出的影响。
    nohup command [arguments]
    nohup命令执行命令command,并使得命令在执行期间忽视以外停止和退出的影响。命令的输出被重定向到文件的当前目录的nohup.out文件。
    1.3 等待进程命令
    wait命令将实现对一个进程的等待。命令格式为  # wait [n]
    等待进程号为n的一个进程的完成并将报告进程的终止状态。没没有参数,则将等待所有后台进程的完成并返回代码0。
    1.4 挂起进程命令
    sleep命令,将使得进程的执行被挂起一段时间
    # sleep time 使得shell挂起time秒后,再继续执行
    1.5 终止进程命令
    UNIX系统的系统管理员为了保持系统良好的运转,常需要终止系统中一些活动的进程。
    kill命令将发送一个信号给指定进程,并在缺省情况下终止进程。
    kill [-signal] pid 向进程ID为pid的进程发送信号signal,signal可以是一个数字,也可以是一个符号,在文件/usr/include/sys/signal.h中定义。
    kill -l 将显示系统中定义的所有信号的符号名。
    killall [signal] 命令将实现终止所有活动的进程
    2.作业控制
    UNIX系统中提供了对作业(jobs)的控制。作业和进程不同,一个典型的作业就是一条命令行,其中可以包含简单的命令,shell脚本文件或者用管道相连的多条命令。下面介绍一些与作业控制相关的命令。
    l jobs命令:列出在作业控制下的所有活动作业的信息。使用-l任选项则可以列出较为详细的信息。
    l bg和fg命令:bg命令将在后台运行指定的作业,而fg命令则使指定的作业成为前台运行的作业。命令格式为:bg [%job…] fg [%job….]
    l at和patch命令:这两个命令一起将使得某一作业在以后的某个时刻运行。命令格式为:
    # at [-f script][-m]time[date][+increment]
    # at -l [jobs]
    # at -r jobs.....
    # batch
    at命令用于指定作业执行的时间,batch命令在将排队的作业在系统的负荷水平允许的情况下被执行。主要参数如下:
    -f script:从名为script的文件中读取要执行的作业的命令
    -l [jobs]:向发出本命令的用户报告已经安排的将要执行的作业,或报告指定的作业。
    -m:当作业完成时,向用户发一个邮件以指出作业已经结束
    -r:删除以前用at命令安排的作业。
    Time和date用于指出作业被执行的开始时间和日期。
    l Cron进程与crontab命令、crontab文件
    Cron进程是一个在系统初启时被启动的系统进程,它将在指定的日期和时间启动一个指定的作业,作业通常是在用户的crontab文件中指定的,用户的crontab文件是利用crontab命令建立的。命令格式如下:
    # crontab [file]
    # crontab –e [username]
    # crontab –r [username]
    # crontab –l [username]
    crontab 命令在系统中创建一个cron目录(默认是在/usr/sbin/cron.d)来存储用户的crontab文件,指定了文件file,则把该文件存放在该目录里。主要参数为:
    -e:启动系统默认的编辑器来编辑指定用户username的crontab文件
    -r:删除指定用户username的crontab文件
    -l:显示指定username的crontab文件
    crontab文件的每一行包含6个字段,中间用空格或制表符各开。前5个字段表示作业执行的时间。第6个字段是要执行的作业命令,这个字段中%被解释为换行符。一个crontab文件的例子如下:
    # cat crontab
    30 12 * * * echo
    “ it is time for lunch”% (在每日12:30显示信息提示午饭时间到了)
    23 30 * * 5 backup_job (在每周5的23:30启动备份作业backup_job)
    性能优化和内核参数调整
    UNIX OS在使用过程中,随着环境和主要使用目的的变化,不能完全发挥其潜力,就需要对系统进行调整以适应新的需求。
    作为系统管理员,其主要任务之一就是不停地监控和调整系统的整体性能,这是一项比较复杂的工作,往往涉及到系统的硬件,操作系统及主要业务应用程序等方面。


    微笑微笑微笑微笑微笑微笑微笑微笑微笑微笑微笑微笑微笑微笑微笑微笑微笑微笑微笑微笑微笑微笑微笑微笑微笑微笑微笑微笑微笑微笑
    1 UNIX性能优
    l 为什么会存在性能问题
    计算机运行的应用程序的规模的不断扩大

    应用程序类型的变化,例如一台适合超级计算的计算机,在其上进行大规模事务处理,这台计算机的I/O处理就成为系统性能的瓶颈。


    l UNIX中常见的性能瓶颈
    我们大致可以把计算机资源分成三种类型:计算能力(CPU)、可使用的内存和外部存储器的大小,以及系统的I/O。
    ü 计算能力(CPU):CPU通过调度不同优先级的程序执行,使CPU的处理能力被多个用户程序所共享。计算密集型的应用程序往往占用较多的CPU时间。所以如果多个计算密集的程序同时运行,CPU就可能成为系统瓶颈。
    ü 可使用的内存和外存的大小:UNIX一般把外部存储介质以交换区的形式作为内存的后备存储区使用。当程序所需要的内存大于系统提供的数量时,系统就把一个进程的一部分移到磁盘上为另一进程腾出空间,如果内存仍不够,则把整个进程全部移到磁盘上。

    ü I/O能力:I/O设备作为机械系统,其运行速度要慢几个数量级。当一个应用程序包含大量的I/O操作时,系统会等待I/O操作结束而处于等待状态。


    2. 监视整个系统的性能
    l 使用uptime命令监视系统状态
    使用uptime命令是监视UNIX系统性能的简单方法。它显示在一定时间间隔内系统运行队列中进程的信息。通过这些信息可以大致地分析系统的工作负载。所以当系统性能下降时,首先应使用uptime命令来观察系统运行队列中进程的情况。
    % uptime
    2:07 pm up 11 day(s), 4:54, 15 users, load average: 1.90, 1.98, 2.01
    其中有用的信息是三个负载的平均值:1.90、1.98和2.01分别是前1分钟、5分钟和15分钟内的负载平均值。

    系统管理员需要定期运行uptime命令以观察系统的平均负载值及其变化趋势。系统的问题往往通过上述数据反映出来。当系统负载增大时,说明多条命令被阻塞在内存和I/O系统中。这时需要检查系统的有关信息。一般UNIX系统,负载为2和3 表示轻载,5和6表示中等程度负载,10 以上为过载。不同系统的划分标准是不同的。系统管理员应根据实际情况确定自己系统中划分轻载和过载的界限。


    l 使用ps命令监视进程
    在性能监视过程中,ps命令是一个最有用的工具,它监视系统内活动进程的状态。可以用来检查是否因为某个进程对资源的大量使用导致系统性能的下降。使用ps命令可以获得在某一瞬间系统内部活动进程的情况。
    首先,根据ID寻找由同一用户发出的许多相似的任务。这些任务主要是由于用户运行的脚本在后台并发运多个命令造成的,可以用kill命令终止这些任务。
    然后检查TIME域中积累的各进程的CPU时间。如果某进程积累了大量的CPU时间,说明该进程陷入了无限循环或出现了逻辑错误。要老率是否终止该进程。
    使用 ps –l 检查SZ域中进程消耗的内存数量。如果某进程占用了大量内存,要查明原因,原因不明时考虑终止该进程。同时可以使用vmstat或sar –wpgr命令斤秒年厘时秒系统有关换页和交换的情况。

    如果一个进程使用了大量的CPU资源,使用 ps –l 检查该进程CLS域中的优先级是否过高,是则使用nice命令调整该进程的优先级。


    3. 监视内存的使用
    当程序运行需要的内存大于物理内存时,UNIX系统采用了调页机制,即系统copy一些内存中的页面到磁盘上,腾出来空间供进程使用。大多数系统可以忍受偶尔的调页,但是频繁的调页会使系统性能急剧下降。
    UNIX内存管理:UNIX系统通过2种方法进行内存管理,一种是“调页算法”,另一种是“交换技术”。调页算法是将内存中最近不常使用的页面换到磁盘上,把常使用的页面(活动页面)保留在内存中供进程使用。交换技术是系统将整个进程,而不是部分页面,全部换到磁盘上。正常情况下,系统会发生一些交换过程。当内存严重不足时,系统会频繁使用调页和交换,这增加了磁盘I/O的负载。进一步降低了系统对作业的执行速度,即系统I/O资源问题又会影响到内存资源的分配。

    使用vmstat监视内存性能:该命令用来检查虚拟内存的统计信息,并可显示有关进程状态、空闲和交换空间、调页、磁盘空间、CPU负载和交换,cache刷新以及中断等方面的信息。


    4.监视磁盘系统的性能
    磁盘操作是程序执行中最慢的操作。在关系数据库使用的系统中,磁盘操作的性能在计算机系统的整体性能中的地位是很高的。因此UNIX系统调整的主要目标之一就是怎样减少不必要的或效率低的磁盘I/O操作。

    大多数与磁盘性能相关的变量主要是关于磁盘的特性(如转速和磁头移动速度等),I/O控制卡、I/O固件和软件以及系统的I/O背板等。


    使用df命令监视文件系统:系统运行中遇到的最大也是最常见的问题就是用完了磁盘空间,尤其是/tmp和/usr空间。究竟应分配多大,也没有一个具体的答案。使用df命令可以显示每个已安装磁盘上的可用空间。


    5.监视网络性能
    与其他系统资源(如CPU、磁盘容量等)一样,网络也是一种有限的资源。通过执行一些命令,用户可以直接检查网络的带宽。

    使用netstat监视网络性能:使用该命令,不加任何选项时,可以检查网络的负载情况。其中的域Send-Q比较重要,它反映了发送包队列的长度。如果该值十分大且在某些连接上不断增加,说明网络出现了故障。使用带-s的选项可以显示网络支持的每一种协议(如UDP,IP,TCP)的统计信息,这些信息可以用来分析协议中出现的问题。使用带-i的选项可以监视网络的性能并可以报告一些网络内部的信息,可以报告计算机发送和接收数据包的个数以及网络上碰撞和错误的情况。频繁地发生“碰撞”和错误,则会降低网络的性能。


    6.内核调整
    内核调整是一项复杂的技术。UNIX操作系统中最关键的部分就是内核,它管理各个主要的子系统,包括内存、磁盘I/O、CPU的使用以及进程调度等。系统为用户工作的控制核心。
    内核调整对系统性能会有积极影响,也可能有消极影响。每个内核模块中都有多个参数可调。调整参数的目的有两个,一个是减少内核对内存的需求,提高内存的利用率,从而提高系统的吞吐率;二是提高系统的能力,满足用户或处理器更高的要求。

    内核表格:许多情况下,系统管理员需要检查或修改内核表格,如在增加新用户之前,在提高X WINDOWS 或NFS的利用率之前,以及在运行那些能产生很多进程的作业之前。


    下面介绍几种内核表格:
    l 进程表:决定了系统同时可运行的进程数。这些进程包括守护进程、本地用户运行的进程、远程用户运行的进程以及用户进程创建的子进程。若进程表已满而系统又要启动一些守护进程时,系统就会出现一些问题。
    l 用户进程表:控制每个用户有多少个进程可在系统中同时运行。
    l Inode表:该表包含以下各项:(1)每个打开的管道;(2)每个用户的当前目录;(3)每个文件系统的安装点;(4)每个活动的I/O设备。当inode表满了以后,系统性能就会下降,控制台就会显示错误信息。

    l 打开文件表:它决定了系统一次最多能打开的文件的个数。如果该表已满,而又出现了一个打开文件的系统调用,这时会出错,出错信息在控制台被记录下来。


    l 定时器表:该表决定了系统能同时工作的定时器个数,它对于一些与内核相关的操作或I/O操作十分重要。当定时器表溢出时,系统可能会崩溃。
    显示可调内核参数的当前值:使用sysdef -i 命令。
    修改配置信息文件:使用文件/etc/system来修改可调的内核参数,基本格式为
    set parameter=value
    这种修改会带来内核参数的永久性变化。修改后重新启动系统才有效。
    Maxusers参数:许多内核表项随着maxusers参数的变化而变化,其中maxusers是系统支持的最大的用户数。修改maxusers的值,系统会根据该值的变化自动调整各表项的数目。使用/etc/system文件中的命令修改maxusers的值, set maxusers = 。


    SCO OPENSERVER RELEASE 5安装步骤
    1、安装准备工作:
    [1]准备好安装盘,包括引导盘和光盘。
    [2]一些网卡需要在DOS环境下设置地址和中断才能使用,安装前需要预先设好。
    [3]安装前应保证网络连通好。
    二、将SCO SOPENSERVERBOOT DISK软盘插入软驱,打开主机和显示器电源,启动机器。
    三、当出现BOOT:提示符时,按回车键启动系统。
    四、启动完毕,屏幕底部出现如下提示:
    时,按〈ENETER〉键进入下一屏。
    五、此屏是一些介绍性信息,按键键进入下一屏。
    六、选择安装介质:
    移动光标,高亮度Accept above choices一项,按键接受缺省设置,进入下屏。
    七、将SCO OPENSERVER光盘插入光驱,移动光标高亮度OK,按键,此时将检查安装介质,请稍候。
    八、选择键盘,应选缺省设置,高亮度Accept above choices一项,按键键,进入下一屏。
    九、一些介绍性信息,按键进入下一屏。
    十、输入系统的授权码信息,高亮度Accept above choices一项,按键,进入下一屏。
    十一、选择高亮度Fresh,按键进行完全安装,进入下一屏。
    十二、选择高亮度OK,按键,进入下一屏。
    十三、输入以下信息:
    [1]System name:主机名.
    [2]Domain name:输入域名。
    [3]Security profile,选择Traditional.
    [4]Time Zone:按空格键,而后屏幕提示标题为"Time Zone"的对话柜。将高亮光务移至"Geographical area:",输入空格,屏幕提示一个地区列表框。用上下键选中"Asia"并按键。些时屏幕回到标题为"Time Zone"的对话框,移动高亮光条到"Asia time Zone",输入空格。屏幕提示一个时区列表框,用上下键选择"China standard Time(CST)"并回车。
    [5]Language:按空格键,选择 St
    andard C(English)
    [6]将高亮度光条移至Accept above choices,按键进入下一屏。
    十四、输入以下选择:
    [1] Standard Enterprise system configuration: Yes
    [2] Lightweight character terminal configuration: No
    [3] If you run large database products ,choose the following: Database services: Yes.
    [4]将高亮度光条移至Accept above choices,按键进入下一屏。
    十五、输入以下信息:
    [1] 此处先选高亮度第一项Hard disk setup,按空格键,进入下一屏。
    [2] 此屏显示的是设置硬盘,在第一块硬盘处高亮度,按空格键选Interactive fdisk/divvy,其他硬盘保持不变。
    [3] 选择高亮度,按键屏幕将显示一些说明信息,按键进入下一屏。选择高亮度,按键进入下一屏。
    十六、输入以下信息:
    [1] 在Netowrk card 一项中选 Auto detect ,屏幕提示检测到的网卡类型,按回车键继续,也可暂时不配。
    [2] 在Network address一项中按空格键,根据屏幕提示输入网络地址、子网掩码、广播地址,然后选择高亮度Accept above choices返回。
    [3] 在Video and graphics一项中选IBM VGA为缺省。
    [4] 在Mouse一项中选High resolution Keyboard-Mouse(也可按缺省,不配)
    [5] 在Email system一项中选MMDF。
    [6] 选择高亮度Accept above choices,按键进入下一屏。
    十七、输入root口令、再输入一次以确认:选择高亮度Accept above choices,按键进入一屏。
    十八、选OK,按键进入下一屏。
    十九、选择1(1.Continue with hard disk initalization.),回车。
    二十,选择2(2.Use entire Disk for UNIX),回车。
    二十一、选5(5.Activate Partition),设置创建的UNIX分区为活动分区,之后输入'q'回车。
    二十二、选择1并回车。
    二十三、选择1(1.thorough scan( 6M/min approx))并按回车,依次根据屏幕提示输入'y','y'后将开始对硬盘坏点的扫描,等待时间大概为20分钟。
    二十四,按回车选缺省值。
    二十五、输入交换区的大小,以KB为单位。此数值应为物理内存的2-3倍。
    二十六.输入BOOT区的大小,按回车选缺省值。
    二十七、do you want a separate /u filesystem?(y/n). 输入'n'回车。
    二十八、Do you wish to make any manual adjustment to the sizes or names of the filesystems or swap area before the are created on the hard disk?(y/n) 输入 'n' 回车
    二十九、操作系统安装开始,请等候。。。。安装的时间预计为1-2小时,屏幕将会提示系统安装的百分比进度。
    三十、安装完成后,根据屏幕提示重新启动系统。


    第一课:什么是Linux              

      简单地说,Linux是一套免费使用和自由传播的类Unix操作系统,它主要用于基于Intel x86系列CPU的计算机上。这个系统是由全世界各地的成千上万的程序员设计和实现的。其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。

      Linux的出现,最早开始于一位名叫Linus Torvalds的计算机业余爱好者,当时他是芬兰赫尔辛基大学的学生。他的目的是想设计一个代替Minix(是由一位名叫Andrew Tannebaum的计算机教授编写的一个操作系统示教程序)的操作系统,这个操作系统可用于386、486或奔腾处理器的个人计算机上,并且具有Unix操作系统的全部功能,因而开始了Linux雏形的设计。

      Linux以它的高效性和灵活性著称。它能够在PC计算机上实现全部的Unix特性,具有多任务、多用户的能力。Linux是在GNU公共许可权限下免费获得的,是一个符合POSIX标准的操作系统。Linux操作系统软件包不仅包括完整的Linux操作系统,而且还包括了文本编辑器、高级语言编译器等应用软件。它还包括带有多个窗口管理器的X-Windows图形用户界面,如同我们使用Windows NT一样,允许我们使用窗口、图标和菜单对系统进行操作。

      Linux之所以受到广大计算机爱好者的喜爱,主要原因有两个,一是它属于自由软件,用户不用支付任何费用就可以获得它和它的源代码,并且可以根据自己的需要对它进行必要的修改,无偿对它使用,无约束地继续传播。另一个原因是,它具有Unix的全部功能,任何使用Unix操作系统或想要学习Unix操作系统的人都可以从Linux中获益。



    第二课:为什么使用Linux              
      由于Linux是一套具有Unix全部功能的免费操作系统,它在众多的软件中占有很大的优势,为广大的计算机爱好者提供了学习、探索以及修改计算机操作系统内核的机会。

      操作系统是一台计算机必不可少的系统软件,是整个计算机系统的灵魂。一个操作系统是一个复杂的计算机程序集,它提供操作过程的协议或行为准则。没有操作系统,计算机就无法工作,就不能解释和执行用户输入的命令或运行简单的程序。大多数操作系统都是由一些主要的软件公司支持的商品化程序,用户只能有偿使用。如果用户购买了一个操作系统,他就必须满足供应商所要求的一切条件。因为操作系统是系统程序,用户不能擅自修改或试验操作系统的内核。这对于广大计算机爱好者来说无疑是一种束缚。

      要想发挥计算机的作用,仅有操作系统还不够,用户还必须要有各种应用程序的支持。应用程序是用于处理某些工作(如字处理)的软件包,通常它也只能有偿使用。每个应用程序的软件包都为特定的操作系统和机器编写。使用者无权修改这些应用程序。使用Linux,可以将操作系统变成一种操作环境。

      由于Linux是一套自由软件,用户可以无偿地得到它及其源代码,可以无偿地获得大量的应用程序,而且可以任意地修改和补充它们。这对用户学习、了解Unix操作系统的内核非常有益。学习和使用Linux,能为用户节省一笔可观的资金。Linux是目前唯一可免费获得的、为PC机平台上的多个用户提供多任务、多进程功能的操作系统,这是人们要使用它的主要原因。就PC机平台而言,Linux提供了比其他任何操作系统都要强大的功能,Linux还可以使用户远离各种商品化软件提供者促销广告的诱惑,再也不用承受每过一段时间就升级之苦,因此,可以节省大量用于购买或升级应用程序的资金。

      Linux不仅为用户提供了强大的操作系统功能,而且还提供了丰富的应用软件。用户不但可以从Internet上下载Linux及其源代码,而且还可以从Internet上下载许多Linux的应用程序。可以说,Linux本身包含的应用程序以及移植到Linux上的应用程序包罗万象,任何一位用户都能从有关Linux的网站上找到适合自己特殊需要的应用程序及其源代码,这样,用户就可以根据自己的需要下载源代码,以便修改和扩充操作系统或应用程序的功能。这对Windows NT、Windows98、MS-DOS或OS/2等商品化操作系统来说是无法做到的。

      Linux为广大用户提供了一个在家里学习和使用Unix操作系统的机会。尽管Linux是由计算机爱好者们开发的,但是它在很多方面上是相当稳定的,从而为用户学习和使用目前世界上最流行的Unix操作系统提供了廉价的机会。现在有许多CD-ROM供应商和软件公司(如RedHat和TurboLinux)支持Linux操作系统。Linux成为Unix系统在个人计算机上的一个代用品,并能用于替代那些较为昂贵的系统。因此,如果一个用户在公司上班的时候在Unix系统上编程,或者在工作中是一位Unix的系统管理员,他就可以在家里安装一套Unix的兼容系统,即Linux系统,在家中使用Linux就能够完成一些工作任务

    展开全文
  • Linux-Unix系统编程手册学习笔记
  • UNIX系统命令大全

    2018-09-05 00:23:40
    UNIX系统命令大全。建议大家抱着学习的心态去学习黑客。心态很重要
  • 这一章主要对Unix系统的整个结构、进程间的关系以及内核进行了简要的描述。 系统结构
  • 登录 Unix 操作系统

    2018-08-12 16:16:23
    上一节我们了解 Unix 操作系统发展历史, 这一节我们来了解 Unix 的启动,如何优雅的登录和退出 Unix系统启动 系统是指系统从关机状态开始直到系统变为用户可用状态。首先引导程序查找有哪些设备(硬盘,光盘...
  • Unix操作系统发展历史

    2015-08-14 15:17:42
    以下内容总结自《鸟哥的Linux私房菜 -- 基础学习篇(第三版)》 1965年前后,贝尔实验室、MIT、GE共同发起Multics项目,目的是让大型主机可以同时供300台以上的终端机连接使用。1969年后,Bell退出该项目。 ...
  • Unix系统概述

    2010-06-27 16:06:00
    由于Unix操作系统众所周知的稳定性、可靠性,用来...一些初学者对于各种类型的Unix系统特性不熟悉,不知道如何选择,本文主要向大家介绍几种免费的Unix,以及如何获得相应的学习资源。 Linux Linux是遵循POSIX规范
  • 初探 Unix 操作系统

    2018-08-06 01:01:08
    在互联网公司里面,基本大大小小所有的服务器端应用程序都是部署在 Linux ...所以就趁这段时间系统学习一下 Linux 操作系统的基础知识。不求精通,但求能在工作上能够熟练操作,例如编写一些 Shell 脚本,配置一些...
  • Unix操作系统常用命令

    2019-10-17 02:48:51
    Unix操作系统常用命令 一、关于档案/目录处理的命令 1、ls——列目录 这是最基本的档案指令。ls的意义为"list",也就是将某一个目录或是某一个档案的内容显示出来。 格式:ls-1ACFLRabcdfgilmnopqrstux-W[sv]...
  • 咦,操作系统,难道?翻开,从前向后看,稚气未脱的笔迹映入眼帘。居然是2008年的笔记。隐约记得那个火热的夏天,我在自习室复习高数备考,楼道里传来一声吼:放假啦~高数不考啦~ 跟导员沟通后了解是奥运会的缘故,...
  • Unix / Linux 文件系统

    2018-08-19 00:56:47
    作为一名电脑使用者,不懂图形化操作文件系统就不算会使用电脑。那么作为一名程序员,如果不懂命令行操作 Linux 文件系统,就不敢说自己是一名合格的程序员。我们工作中使用 Unix / Linux 作为应用程序服务器,无非...
  • unix是在posix之前就有的,linux是在posix出来之后有的,最初的linux是仿制的minix,unix和linux很多软件都是相通的,linux是UNIX的一个分支,别的分支还有freebsd等,UNIX是命令行下的系统 linux是加了窗体管理的...
  • 直接看下面的知乎的第一个答案,,,先把基础打牢 https://www.zhihu.com/question/66638121/answer/345425079
  • 学习其它unix系统6.学习shell编程7.学习C编程8.制作自己的unix发行版前言对于一些想学习linux及正在学习linux系统的人,非常希望成为linux甚至unix高手,本人从事unix方面的工作很多年了,想介绍一下自已的经验Unix...
  • unix—基本命令unix基本命令 基本命令 获取系统的信息 查看帮助手册 指定章节数的帮助手册 自定义名称永久生效 文件系统 基本命令 修改提示符 [s14516@gdufs]$PS1=’[\u@gdufs]\$’ 指令以冒号分割 /usr/local/sbin...
  • UNIX系统操作入门篇

    2007-04-17 20:54:00
    UNIX系统操作入门篇第一讲这篇东西是关于Unix系统操作的教程。也是Unix的入门教程。如果你有兴趣学,请看下去,保证你可以学到许多有用的东西。如果你满足于dos,windows的操作,不想对网络服务器,有任何了解的话,...
  • 这个项目是操作系统的期末课设,正好最近在学java,于是就试着拿java写了一个,基本功能也都实现了界面效果也还可以,发出来大家让大家指点一下。另外,第一次发博客,还请各位大神轻喷。 一、UNIX文件系统的基本...
1 2 3 4 5 ... 20
收藏数 161,644
精华内容 64,657
关键字:

unix系统学习