admin管理员组

文章数量:1559117

1 linux

1.1 linux概述

1.1.1 linux介绍

linux是一套免费使用和自由传播的类unix操作系统,是一个基于posix和unix的多用户、多任务、支持多线程和多cpu的操作系统。它能运行主要的unix工具软件、应用程序和网络协议。它支持32位和64位硬件。linux继承了unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。linux存在着许多不同的linux版本,但它们都使用了linux内核。linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。

严格来讲,linux这个词本身只表示linux内核,但实际上人们已经习惯了用linux来形容整个基于linux内核,并且使用gnu工程各种工具和数据库的操作系统。

1.1.2 linux发展史

  1. 1965 年,bell 实验室、mit、ge(通用电气公司)准备开发 multics 系统,为了同时支持 300 个终端访问主机,但是 1969 年失败了;
    (刚开始并没有鼠标、键盘,输入设备只有卡片机,因此如果要测试某个程序,则需要将读卡纸插入卡片机,如果有错误,还需要重新来过; multics:multiplexed information and computing service)
  2. 1969 年,ken thompson(b语言之父)利用汇编语言开发了 file server system(unics,即 unix 的原型)(因为汇编语言对于硬件的依赖性,因此只能针对特定硬件; 只是为了移植一款"太空旅游"的游戏;)
  3. 1973 年,dennis ritchie 和 ken thompson 发明了 c 语言,而后写出了 unix 的内核(将 b 语言改成 c 语言,由此产生了 c 语言之父; 90% 的代码是 c 语言写的,10% 的代码用汇编写的,因此移植时只要修改那 10% 的代码即可;)
  4. 1977 年,berkeley 大学的 bill joy 针对他的机器修改 unix 源码,称为bsd(berkeley software distribution)
  5. 1979 年,unix 发布 system v,用于个人计算机;1984 年,因为 unix 规定:“不能对学生提供源码”,tanenbaum 老师自己编写兼容于 unix 的minix,用于教学;
  6. 1984 年,stallman 开始 gnu(gnu’s not unix)项目,创办 fsf(free software foundation)基金会;(产品:gcc、emacs、ba shell、glibc; 倡导"自由软件"; gnu 的软件缺乏一个开放的平台运行,只能在 unix 上运行; 自由软件指用户可以对软件做任何修改,甚至再发行,但是始终要挂着 gpl 的j9九游会老哥俱乐部交流区的版权; 自由软件是可以卖的,但是不能只卖软件,而是卖服务、手册等;)
  7. 1985 年,为了避免 gnu 开发的自由软件被其他人用作专利软件,因此创建 gpl(general public license)j9九游会老哥俱乐部交流区的版权声明;1988 年,mit 为了开发 gui,成立了 xfree86 的组织;1991 年,芬兰赫尔辛基大学的研究生 linus torvalds 基于 gcc、bash 开发了针对 386 机器的 linux 内核;
  8. 1994 年,torvalds 发布 linux-v1.0;1996 年,torvalds 发布 linux-v2.0,确定了 linux 的吉祥物:企鹅;

1.1.3 linux系统层级结构

1.1.4 linux特点

  1. 系统开源并且免费
  2. 对硬件要求很低 800m 3-4
  3. 系统稳定性强
  4. 系统安全性更好 (军工企业 断网)

1.1.5 linux系统主流产品

1.2 linux命令

说明: linux全部都是基于文件的. 并且linux中的目录都是树形结构

1.2.1 cd命令集

ifconfig/ip addr 检查ip地址
pwd 检查当前的位置
tab键 自动补齐(注意唯一性)
cd命令是linux中最基本的命令语句,必须熟练掌握
cd / 返回根目录
cd \~ 用户主目录
cd . 当前目录
cd ..返回到上一级目录
cd /usr/ 进入到usr目录
cd -- 返回上一个目录
cd 直接回家

1.2.2 ls目录和文件

ls --l 详细格式,文件权限,时间
ll 和ls --l作用相同
ls \*.txt 查看所有的txt类型文档

1.2.3 目录操作

mkdir 创建目录

mkdir a 创建 a目录
mkdir -p a/b 创建 a目录,并在a目录里创建b目录
mkdir -m 777 c 创建一个权限为777的c目录
rmdir 删除目录(如果目录里有文件,则不能用此命令)

1.2.4 vi/vim创建/查看/编辑文件

命令行:esc切换到命令行模式。
编辑模式:
按i,在光标前开始编辑
按a,在光标后开始编辑
按o,在当前行的下一行开始编辑
按u, 撤销之前的操作
底行模式:按 shift :冒号。
:q! 不保存退出
:wq 保存退出
:/world 从当前光标处,向上查找world关键字
:?world 从当前光标处,向后查找world关键字

1.2.5 删除文件

rm 删除文件

rm n.txt 提示y删除n放弃
rm -f n.txt 不提示
rm -rf dirname 不提示递归删除目录下所以内容
rm -rf \* 删除所有文件
rm -rf \* 删除所有子目录所有和文件

1.2.6 复制和移动文件

cp复制文件

cp nginx.conf n.txt
cp -r tomcat1 tomcat2                \#复制整个目录
mv 修改文件名,移动文件
mv n.txt m.txt 修改文件名称

1.2.7 浏览文件

cat 输出文件所有的内容
more 输出文档所有的内容,分页输出,空格浏览下一屏,q退出
less 用法和more相同,只是通过pgup、pgon键来控制
tail 用于显示文件后几号,使用频繁

tail -10 nginx.conf 查看nginx.conf的最后10行
tail -f nginx.conf 动态查看日志,方便查看日志新增的信息 **(常用)**

ctrl c 结束查看

1.2.8 打包命令

