linux操作系统与使用配置

操作系统(Operating System,简称OS)是管理和控制计算机硬件与软件资源的计算机程序,是直接运行在“裸机”上的最基本的系统软件,任何其他软件都必须在操作系统的支持下才能运行。操作系统是用户和计算机的接口,同时也是计算机硬件和其他软件的接口。操作系统的功能包括管理计算机系统的硬件、软件及数据资源,控制程序运行,改善人机界面,为其它应用软件提供支持等,使计算机系统所有资源最大限度地发挥作用,提供了各种形式的用户界面,使用户有一个好的工作环境,为其它软件的开发提供必要的服务和相应的接口。

 

根据操作系统在用户界面的使用环境和功能特征的不同,操作系统一般可分为三种基本类型,即批处理系统、分时系统和实时系统。随着计算机体系结构的发展,又出现了许多种操作系统,包括嵌人式操作系统、个人操作系统、网络操作系统和分布式操作系统。

1. 批处理操作系统

批处理(Batch Processing)操作系统的工作方式是:用户将作业交给系统操作员,系统操作员将许多用户的作业组成一批作业,之后输入到计算机中,在系统中形成一个自动转接的连续的作业流,然后启动操作系统,系统自动、依次执行每个作业。最后由操作员将作业结果交给用户。

批处理操作系统的特点是:多道和成批处理。

2.分时操作系统

分时(Time Sharing)操作系统的工作方式是:一台主机连接了若干个终端,每个终端有一个用户在使用。用户交互式地向系统提出命令请求,系统接受每个用户的命令,采用时间片轮转方式处理服务请求,并通过交互方式在终端上向用户显示结果。用户根据上步结果发出下一条命令。分时操作系统将CPU的时间划分成若干个片段,称为时间片。操作系统以时间片为单位,轮流为每个终端用户服务。每个用户轮流使用一个时间片而使每个用户并不感到有别的用户存在。

分时系统具有多路性、交互性、“独占”性和及时性的特征。多路性指,是指同时有多个用户使用一台计算机,宏观上看是多个人同时使用一个CPU,微观上是多个人在不同时刻轮流使用CPU。交互性是指,用户根据系统响应结果进一步提出新请求(用户直接干预每一步)。“独占”性是指,用户感觉不到计算机为其他人服务,就像整个系统为他所独占。及时性指,系统对用户提出的请求及时响应。

常见的通用操作系统是分时系统与批处理系统的结合。其原则是:分时优先,批处理在后。“前台”响应需频繁交互的作业,如终端的要求; “后台”处理时间性要求不强的作业。

3.实时操作系统

实时操作系统(RealTimeOperatingSystem,RTOS)是指使计算机能及时响应外部事件的请求在规定的严格时间内完成对该事件的处理,并控制所有实时设备和实时任务协调一致地工作的操作系统。实时操作系统要追求的目标是:对外部请求在严格时间范围内做出反应,有高可靠性和完整性。

4.嵌入式操作系统

嵌入式操作系统(EmbeddedOperating System)是运行在嵌入式系统环境中,对整个嵌入式系统以及它所操作、控制的各种部件装置等资源进行统一协调、调度、指挥和控制的系统软件。

5. 个人计算机操作系统

个人计算机操作系统是一种单用户多任务的操作系统。个人计算机操作系统主要供个人使用,功能强、价格便宜,可以在几乎任何地方安装使用。它能满足一般人操作、学习、游戏等方面的需求。个人计算机操作系统的主要特点是计算机在某一时间内为单个用户服务;采用图形界面人机交互的工作方式,界面友好;使用方便,用户无需专门学习,也能熟练操纵机器。

6.网络操作系统

网络操作系统是基于计算机网络的,是在各种计算机操作系统上按网络体系结构协议标准开发的软件,包括网络管理、通信、安全、资源共享和各种网络应用。其目标是相互通信及资源共享。

7.分布式操作系统

大量的计算机通过网络被连结在一起,可以获得极高的运算能力及广泛的数据共享。这种系统被称作分布式系统(DistributedSystem)

 

操作系统的主要功能简单总结为:操作系统位于底层硬件与用户之间,是两者沟通的桥梁。用户可以通过操作系统的用户界面输入命令,操作系统则对命令进行解释,驱动硬件设备,实现用户要求。

 

嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适用于应用系统,对功能、可靠性、成本、体积、功耗等方面有特殊要求的专用计算机系统。

嵌入式系统与通用计算机系统的本质区别在于系统应用不同,嵌入式系统是将一个计算机系统嵌入到对象系统中,这个对象可能是庞大的机器,也可能是小巧的手持设备,用户并不用关心这个计算机的存在。

嵌入式计算机系统同通用型计算机系统相比具有以下特点: 
  1.嵌入式系统通常是面向特定应用的。嵌入式处理器大多数是专门为特定应用设计的,都具有低功耗、体积小、集成度高等特点,一般是包含各种外围设备接口的片上系统。
  2.嵌入式系统是涉及计算机技术、微电子技术、电子技术、通信和软件等各行各业。它是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。
  3.嵌入式系统的硬件和软件都必须具备高度可定制性,只有这样才能适应嵌入式系统应用的需要,在产品价格性能等方面具备竞争力。
  4.嵌入式系统的生命周期想当长。当嵌入式系统应用到产品以后,还可以进行软件升级,它的生命周期与产品的生命周期几乎一样长。
  5.为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存贮于磁盘等载体中。
  6.嵌入式系统本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发。

 

嵌入式系统一般包含嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。

 

嵌入式系统的核心是嵌入式微处理器。嵌入式微处理器一般就具备以下4个特点:
  1)对实时多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时内核心的执行时间减少到最低限度。
  2)具有功能很强的存储区保护功能。这是由于嵌入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断。
  3)可扩展的处理器结构,以能最迅速地开展出满足应的最高性能的嵌入式微处理器。
  4)嵌入式微处理器必须功耗很低,尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此,如需要功耗只有mW甚至μW级。

 

Linux作为嵌入式操作系统的优势:

  1)低成本开发系统

Linux的源代码开放性允许任何人获取并修改Linux的源代码。这样一方面降低了开发的成本,另一方面又可以提高开发产品的效率,并且还可以再Linux社区获得支持。用户只需向邮件列表发一封邮件,即可获得作者的支持。

    2)可应用于多种硬件平台

Linux可支持X86、PowerPC、ARM、XSCALE、MIPS、SH、68K、Alpha、SPARC等多种体系结构,并且已经移植到多种硬件平台。这对于经费、时间受限制的研究与开发项目是很有吸引力的。Linux采用一个统一的框架对硬件进行管理,同时从一个硬件平台到另一个硬件平台的改动与上层应用无关。

    3)可定制的内核

Linux具有独特的内核模块机制,它可以根据用户的需要,实时地将某些模块插入到内核中或者从内核中移走,并能根据嵌入式设备的个性需要量体裁衣。经过裁剪的Linux内核最小可达到150KB以下,并能根据嵌入式领域中资源受限的情况。

    4)性能优异

Linux系统内核精简、高效和稳定,能够充分发挥硬件的功能,因此比其他操作系统的运行效率更高。在个人计算机上使用Linux,可以将它作为工作站。它也非常适合在嵌入式领域中应用,对比其他操作系统,它占用的资源更少,运行更稳定,速度更快。

    5)良好的网络支持

Linux是首先实现TCP/IP协议栈的操作系统,它的内核结构在网络方面是非常完整的,并提供了对包括十兆位、百兆位及千兆位的以太网,还有无线网络、Token Ring(令牌环)和光纤甚至卫星的支持,这对现在依赖于网络的嵌入式设备来说无疑是很好的选择。

 
 
文件系统、分区和挂载

文件系统是指操作系统中与管理文件有关的软件和数据。Linux的文件系统和Window中的文件系统有很大区别。
 
window:文件系统是以驱动器的盘符为基础的,而且每一个目录与相应的分区对如应,如E:\workplace是指此文件在E盘这个分区下。目录结构属于分区。
 
Linux:文件系统是一个文件树,并且它的所有文件和外设都是以文件(一切皆文件)的形式挂载在这个文件树上,如/usr/local。分区属于目录结构。
 
 
主分区、扩展分区和逻辑分区
 
硬盘分区是针对一个硬盘进行操作的,它可以分为主分区、扩展分区、逻辑分区。
 
