Linux(一)

 

1.Linux 简介

1.1Linux  的概述

1.2Linux  的发展史

Linux 操作系统的诞生、发展和成长过程始终依赖着五个重要支柱:UNIX操作系统、MINIX 操作系统、GNU 计划、POSIX 标准和 Internet 网络。

1991 年,GNU 计划已经开发出了许多工具软件,最受期盼的 GNU C 编译器已经出现,GNU 的操作系统核心 HURD 一直处于实验阶段,没有任何可用性,实质上也没能开发出完整的 GNU 操作系统,但是 GNU 奠定了 Linux 用户基础和开发环境。

1991 年初,林纳斯·托瓦兹开始在一台 386sx 兼容微机上学习 minix 操作系统。1991 年 4 月,林纳斯·托瓦兹开始酝酿并着手编制自己的操作系统。1991 年4 月 13 日发布说自己已经成功地将 bash 移植到了 minix 上,而且已经爱不释手、不能离开这个 shell 软件了。

1991年的10月5日,林纳斯·托瓦兹在comp.os.minix新闻组上发布消息,正式向外宣布 Linux 内核的诞生(Freeminix-like kernel sources for 386-AT)。

1993 年,大约有 100 余名程序员参与了 Linux 内核代码编写/修改工作,其中核心组由 5 人组成,此时 Linux 0.99 的代码大约有十万行,用户大约有 10万左右。

1994 年 3 月,Linux1.0 发布,代码量 17 万行,当时是按照完全自由免费的协议发布,随后正式采用 GPL 协议。

1995 年 1 月,Bob Young 创办了 RedHat(小红帽),以 GNU/Linux 为核心,集成了 400 多个源代码开放的程序模块,搞出了一种冠以品牌的 Linux,即RedHat Linux,称为 Linux"发行版",在市场上出售。这在经营模式上是一种创举。

1996 年 6 月,Linux 2.0 内核发布,此内核有大约 40 万行代码,并可以支持多个处理器。此时的 Linux 已经进入了实用阶段,全球大约有 350 万人使用。

1998 年 2 月,以 Eric Raymond 为首的一批年轻的"老牛羚骨干分子"终于认识到 GNU/Linux 体系的产业化道路的本质,并非是什么自由哲学,而是市场竞争的驱动,创办了"Open Source Intiative"(开放源代码促进会)"复兴"的大旗,在互联网世界里展开了一场历史性的 Linux 产业化运动。

2001 年 1 月,Linux 2.4 发布,它进一步地提升了 SMP 系统的扩展性,同时它也集成了很多用于支持桌面系统的特性:USB,PC 卡(PCMCIA)的支持,内置的即插即用,等等功能。

2003 年 12 月,Linux 2.6 版内核发布,相对于 2.4 版内核 2.6 在对系统的支持都有很大的变化。

 

1.3 Linux  的 主要特征

 

1.3.1  基本思想

     Linux 的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说 Linux 是基于 Unix 的,很大程度上也是因为这两者的基本思想十分相近。

 

1.3.2  完全免费

Linux 是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的操作系统所做不到的。正是由于这一点,来自全世界的无数程序员参与了 Linux 的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变,这让 Linux 吸收了无数程序员的精华,不断壮大。

 

1.3.3  多用户、多任务

Linux 支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现在电脑最主要的一个特点,Linux 可以使多个程序同时并独立地运行。

 

1.3.4  支持多种平台

Linux 可以运行在多种硬件平台上,如具有 x86、680x0、SPARC、Alpha等处理器的平台。此外 Linux 还是一种嵌入式操作系统,可以运行在掌上电脑、机顶盒或游戏机上。2001 年 1 月份发布的 Linux 2.4 版内核已经能够完全支持Intel 64 位芯片架构。同时 Linux 也支持多处理器技术。多个处理器同时工作,使系统性能大大提高。

1.4 Linux  分类

 

1.4.1根据原生程度

 

Linux 系统根据其原生程度不同分为,内核版本和发行版本。