tar命令位于/bin目录下,它能够将用户所指定的文件或目录打包成一个文件,但不做压缩。一般linux上常用的压缩方式是选用tar将许多文件打包成一个文件,再以gzip压缩命令压缩成name.tar.gz的文件。
-c 创建一个新的tar文件
-v 显示运行过程的信息
-f 指定文件名
-z 调用gzip压缩命令进行压缩
-t 查看压缩文件的内容
-x 解开tar文件

tar -cvf n.tar ./\* 压缩当前目录下的所有文件和目录,文件名为n.tar
tar -xvf n.tar 解压压缩包中的文件到当前目录(如果长时间未解压成功 ctrlc推出)
tar -cvzf m.tar.gz ./\* 压缩文件
tar -zxvf m.tar.gz 解压m.tar文件到当前目录

1.2.9 grep命令

grep root /etc/passwd 在文件中查找关键字root
grep root /etc/passwd ---color         高亮显示
grep root /etc/passwd --a5 --b5         高亮显示,a后5行,b前5行
grep -n root /etc/passwd 查找并显示行数
grep -v root /etc/passwd 取反,查出不含root的数据

1.2.10 linux管道符 “|”

如果需要对linux命令的输出结果进行再次处理,就可以使用管道符 管道命令解决。
例如通过ps命令可以查看系统中的进程,但如果需要查看指定进程,就需要在ps命令返回的结果中进行筛选,如查看java进程:

ps -aux |grep java
ps -ef |grep nginx

-a : 显示现行终端机下的所有进程,包括其他用户的进程;
-u :以用户为主的进程状态 ;
-x :通常与 a 这个参数一起使用,可列出较完整信息。

1.3 虚拟机安装和使用

1.3.1 虚拟机介绍

虚拟系统通过生成现有操作系统的全新虚拟镜像,它具有真实windows系统完全一样的功能,进入虚拟系统后,所有操作都是在这个全新的独立的虚拟系统里面进行,可以独立安装运行软件,保存数据,拥有自己的独立桌面,不会对真正的系统产生任何影响 ,而且具有能够在现有系统与虚拟镜像之间灵活切换的一类操作系统。虚拟系统和传统的虚拟机(parallels desktop ,vmware,virtualbox,virtual pc)不同在于:虚拟系统不会降低电脑的性能,启动虚拟系统不需要像启动windows系统那样耗费时间,运行程序更加方便快捷;虚拟系统只能模拟和现有操作系统相同的环境,而虚拟机则可以模拟出其他种类的操作系统;而且虚拟机需要模拟底层的硬件指令,所以在应用程序运行速度上比虚拟系统慢得多。

1.3.2 运行虚拟机镜像

将虚拟机镜像解压到本地磁盘中(不要有中文和空格),之后双击运行.vmx文件.

1.3.3 虚拟机配置


内存:一般最大为真实内存的3/4, 一般为512m-1g
硬盘:一般默认20g
如果上述的设置一旦确定,则直接向操作系统割裂对应数据的资源.
网络模式:桥接模式/nat模式

1.4 网络模式

1.4.1 桥接模式

相当于将虚拟机直接接入局域网中,这时会独占ip地址.可以与本机通过局域网通信.
**特点:**所有的在局域网中的ip都可以访问虚拟机.
**依赖:**如果设置桥接模式,则必须有物理设备的支持.

1.4.2 nat模式

相当于在网络环境中会开辟一块全新的网络空间.只有主机能够访问.
特点:nat模式只有主机访问,其他人通过ip地址禁止访问.

1.5 虚拟机快照

当我们需要在linux系统中安装某些易发生错误的软件时(例如mariadb数据库), 为了保证系统不会被破坏, 可以在安装之前给虚拟机拍摄一个快照, 来记录当前虚拟机版本, 如若安装发生错误, 导致linux操作系统无法正常使用, 我们可以回退到之前的版本, 重新安装, 例如:

1.6 linuxip划分和链接

1.6.1 ip划分

本机ip:192.168.126.1
虚拟机ip:192.168.126.180
说明:以上的ip地址表示在同一个网络空间内.如果前三项不一致,则按照以下方式修改.

1.6.2 测试虚拟机与物理机是否可以ping通

  1. 查看物理机 ip 地址
  2. 查看虚拟机ip地址分配

    注意: 若在linux系统中没有显示如上图所示ip地址, 则可执行如下操作, 重置网卡信息
service networkmanager stop 
chkconfig  networkmanager  off    永久关闭 manager网卡
service  network restart		  重启network网卡
  1. 在物理机上ping通虚拟机

1.7 mobaxterm

1.7.1 mobaxterm介绍

说明:mobaxterm是远程连接linux系统的工具.可以进行文件传输.命令的编辑等一列的操作.和操作真实的linux系统一致.
下载地址:

https://mobaxterm.mobatek.net/download.html

远程连接

注意选择远程主机ip(及linux主机地址): 192.168.126.129


1.8 linux系统安装jdk

1.8.1 上传jdk安装包

说明:将jdk安装包上传到指定文件目录下 /usr/local/src 下

1.8.2 解压jdk文件

命令:

tar -xvf jdk-7u51-linux-x64.tar.gz

1.8.3 配置环境变量

说明:修改linux系统中环境变量需要修改/etc/profile文件
命令:

vim /etc/profile

在配置文件末尾输入如下代码

# 配置java环境变量
java_home=**/usr/local/src/java/jdk1.7.0_51**
java_bin=/usr/local/src/java/jdk1.7.0_51/bin
path=\$java_home/bin:\$path
classpath=.:\$java_home/lib/dt.jar:\$java_home/lib/tools.jar
export java_home java_bin path classpath


环境变量生效:

source /etc/profile

检测jdk是否生效

命令:java -version

本文标签: 虚拟机