主分区就是包含操作系统启动所必需的文件和数据的硬盘分区。要在硬盘上安装操作系统,则该硬盘必须要有一个主分区,而且其主分区的数量可以是1~3个;
扩展分区就是除主分区外的分区,它不能直接使用,必须将其划分为若干个逻辑分区才能使用,其数量可以有0或1个;
逻辑分区则在数量上没有限制。
 
SWAP交换分区
 
在硬件条件有限的情况下,为了运行大型的程序,Linux在硬盘上划出一个区域,当做临时的内存,Windows操作系统把这个区域叫做虚拟内存,而Linux把它叫做交换分区SWAP。
 
分区格式
 
不同的操作系统选择了不同的格式,同一操作系统也可能支持多种格式。windows就选择了FAT32、NTFS两种格式,但是windows不支持Linux上常用的分区格式。Linux是一个开放的操作系统,它最初使用Ext2格式,后来使用Ext3格式,但它同时支持非常多的分区格式,包括很多大型机上UNIX使用的XFS格式,也包括微软公司的FAT及NTFS格式。
 
GRUB
 
GRUB是一种引导装入器(类似于bootloader),它负责装入内核并引导Linux系统,位于硬盘的起始部分。
 
Root权限
 
Linux也是一个多用户系统(类似于Windows XP),不同的用户和用户组会有不同的权限,其中把具有超级权限的用户成为root用户。root的默认主目录在/root下,而其他普通用户的目录则在/home下。root的权限极高,它甚至可以修改Linux的内核。
 
 
文件类型及文件属性(Linux中一切皆文件!)
 
 
1)普通文件
普通文件是用户日常使用最多的文件,包括文本文件、shell脚本、二进制的可执行文件和各种类型的数据。
 
2)目录文件
在Linux中目录也是文件,它们包含文件名和目录名及指向那些文件和目录的指针。目录文件是Linux中存储文件名的唯一地方,当把文件和目录相对应起来时,也就是用指针将其链接起来之后,就构成了目录文件。因此在对目录文件进行操作时一般不涉及对文件内容的操作,而只是对目录名和看文件名的对应关系进行操作。
 
在Linux系统中每个文件都被赋予一个唯一的数值,而这个数值被称作索引节点。索引节点存储在一个称作索引节点表(Inode Table)中,该表在磁盘格式化时被分配。每个实际的磁盘或分区都有其自己的索引节点表。一个索引节点包含文件的所有信息,包括磁盘上数据的地址和文件类型。
 
Linux文件系统把索引节点号1赋给根目录,这就是Linux的根目录文件在磁盘上的地址。根目录文件包含文件名、目录名及他们各自的索引节点号的列表,Linux可以通过查找从根目录开始的一个目录链来找到系统中的任何文件。
 
Linux通过上下链接目录文件系统来实现对整个文件系统的操作,例如,把文件从一个磁盘目录移到另一个磁盘的目录时(实际上是通过读取索引节点来检测),这时原来文件的磁盘索引号删除,从而在新磁盘上建立相应的索引节点。
 
3)链接文件
链接文件类似于Windows中的快捷方式,但是它的功能更为强大。它可以实现对不同的目录、文件系统甚至是不同的机器上的文件直接访问,并且不必重新占用磁盘空间。
 
4)设备文件
Linux把设备都当做文件一样来进行操作,这样就大大方便了用户的使用。在Linux下,与设备相关的文件一般都在/dev目录下,包括两种:字符设备文件和块设备文件。
字符设备主要是指串行端口的接口设备。
块设备文件是指数据的读/写设备,它们是以块(如由柱面和扇区编址的块)为单位的设备,最简单的如硬盘(/dev/hda1)等。
 
 文件属性
 
- rwx rwx rwx
 首先Linux中文件拥有者可以把文件的访问属性设成3种不同的访问权限:可读(r)、可写(w)、可执行(x)。文件又有3个不同的用户级别:文件拥有者(u)、所属用户组(g)和系统中的其他用户(o)
 
 
 第一个字符显示文件的类型如下:
- 普通文件
d 目录文件
l 链接文件
b 块设备文件
s 套接字文件
c 字符设备文件
p 命令管道文件
 
第一个字符之后有3个三位字符组:
第一个三位字符组表示文件拥有者(u)对该文件的权限
第二个三位字符组表示文件用户组(g)对该文件的权限
第三个三位字符组表示系统其他用户(o)对该文件的权限
若该用户组对此没有权限,则显示"-"字符
 
 
文件系统类型
 