1)内核版本:在 Linus 领导下的内核小组开发维护的系统内核的版本号

2)发行版本:一些组织或公司在内核版基础上进行二次开发而重新发行的版

 

 1.4.2根据发行版本分支来划分

Linux 的发行版本众多,一些组织或公司为许多不同的目的而制作, 包括对 不同计算机结构的支持, 对一个具体区域或语言的本地化,实时应用,和嵌入式 系统,甚至许多版本故意地只加入免费软件。已经有超过三百个发行版被积极的 开发,最普遍被使用的发行版有大约十二个。

在这些发行版中主要可以分为两个系列:Redhat 系列和 Debian 系列。

 

2.Linux 的安装

 

2.1虚拟机的安装

    Linux 是操作系统,它和我们使用的 windows 系统一样需要安装在一台电 脑上进行使用,我们可以在一台真实的物理主机上安装 Linux 并进行使用,但是 我们在学习时可以使用一种虚拟机软件,在我们现有的电脑上模拟一台虚拟的计 算机,来方便地进行 Linux 的安装和学习。

目前市面上比较常见的虚拟机软件有两种:一种是 VMware(威睿)公司的 虚拟机软件(VMware workstation),功能强大,收费产品,另一种是 Oracle 公司的虚拟机软件(VitrualBox),免费商品。

由于市场上 VMware 使用率很高,所以我们安装 VMware workstation, 具体的安装步骤和流程参照《VMware-workstation 安装手册》。

安装虚拟机之前没有虚拟网卡:

安装完成之后出现了两个虚拟网卡

当计算机重启之后,请在上课之前将两张虚拟网卡禁用,当广播之后再启用。否则无法收到广播。

 

2.2虚拟机的克隆

把虚拟机关机。

在虚拟机名称上右键:

稍等克隆完成。

每一个网卡应该有mac地址,克隆出来的虚拟机的网卡的mac地址和原来的虚拟机的网卡的mac地址是一致的,所以理论上不能同时启动。   所以一般都是将克隆出来的虚拟机的mac重新生成。

修改MAC地址:

记住生成的mac地址:00:50:56:39:55:23

启动虚拟机,在虚拟机中修改网络配置:

编辑网络配置:

按 I  键修改IP地址 和 mac地址:   mac地址就是刚刚生成新的mac地址。

Esc   :wq  保存退出

修改网卡:

新生成的网卡是eth1

网络配置中使用的是eth0。

 

解决方案:

1  直接删除 70-xxxx-net.rules   ,  重启虚拟机。

2  将eth0 注释, 把eth1修改为eth0

重启网卡:service network restart

 

2.3使用连接工具连接linux

实际工作中都是使用远程的工具连接linux。

我们使用SSH

安装:傻瓜式安装。

创建连接:

输入账号和地址:

输入密码:

连接成功:

 

解决连接工具中文乱码问题

连接linux

输入命令:

编辑文件: 按I 键 ,删除原来的内容,加入如下内容:

LANG="zh_CN.GB18030"

LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"

SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"

SYSFONT="lat0-sun16"

Esc :wq 保存退出  重新连接

2.4linxu系统结构

CentOS 安装完成后,我们可以发现 CentOS 的文件目录结构如下,我们需 要对 CentOS 的各个目录有一些了解。

/: 根目录

/bin: 可执行二进制文件的目录,如常用的命令 ls、tar、mv、cat 等。

/boot: 放置 linux 系统启动时用到的一些文件。

/dev: 存放 linux 系统下的设备文件

/etc: 系统配置文件存放的目录

/home: 系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下,~ 表示当前用户的家目录

/lib: 系统使用的函数库的目录

/opt: 给主机额外安装软件所摆放的目录

/root: 系统管理员 root 的家目录

/tmp: 一般用户或正在执行的程序临时存放文件的目录

/usr: 应用程序存放目录

/var: 放置系统执行过程中经常变化的文件

 