Ext2和Ext3
Ext3是现在Linux常见的默认文件系统,它是Ext2的升级版本。从Ext2转换到Ext3主要有四个理由:可用性、数据完整性、速度及易于转化。Ext3中采用了日志式的管理机制,它使文件系统具有很强的快速恢复能力,并且由于从Ext2转换到Ext3无须进行格式化,因此更加推进了Ext3文件系统的推广。
 
SWAP文件系统
该文件系统是Linux中作为交换分区使用的。在安装Linux时,交换分区是必须建立的,并且它所采用的文件系统类型必须是SWAP而没有其他选择。
 
VFAT文件系统
Linux中把DOS中采用的FAT文件系统(包括FAT12、FAT16、FAT32)都称为VFAT文件系统。
 
NFS文件系统
NFS文件系统是指网络文件系统,它可以很方便地在局域网内实现文件共享,并且使多台主机共享同一主机上的文件系统。而且NFS文件系统访问速度快、稳定性高,已经得到了广泛的应用,尤其是在嵌入式领域。使用NFS文件系统可以很多方便地实现文件本地修改,从而免去了一次次读/写Flash的忧虑。
 
ISO 9660文件系统
这是光盘所使用的文件系统,在Linux中对光盘已有了很好的支持,它不仅可以提供对光盘的读/写,还可以实现对光盘的刻录。
 
 
Linux目录结构

    可以把Linux系统看作由四部分构成:内核、用户界面、文件结构和实用工具

 

         /bin 普通用户的可执行文件,系统的任何用户都可以执行该目录中的命令

         /boot 存放Linux操作系统启动时所需要的文件

         /dev 系统中所有设备文件

         /etc 系统中的配置文件

         /home 普通用户的宿主目录,每个用户在该目下都有一个于用户名同名的目录。

         /mnt 中的子目录用于系统中可移动设备的挂载点

         /root 超级用户root的宿主目录

         /sbin 系统中的管理命令,普通用户不能执行

         /tmp 系统的临时目录

         /usr  系统应用程序的相关文件

         /var 系统中经常变化的文件如日志文件和用户邮件

                   /

               /   \

                /     \

             etc    home

             /       /

            /       /

         profile   xiaoming

         /            \

   配置系统          .bash_profile

   环境变量          配置用户的环境变量

环境变量:配置.bashrc文件可以指定某些程序在用户登录的时候就自动启动

     系统环境变量设置:在root目录下  Vi .bash_profile

         修改PATH=$PATH:$HOME/bin :/安装目录/bin

         需要退出(quit),重新登陆

 当希望临时加入某个环境变量:用export PATH =$PATH : $HOME /bin:/root/test/t1

已定义好的环境变量:

         SHELL:默认的shell

         PATH:路径

         USER:当前登录用户的用户名

显示变量内容:echo $PATH

               echo $USER

               echo $SHELL

也可以使用env命令显示环境变量

通配符:

         * 代表多个字母或数字

         ?    一个

别名:

         命令:alias显示系统当前定义的所有alias

         alias cp ='cp-i'

         alias ll='ls -l --color = tty'

linux 基本命令

重启

   shutdown - h now   立刻关机

         shutdown - r now   重启

         reboot             重启

文件查看和连接命令

           cat   cat [选项] <file1> …

more                  显示文件内容,带分页

           less              显示文件内容,带分页

             grep             在文本中查询指定内容

|        管道命令[把上一个命令的结果给|后的命令处理]

         grep   "shunping" aaa.java

         grep -n ......         显示行数 

         grep -n "shunping" aaa.java > kkk.bak 重定向命令

        

         ls -l > a.txt           列表的内容写入文件 a.txt(覆盖写)

         ls -l >> a.txt     追加写到文件的末尾

        

         find的使用:

                   在特定目录下搜索并显示指定名称的文件和目录,搜索一段时间内被存     取/变        更的文件或目录。

         find /home -amin -10  十分钟内存取的文件和目录

         find /home -atime -10 十小时

         find /home -cmin -10 十分钟内更改过的

         find /home -size +10k  大小为10k的

 将目前目录及其子目录下所有延伸档名是 c 的档案列出来。

  # find . -name "*.c"

  将目前目录其其下子目录中所有一般档案列出

  # find . -ftype f

  将目前目录及其子目录下所有最近 20 分钟内更新过的档案列出

  # find . -ctime -20

命令的操作

more  more [选项]  <file>…分屏显示命令

less   less [选项] <filename> 按页显示命令

clear  清除屏幕命令

history            查看历史命令记录

目录相关命令

cd ..              可进入上一层目录

cd -                进入上一个进入的目录

cd ~                   可进入用户的home目录

pwd                显示当前在哪个路径

ls                 列出文件和目录

ls -a              显示隐藏文件

ls -l              显示常列表格式

mkdir                    建立目录

rmdir              删除空目录

touch              建立空文件

文件权限、用户组

文件操作

      cp                        复制命令   将档案 aaa 复制(已存在),并命名为 bbb:

  cp aaa bbb

  将所有的C语言程式拷贝至 Finished 子目录中:

  cp *.c Finished

         cp -r dir1 dir2    递归复制(复制子目录信息)

         mv               移动文件和改文件 将档案 aaa 更名为 bbb:

  mv aaa bbb

  将所有的C语言程式移至 Finished 子目录中:  mv -i *.c

         rm                 删除文件和目录

         rm -rf *      删除所有内容(包括目录和文件)

如何修改文件的访问权限

                   chmod 777 along

范例 :将档案 file1.txt 设为所有人皆可读取:

  chmod ugo+r file1.txt

  将档案 file1.txt 设为所有人皆可读取:

  chmod a+r file1.txt

  将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入:

  chmod ug+w,o-w file1.txt file2.txt

 

  将 ex1.py 设定为只有该档案拥有者可以执行:

  chmod u+x ex1.py

  将目前目录下的所有档案与子目录皆设为任何人可读取:

  chmod -R a+r *

用户组操作

         su-                切换成系统管理员

         su                用户之间的切换

         logout             用户注销

         useradd  xiaoming  添加用户(root下)

         passwd   xiaoming  设置xiaoming的密码

         userdel  xiaoming  删除用户

         userdel -r xiaoming删除用户及其主目录

每个用户必须属于某一个组,不能独立于组外。

         每个文件有所有者、所在组、其它组的概念

         *1,所有者:一般指创建者

            用ls -ahl 命令可以查看文件的所有者

            用chown 用户名 文件名 来修改文件的所有者

         *2,文件所在组 ----用户所在的组

            ls -ahl  可以看见文件的所有组

            chgrp 组名 文件名 修改文件所在组

         *3,其它组---除开文件的所有者和所在组的用户外,

             系统其他用户都是文件的其他组

         添加组 ---groupadd policeman

         查看Linux中所有组 : vi /etc/group 查看该文件或cat /etc/group | more

         创建用户并指定将该用户分配到哪个组

         useradd -g 组名 用户名

         查看Linux中所有用户信息:vi /etc/passwd 或者cat /etc/passwd

         文件权限:-----分为三种:r-可读,用四表示

          |   |     |               w-可写,用2表示

         -|rw-|r--|r--            x-可执行,用1表示

          |   |     |

         上图中由右向左:

                   第1部分:其它组的用户对该文件的权限

                   第2部分:文件所在组对该文件的权限

                   第3部分:文件的所有者对该文件的权限

                   第4部分:文件类型 ---普通文件(-),目录(d),链接(l)

-d <dirName>:指定用户主目录,默认情况下,将会在/home目录下新建一个与用户名相同的用户主目录

删除用户的命令为userdel,该命令的格式为:userdel <用户名>

修改用户属性

usermod –g<主组名> -G <组名> -d <用户主目录> -s <用户shell>

在添加用户时,可以指定将该用户添加到哪个组中,同样的用root的管理权限可以改变     某个用户所在的组:usermod -g 组名 用户名

         可以用 usermod -d 目录名 用户名 改变该用户登录的初始目录 

增加用户组

           groupadd <新组名>

删除用户组

      groupdel <组名>

修改组成员:直接编辑/etc/group文件,将用户名写到对应的组名的后面

whoami命令的功能在于显示用户自身的用户名。

who [选项]:该命令主要用于查看当前在线的用户情况

w命令 :用于显示登录到系统的用户情况

finger命令可用于查找和显示用户信息,并且在查找后显示指定账号的相关信息