3.Linux 的基本命令

      Linux 系统安装完成,但是我们没有安装图形界面程序,所以只能通过命令 的方式进行操作和使用,在实际生产环境中,也很少会为 Linux 安装图形界面程 序。Linux 的命令很多,不能一一讲解,我们将从以下几个方面来进行学习。

3.1 目录的切换命令

      在图形化界面的操作系统中,文件目录的切换可以使用鼠标点击来进行选择 和切换,但是在 Linux 操作系统中,需要通过 cd 命令来进行切换

pwd 查看当前路径

cd usr 切换到该目录下 usr 目录

cd ../ 切换到上一层目录

cd / 切换到系统根目录

cd ~ 切换到用户主目录

cd - 切换到上一个所在目录

​​​​​​​

3.2目录的操作命令

 

3.2.1创建目录

创建目录使用 mkdir 命令,语法:mkdir 文件名称

 

案例:在根目录下创建test目录

​​​​​​​3.2.2 查看目录

查看目录使用 ls [-a|-l]命令,语法:ls 路径

Ls后的参数  -a 查看所有的,-l查看详情列表  如果什么参数都没有表示罗列文件和目录。

案例:

 

命令  ls –l 也可以直接通过 ll表示

案例:

​​​​​​​3.2.3 修改或移动目录

修改目录使用 mv 命令,语法:mv 目录名称 新目录名称。

其实MV是移动一个文件(剪贴一个文件)

案例:

修改名称:

移动一个目录到其他目录。

​​​​​​​ 3.2.4拷贝目录

要拷贝一个目录需要使用 cp 命令,语法:cp -r 目录名称 拷贝的目标位置。

 -r 参数表示将目录下的所有的子目录和文件全部拷贝

案例:

3.2.5删除目录

删除目录使用 rm 命令,删除目录时需要加上-r 参数,语法:rm [-rf] 目录 名称。

删除根目录下的 /igeektest

案例:

删除目录必须有参数 –r

在删除目录时,会不断的询问目录中的文件和子目录是否删除。

添加参数f 就不会再询问

3.3文件的操作命令

3.3.1文件的创建

文件的创建可以使用 touch 命令,语法:touch 文件名。

案例:

 

​​​​​​​3.3.2 文件的查看

在 Linux 系统中查看文件可以使用 cat,more,less.tail 命令。

案例:

S1:使用 cat 查看 etc 下的 sudo.conf 文件

通过以上的实例发现 cat 命令默认是现实文件的最后一屏的内容。

S2:使用 more 查看/etc/sudo.conf 文件,,可以显示百分比,回车可以 向下一行, 空格可以向下一页,q 可以退出查看。

S3: 使用less查看/etc/sudo.conf文件,可以使用键盘上的PgUp和PgDn 向上和向下翻页,q 结束查看。

S4: 使用 tail -10 查看/etc/sudo.conf 文件的后 10 行。

S5: 使用 tail –f 实时监控文件的变化

比如查看日志文件。

​​​​​​​3.3.3 文件内容的修改

     在 Linux 操作系统中药修改文件的内容,可以使用系统自带的 vi 编辑器,也 可以安装其他的文本编辑工具,这里我们使用最基本的 vi 编辑器进行文件内容 的编辑。

Vi 编辑器的详细使用参照《vi 使用方法手册》,我们演示其基本的操作。

S1: 使用vi打开/usr/local/test/igeek文件

刚刚打开时文件处于不能编辑的状态。

S2:打开文件之后 按 I 键表示开始编辑文件

S3:esc :wq 保存退出文件

Wq一定要小写

在文件没有修改的情况下 esc :q 直接退出编辑

一旦做了修改:  :q  就出现问题:

 esc   :q!  不保存退出。

 

3.4压缩和解压缩文件的操作

3.4.1打包并压缩文件

Linux 中的打包文件一般是以.tar 结尾的,压缩的命令一般是以.gz 结尾的。

而一般情况下打包和压缩是一起进行的,打包并压缩后的文件的后缀名一 般.tar.gz。

进行文件的打包压缩使用命令 tar,该命令可以添加的参数有一下几个:

z:调用 gzip 压缩命令进行压缩