chfn命令能够改变系统存储的用户信息

 切换用户身份:su [用户名]

帮助命令

man  <command>     info <command>   help [command]

vi 编辑命令

vi有三种基本工作模式,分别是:命令模式(command mode)、插入模式(insert mode)和底行模式(last line mode) 

进入vi:

命令“vi 文件名”

命令“vi”,在退出vi时再指定文件名

选项“+n”,表示希望在进入vi之后,光标处于文件中第n行上,

选项“+”表示希望在进入vi之后光标处于文件最末行。

保存文件:

1.在命令模式下,连按两次大写字母<Z>。

2.在末行模式下:

 :w   vi保存当前编辑的文件,但并不退出vi,而是继续等待用户输入命令。 :w <newfile>

 :w! <newfile>  把当前文件的内容保存到指定的文件newfile中,如果newfile已经存在,则覆盖原有内容。

在末行模式下,有四种方法可以退出vi返回到shell:

 :q   系统退出vi返回到shell。在用此命令时,若编辑的文件没有被保存,则vi在窗口的最末行给出提示信息。

 :q!  vi放弃所作修改而直接退到shell下。

 :wq         先保存文件,然后再退出vi返回到shell。

 :x    该命令的功能与命令模式下的ZZ命令功能相同

0(数字0) 移到当前行的行首

$  移到当前行的行尾

设备硬盘操作

挂载设备

查看设备:使用命令“fdisk –l”可以查看系统的存储设备

挂载设备 :首先使用mkdir命令建立挂载点目录,然后再使用mount命令挂载相关设备

mkfs [选项][-t <文件系统类型>] [设备名称] [区块数]

说明:把指定的设备格式为指定的文件系统。

         查看磁盘使用情况

            df [-参数] 比如, df-l

         查看某个目录是在哪个分区

             df [目录全路径]

         查看Linux系统分区具体情况

             fdish -l

网络配置

配置网络接口可以使用三种不同的工具来完成:

使用网络接口配置程序netconfig

使用图形配置工具

使用终端命令ifconfig

监控网络状态信息:

                   显示网络统计信息的命令netstat

                   此命令用来显示整个系统目前的网络情况。例如目前的连接、数据包传递数据         、或路由表的内容。如 netstat -an      netstat -anp|more (查看网络端口的使用的情况)

         显示数据包经过历程命令:traceroute

         route 查看路由表

**********************************************

         1.追踪路由 :tracert 目标ip/域名

         2.测试两个ip是否畅通:ping 目标IP

         3.window下查看IP情况:ipconfig

         4.Linux/unix下查看IP情况:ifconfig

         5.linux 网络环境配置:

         第一种:

                   (1) 用root身份登陆,运行setup命令进入到text mode setup utility

                   对网络进行配置,这里可以进行ip、子网掩码、默认网管、dns的设置

                   (2) 这时网卡的配置没有立即生效,运行

                   /etc/rc.d/init.d/network restart命令我们刚才作的配置生效。

         第二种:

                   (1)ifconfig eth0 x.x.x.x对网卡进行设置

                   (2)infconfig eth0 network x.x.x.x对子网掩码设置

                   对广播地址和dns使用默认的

                   注意:这样配置网络会立即生效,但是是临时生效

         第三种:

                   (1) 修改/etc/sysconfig/network-scripts/ifcfg-eth0

                   这个文件的各个属性可以修改,包括ip,子网掩码、广播地址、默认网关

                   (2)这是网卡的配置没有生效

                   运行/etc/rc.d/init.d/network restart 命令我们刚才做的设置才生效

                   Linux中的所有设备都是文件,这种方法是最底层的方法,永久性修改

         VMware下Linux和window ping

                   (1) windows下ipconfig查看VM网卡IP

                   (2) 配置Linux的IP使两者处于同一个子网的 即可以ping通

ifconfig <设备名> <IP地址> netmask <掩码>

例如:

ifconfig eth0 192.168.15.11 netmask 255.255.255.0

在网络配置界面中,通过“激活”或者“解除”按钮可以启动或者禁用网络接口,

网络控制程序network

/etc/rc.d/init.d/network  start|stop|restart

命令ifconfig :

ifconfig <设备名> [up|down]

命令ifup/ifdown

ifup eth0

ifdown eth0

 

配置文件名

功能

/etc/sysconfig/network

最基本的网络信息,系统启动时读取该文件

/etc/sysconfig/network-scripts/*

此目录下的文件是系统启动时用来初始化网络的一些信息,例如:第一块以太网卡对应的文件为ifcfg-eth0

/etc/host.conf

域名解析的控制文件

/etc/hosts

域名或主机名与IP地址的映射文件

/etc/resolv.conf

域名服务器设置文件

/etc/protocols

定义使用的网络互联协议及协议号

/etc/services

设定主机的不同端口的网络服务

安装软件:

获取最新版本的Apache源代码

将源代码解压缩

./configure –- prefix=/home/myapache

执行编译命令:make

执行安装命令:make install 

账号和用户管理

用户和组的配置信息保存在以下三个文件中:

/etc/passwd

/etc/shadow

/etc/etc/group

更改文件所有者命令chown

         chown [选项] user[:group] <file>...

更改文件访问权限命令chmod

         chmod [选项] <mode> <file>...

        mode:[ugoa][[+-=][rwxX]...][,…],

         mode也可以用数字来表示权限:

        chmod abc file

a,b,c各为一个数字,分别表示User、Group、及Other的权限。权限是关于可读(r)、可写(w)、可执行(r)三个属性设置值的和,其中r=4,w=2,x=1,

例如:

若要rwx属性,则4+2+1=7;

若要rw-属性,则4+2=6;

若要r-x属性,则4+1=7

进程管理

Linux操作系统包括三种不同类型的进程,每种进程都有自己的特点和属性:

交互进程:由shell启动的进程。

批处理进程:这种进程和终端没有联系,是一个进程序列。

守护进程:在后台持续运行的进程。

前台启动:一般地,用户键入一个命令,就已经启动了一个前台的进程。

后台启动 :对于非常耗时进程,可以然进程在后台运行。从后台启动进程其实就是在命令结尾加上一个“&”号

每个进程,都会对应一个父进程,而这个父进程可以复制多个子进程

         每个进程都可能以两种方式存在:后台或前台

         进程就是正在执行的程序

         显示系统执行的进程:ps命令,可以不加任何参数

                   1. ps -a :显示当前终端的所有进程信息

                   2:ps -u :以用户的格式显示进程信息

                   3. ps -x :显示后台进程运行的参数

                   ps -aux

         终止进程:kill/killall

         终止某个进程:kill 进程号  如:kill 6251

         kill -q 5222 :因为某些进程会捕捉某些信息,如果直接不能结束进程,可以使用“          -q”传送信息

         动态监控进程:top

         top和ps类似,top在执行一段时间可以更新正在进行的进程

                   1.监视特定用户

                   top:输入此命令,按回车键,查看执行的进程

                   u:然后输入“u” 回车,在输入用户名即可

                   2.终止指定的进程

                   top:

                   k: 输入k回车,再输入要结束的进程ID

                   3.top -d 10 :指定系统更新进程的时间为10秒

                   按小q退出

任务调度命令

         任务调度指系统在某个时间执行的特定的命令和程序

         任务调度分类:

         1.系统工作:有些重要的工作必须周而复始的执行,如病毒扫描.....

         2.个别用户工作:个别用户可能希望执行某些程序

         置任务调度文件:/etc/crontab

         设置个人任务调度:执行crontab -e命令

                   接着输入任务到调度文件

                   如:5**** ls -l /etc/ > /tmp/to.txt

         意思是说每小时的第五分钟执行ls -l /etc/ > /tmp/to.txt

         任务调度的使用:

         1.设置任务 crontab -e

         2.每隔一定时间去执行 data > /home/mydata1

         希望每天凌晨2:00执行 date >> /home/mydate

                   02*** date >> /home/mydate

         调度文件的规则:

         字段名称                      说明              范围

         分钟                   每小时第几分钟          0~59

         小时                   每日的第几个小时     0~23

         日期                   每月的第几天              1~31

         日历                  每年的第几个月          1~12

         星期                   每周的第几天              0~6

         3.怎么样调度多个任务?

         a.在crontab -e 中直接写

         b.可以把所有的任务写入一个可执行文件(shell编程)

         例子: vi mytask.sh

                   date >> /home/mydate

                   cp /home/mydate /root

                   chmod 744 mytask.sh

                   crontab -e

                   ***** /root/mytask.sh

         终止任务调度:     crontab -r :终止任务调度

                            crontab -l :列出当前有哪些任务调度

at命令

在shell提示符下输入”at 时间”,然后按回车键。这时在下一行shell会等待用户继续输入要执行的命令。每一行输入一个命令,所有命令都输入完毕后按Ctrl+d键结束。

将各个命令写入shell脚本中,然后使用下面格式设置在指定时间执行shell脚本中的命令:

at 时间 –f脚本文件。

batch命令

crone命令在系统启动时由一个shell脚本自动启动,进入后台。

cron启动后搜索/var/spool/cron目录,寻找以/etc/passwd文件中的用户名命名的crontab文件,被找到的这种文件将载入内存。

如果没有crontab文件,就转入“休眠”状态,释放系统资源。

cron每分钟“醒”过来一次,查看当前是否有需要运行的命令。

如果发现某个用户设置了crontab文件,它将以该用户的身份去运行文件中指定的命令。命令执行结束后,任何输出都将作为邮件发送给crontab的所有者,或者/etc/crontab文件中MAILTO环境变量中指定的用户。

内存查看命令free

磁盘空间用量查看命令df

设置系统日期:

                   1.date命令。可以直接输入date 来查看系统时间

                   2.利用date命令来更改系统时间

                   date MMDDHHMCCYY.SS:指定月月日日时时分分年年年年.秒秒

                   3.查看日历:cal 3 2002  :查看2001年3月的日历

                   4.查看年历:cal 2008

软件安装

         1.linux JDK的安装

                   a.把**.iso 文件挂载在虚拟机上做好配置

                            mount /mnt/cdrom

                            unmount /mnt/cdrom

                   b.把安装文件拷贝到 /home

                            cp 文件 /home

                   c.cd /home

                   d.安装

                            ./**.bin

                   e.看看文件 /etc/profile[环境配置文件]

                   f.配置刚才自己安装的JDK

         2.eclipse

                   a.安装文件拷贝到 /home

                   b.安装

                            tar -zxvf **.tar.gz

                   c.启动eclipse[进入图形界面]

                            startx   ./eclipse

                   ./eclipse & 后台方式运行

shell

         作为命令语言互动式地解释和执行用户输入的命令只是shell功能的一个方面

另外shell还可以进行程序设计,他提供了定义变量和参数的手段以及丰富的程序控制结构。使用shell类似于DOS中的批处理文件称为shell script

         shell有很多,常用的有3种:/bin/sh  /bin/csh   /bin/ksh

查看shell种类 :ls -l /bin/*sh

         1.查看目前使用的是哪种shell

         env [该命令可以显示当前操作系统的环境变量]

         2.shell的修改:

         直接输入:chsh -s 输入新的shell 如:/bin/csh

RPM管理

         介绍:一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成     具有.RPM扩展名的文件。

         RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写

         RPM包的名称格式:apache-1.3.23-11.i386.rpm

         **RPM 常用命令

         rpm -qa:查询所安装的所有rpm软件包

                   rpm -qa | more

                   rpm -pa | grep x

         rpm -q 软件包名 (查询软件包是否安装)

                   rpm -q foo

         rpm -qi 软件包名:查询软件包信息

                   rpm -ql file

         rpm -ql 软件包名 :查询软件包中的文件

                   rpm -ql file

         rpm -qf文件全路径名:查询文件所属的软件包

                   rpm -qf /etc/passwd

         rpm -qp包文件名:查询包的信息、对这个软件包的介绍

                   rpm -qp jdk-1-5_linux -i586.rpm

         安装rpm包:

                   rpm -i RPM包路径名称:安装包到当前系统

                   i = install

                   rpm -ivh RPM包全路径名称:安装包到当前系统有提示信息

                   参数说明:i = install 安装

                              v = verbase 提示

                              h = hash 进度条

         删除rpm包:rpm -e jdk

                  如果其它软件包依赖于您要卸载的软件包,卸载时则会产生错误的信息

             如果忽略这个错误信息继续卸载,使用 --nodeps命令行选项

         升级rpm包:

                   rpm -u RPM包全路径包

posted @ 2012-12-28 17:40  雪中飞  阅读(3120)  评论(3编辑  收藏  举报