c:打包文件

v:显示运行过程

f:指定文件名

将test目录下的 a.txt  b.java   c.html 文件进行打包压缩

​​​​​​​3.4.2 解压缩文件

解压缩文件依然使用 tar 命令,只是不再进行打包,而是进行解压操作,语 法:tar –xvf 压缩文件名称

将igeek.tar.gz文件解压

​​​​​​​3.5 Linux 的权限命令

权限是 Linux 中的重要概念,每个文件/目录等都具有权限,通过 ls –l(ll) 命令我们可以查看某个目录下的文件或目录的权限。

第一列的信息就是文件对应的权限,其意义如下。

文件类型: d表示文件夹   -表示文件   l表示文件。

除过文件类型,后面的 9 位分为 3 组,每 3 位置一组,分别代表属主的权限,与当前用户同 组的用户的权限,其他用户的权限。

权限类型: r 可读  w表示可写  x表示可执行

r可以使用4代替,w可以使用2代替,x可以使用1代替

任意一组的权限可以使用1~7 数字表示

例如: 

  1. 只有执行权限
  2. 只有写入权限
  3. 可写,可执行
  4. 只有可读权限
  5. 可读,可执行
  6. 可写,可读
  7. 可写,可读,可执行

修改文件/目录的权限的命令:chmod 命令

案例:

u=属主权限,g=属组全选,o=其他用户权限

可以使用数字分配权限:

 

可以给某个组增加权限: 给当前用户增加可执行权限

3.6 Linux 的其他命令

3.6.1 查看网络信息

在 Linux 中要查看网络信息,可以使用 ifconfig 命令。

3.6.2 搜索命令

在 Linux 中要进行搜索操作可以使用 grep 命令来完成,语法:grep 要搜 索的字符串 要搜索的文件。

搜索/usr/sudu.conf 文件中包含字符串 to 的行

如果需要加上颜色标记,可以添加--color 参数。

3.6.3 查看进程命令

查看系统进程使用 ps –ef 命令。

查看当前系统中运行的进程信息

3.6.4 管道命令

管道命令可以将前一个命令的输出作为本次目录的输入来使用。

查看当前系统中所有的进程中包括 dev 字符串的进程

​​​​​​​3.6.5 杀死进程

在 Linux 中要杀死进程可以通过进程号来杀死进程,语法:kill [-9] 进程号

参数 -9 表示立即执行。  没有参数表示正常退出(有可能会失败)。

如果要根据进程的名称杀掉进程,可以使用 pkill -9 进程名称

 

​​​​​​​3.6.6  清屏命令

使用clear清理屏幕。

 

3.6.7 小技巧

可以使用上下键查找已经执行过的命令。

可以table键提示。

 

4.Linux 中软件的安装

 

4.1 JDK 的安装

     CentOS 中 JDK 的安装方式有很多种,这里我们使用已经下载的 jdk 来进行 安装。我们安装的版本为:jdk-7u71-linux-x64.tar.gz。

要进行软件的安装首先需要上传软件包

可以使用连接工具上传文件

可以将windows下的文件直接拖拽到linux目录中。

我们使用 lrzsz 工具来进行上传。

需要我们的机器首先已经安装了该工具,如果没有安装,可以使用 yum 源来进 行安装,命令为 yum install lrzsz。

 

安装完成之后可以使用 rz 命令来上传文件,我们将文件上传到/usr/local 目录下,所以先切换到该目录下。

将jdk的安装文件上传到 /opt目录下:

解压文件

解压完成后需要配置 Java 的环境变量,我们需要修改/etc/profile 文件,添 加 JAVA_HOME 变量,同时在 path 中加上 Java 的配置。

在该文件的最后添加如下配置:

其中的JAVA_HOME一定要配置自己的路径。

/etc/profile文件需要重新加载才能生效。

使用source 执行此文件

如果发现如下问题:

是因为操作系统缺少 glibc

解决方案:

使用 yum install glibc.i686 在线安装

 

安装完成之后

重启系统

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值